Ubuntu TechHive
introduction-to-azure-cloud.md
Azure 云计算简介
article.细节

Azure 云计算简介

reading.进展 4 分钟阅读数

Azure 云计算入门简介

Azure 云计算简介

什么是云计算 -

云计算是一种允许个人和组织通过互联网(“云”)按需使用计算资源(如服务器、存储、数据库、网络、软件)的技术。这消除了对物理硬件的需求,并降低了管理 IT 资源的成本和复杂性。

示例: 通过云计算,小型企业可以在云服务器上托管其网站。企业无需购买和维护物理服务器,只需为托管在云服务提供商基础设施上的服务器容量付费,且可以根据网站流量随时进行扩容或缩容。这样,企业只需为其实际需求付费,并能轻松应对需求的变化。

云服务模型

  • IaaS:基础设施即服务 (Infrastructure As A Service) IaaS 通过互联网提供虚拟化的计算资源。它按需提供基础的计算、存储和网络资源,并采用按量付费模式,让用户能够通过互联网即时配置和管理计算基础设施。 示例:Amazon Web Services (AWS) EC2 提供可扩展的虚拟服务器,用户可以在其中运行应用程序并管理操作系统、存储和网络流量。
  • PaaS:平台即服务 (Platform As A Service) PaaS 提供了一个平台,允许客户开发、运行和管理应用程序,而无需处理通常与此过程相关的构建和维护底层基础设施的复杂性。该服务模型旨在简化 Web 应用程序的开发和部署。 示例:Heroku 提供了一个平台,开发人员可以在其中部署、管理和扩展应用程序,而无需处理管理服务器、存储、网络和数据库的复杂性。 Azure CDN, App Services。
  • SaaS:软件即服务 (Software As A Service) SaaS 通过互联网以订阅方式提供软件应用程序。它允许用户通过互联网连接并使用基于云的应用程序,而无需担心安装、维护或编码问题。 示例:Google Workspace 提供了一套用于电子邮件、文档和日历的生产力软件,用户可以直接通过 Web 浏览器访问,无需在个人设备上安装软件。

责任共担模型

云计算中的责任共担模型明确界定了云服务提供商和客户在确保云环境安全与合规方面的义务。这种责任划分因不同的云服务模型(IaaS、PaaS、SaaS)而异,但基本原则保持不变:云服务提供商负责“云本身”的安全,而客户负责“云中”数据的安全。让我们针对数据、网络和应用程序来细分这些责任:

IaaS(基础设施即服务)

  • 云服务提供商的责任:

    • 基础设施安全: 数据中心的物理安全、网络基础设施(物理)安全,以及计算、存储和网络等基础服务。
    • 硬件维护: 确保物理服务器和网络设备正常运行且安全。
    • 虚拟化层安全: 保护虚拟机管理程序(Hypervisor)及虚拟机管理。
  • 客户的责任:

    • 数据安全: 对传输中和静态数据进行加密,管理数据访问控制,并实施数据完整性机制。
    • 操作系统和网络配置: 配置防火墙、管理 IP 地址,并确保操作系统安全补丁和更新。
    • 应用程序安全: 保护应用程序代码,管理应用级访问控制,并实施安全的应用程序开发实践。

PaaS(平台即服务)

  • 云服务提供商的责任: 包含 IaaS 下针对底层基础设施的所有责任。

    • 运行时环境安全: 保护平台的运行时环境,包括 Web 服务器、开发工具和操作系统。
    • 平台管理与安全: 管理和保护开发工具、数据库管理系统和商业分析服务。
  • 客户的责任:

    • 应用程序数据安全: 保护应用程序内的数据,包括实施加密和适当的访问控制。
    • 应用程序开发安全: 确保安全的编码实践、应用级防火墙配置以及安全的软件开发生命周期 (SDLC) 实践。

SaaS(软件即服务)

  • 云服务提供商的责任: 包含 PaaS 下针对平台和基础设施的所有责任。

    • 应用程序安全: 确保应用程序的安全,包括定期更新和补丁、安全软件开发以及应用级数据加密。
    • 用户访问管理: 提供用于应用程序内安全身份验证和授权的工具与控制措施。
  • 客户的责任:

    • 数据治理: 对 SaaS 应用程序处理和存储的数据进行分类,并定义数据处理策略。
    • 用户访问控制: 管理用户对应用程序的访问,包括密码策略和双重身份验证。
    • 数据加密(客户端): 在必要时实施额外的客户端数据加密措施。

理解责任共担模型对于客户确保其履行保护云中数据、应用程序和其他资产的职责至关重要。它强调,虽然云服务提供商提供了安全的设施和平台,但客户必须主动管理和保护自己的数据、应用程序和用户。

云服务提供商 -

根据《技术杂志》(Technology Magazine),排名前 10 的云服务提供商是:

  1. Amazon Web Services (AWS) - 34% 市场份额
  2. Microsoft Azure - 21% 市场份额
  3. Google Cloud Platform - 11% 市场份额
  4. Alibaba Cloud - 5% 市场份额
  5. IBM Cloud - 3% 市场份额
  6. Salesforce
  7. Oracle Cloud
  8. Tencent Cloud
  9. Huawei Cloud
  10. Dell Technologies

Azure 云 -

什么是 Azure

Azure 云,正式名称为 Microsoft Azure,是由微软创建的综合性云计算平台和基础设施。它提供广泛的云服务,包括计算、分析、存储和网络。用户可以从中选择所需服务,在公有云中开发和扩展新应用程序,或运行现有应用程序。

Microsoft Azure 在全球范围内的数据中心运行,允许用户在靠近其位置的地方部署应用程序和存储数据,以减少延迟并遵守当地法规。该平台支持多种编程语言、工具和框架,包括微软专有软件以及第三方软件和系统。

Azure 云的主要特点:

  • IaaS、PaaS 和 SaaS 产品: Azure 在基础设施 (IaaS)、平台 (PaaS) 和软件 (SaaS) 层提供解决方案,使企业能够部署从虚拟机到完整的云原生应用程序架构等一切内容。
  • 混合云能力: Azure 提供强大的混合云功能,允许本地数据中心与 Azure 云之间进行无缝集成,从而根据需要轻松地在云端和本地之间迁移工作负载。
  • 安全与合规: Azure 包含内置的安全服务,有助于保护数据、应用程序和基础设施免受潜在威胁。它还提供广泛的合规性覆盖,满足各种国际和行业特定标准。
  • 人工智能与机器学习: Azure 为 AI 和机器学习项目提供全面的工具和服务,使开发人员能够使用预构建的 AI 服务或自定义 ML 模型构建智能应用程序。
  • 开发人员工具: Azure 支持一系列开发人员工具和 DevOps 实践,允许持续集成和持续交付 (CI/CD)、应用程序监控和自动化管理。
  • 数据库服务: Azure 提供托管的 SQL 和 NoSQL 数据库服务,提供可扩展、高可用的数据库解决方案,无需手动管理和维护。

Azure 云结构

graph LR
    A[Azure Account] --> B[Subscription 1]
    A --> C[Subscription 2]
    B --> D[Resource Group 1]
    B --> E[Resource Group 2]
    C --> F[Resource Group 3]
    D --> G[Resource 1]
    D --> H[Resource 2]
    E --> I[Resource 3]
    F --> J[Resource 4]
    F --> K[Resource 5]

    style A fill:#f9f,stroke:#333,stroke-width:4px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px
    style D fill:#bdf,stroke:#333,stroke-width:2px
    style E fill:#bdf,stroke:#333,stroke-width:2px
    style F fill:#bdf,stroke:#333,stroke-width:2px
    style G fill:#dff,stroke:#333,stroke-width:2px
    style H fill:#dff,stroke:#333,stroke-width:2px
    style I fill:#dff,stroke:#333,stroke-width:2px
    style J fill:#dff,stroke:#333,stroke-width:2px
    style K fill:#dff,stroke:#333,stroke-width:2px
  • Azure 账户: 获得 Azure 服务访问权限并与一组订阅相关联的顶级实体。
  • 订阅: 用于 Azure 服务计费和管理的容器。一个账户可以拥有多个订阅,可用于有效管理成本和资源。
  • 资源组: 在订阅内对 Azure 资源进行分组的一种方式。每个资源组可以包含与特定项目或应用程序相关的资源,从而提供逻辑管理和组织方式。
  • 资源: 在资源组内部署和管理的单个服务实例,例如虚拟机、数据库或存储账户。

Azure 免费账户

  • 12 个月内免费访问 Azure 产品
  • 前 30 天可使用的信用额度

Azure 学生账户

  • 12 个月内免费访问 Azure 产品
  • 12 个月内可使用的信用额度

Azure 云服务 -

graph LR
    A[Azure Services] --> B[Compute]
    A --> C[Networking]
    A --> D[Security]
    A --> E[Storage]
    A --> F[Databases]
    A --> G[AI & Machine Learning]

    B --> B1[Azure Virtual Machines]
    B --> B2[Azure Kubernetes Service AKS]
    B --> B3[Azure Functions]
    B --> B4[Azure App Services]

    C --> C1[Virtual Network]
    C --> C2[Load Balancer]
    C --> C3[VPN Gateway]
    C --> C4[Azure DNS]

    D --> D1[Azure Active Directory]
    D --> D2[Azure Firewall]
    D --> D3[Security Center]
    D --> D4[Key Vault]

    E --> E1[Azure Blob Storage]
    E --> E2[Azure File Storage]
    E --> E3[Azure Queue Storage]
    E --> E4[Azure Disk Storage]

    F --> F1[Azure SQL Database]
    F --> F2[Azure Cosmos DB]
    F --> F3[Azure Database for MySQL]
    F --> F4[Azure Database for PostgreSQL]

    G --> G1[Azure Machine Learning]
    G --> G2[Azure Cognitive Services]
    G --> G3[Bot Services]
    G --> G4[Computer Vision]

    style A fill:#f9f,stroke:#333,stroke-width:4px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px
    style D fill:#bbf,stroke:#333,stroke-width:2px
    style E fill:#bbf,stroke:#333,stroke-width:2px
    style F fill:#bbf,stroke:#333,stroke-width:2px
    style G fill:#bbf,stroke:#333,stroke-width:2px

Azure 云演示 -

展示 Azure 及其所有服务
Azure 门户

Azure 演示 - 部署 Hugo 站点

什么是 Hugo

将 Hugo 站点部署到 Azure Static App

  1. 安装 Hugo
  2. 安装 git
  3. 创建 Hugo 站点
  4. 通过 Azure Static Apps 部署站点

演示
创建一个名为 my-static-app 的新站点

hugo new site my-static-app

进入名为 my-static-app 的新目录

cd my-static-app

使用 Git 初始化仓库

git init

将分支名称更改为 'main'

git branch -M main

添加一个名为 hugo-theme-cleanwhite 的新主题。查看 Hugo 站点了解更多详情

git submodule add https://github.com/zhaohuabing/hugo-theme-cleanwhite.git themes/hugo-theme-cleanwhite

启动 hugo 服务器

hugo server

在本地构建要部署的站点

hugo -t hugo-theme-cleanwhite

将创建一个名为 public 的新文件夹。 进入该新文件夹

cd public

添加并提交新创建的文件

git add .
git commit -m "initial commit"

前往 GitHub 并创建一个新仓库。链接获取说明。我将其命名为 myblog

将代码推送到新仓库。

git remote add origin https://github.com//myblog.git
git push -u origin main

现在您的应用程序代码已发送到 GitHub,我们需要创建一个 Azure 静态应用。导航到门户并按照说明操作。为了方便起见,下面列出了相同的说明。

部署您的 Web 应用

本指南将引导您完成创建新的静态站点应用并使用 Azure 将其部署到生产环境的步骤。

创建应用程序
  1. 转到 *Azure 门户*。
  2. 选择 *创建资源*。
  3. 搜索 *Static Web Apps*。
  4. 选择 *Static Web Apps*。
  5. 选择 *创建*。
  6. 基本信息 选项卡上,输入以下值:

    属性
    订阅 您的 Azure 订阅名称。
    资源组 `my-hugo-group`
    名称 `azizcloudeng`
    计划类型 免费
    Azure Functions API 和暂存环境的区域 选择离您最近的区域。
    GitHub
  7. 选择 使用 GitHub 登录 并通过 GitHub 进行身份验证。
  8. 输入以下 GitHub 值:

    属性
    组织 选择您想要的 GitHub 组织。
    存储库 `myblog`
    分支 main

> 注意: 如果您没有看到任何存储库,则可能需要在 GitHub 上授权 Azure Static Web Apps。浏览到您的 GitHub 存储库,转到 *设置 > 应用程序 > 已授权的 OAuth 应用程序*,选择 *Azure Static Web Apps*,然后选择 *授予*。对于组织存储库,您必须是该组织的所有者才能授予权限。

  1. 构建详细信息 部分,从 构建预设 下拉菜单中选择 Hugo 并保留默认值。
查看并创建
  1. 选择 查看 + 创建 以验证所有详细信息是否正确。
  2. 选择 创建 以开始创建应用服务静态 Web 应用并配置用于部署的 GitHub Actions。

部署完成后,选择 *转到资源*。

在资源屏幕上,选择 URL 链接以打开您部署的应用程序。您可能需要等待一两分钟,以便 GitHub Actions 完成。