云应用与基础设施管理全解析
在当今数字化的时代,企业的云应用和基础设施管理变得至关重要。有效的管理不仅能确保业务的顺利运行,还能提高效率、降低成本并保障数据安全。下面我们将详细探讨云应用与基础设施管理的各个领域。
1. 应用领域
应用领域涵盖了整个应用程序的生命周期和设计,包括应用内的任何组件。以下是应用领域的主要能力、关键角色和关键功能:
| 能力 | 关键角色 | 关键功能 |
| — | — | — |
| 生命周期管理 | 软件开发人员、工程管理、发布工程师、站点可靠性工程师、质量工程师、DevOps 工程师、软件架构师 | 定义生命周期步骤、映射角色和职责、工作项跟踪和规划、建立指标、质量门控、测试、应用组件构建和发布流程、应用监控和遥测、事件管理 |
| 应用设计 | 软件工程师、软件架构师、产品经理、业务运营利益相关者 | 需求和规范文档分析、应用组件集成、服务级别协议制定、创建技术设计概述 |
| 应用平台管理 | 站点可靠性工程师、软件工程师 | 组件遥测捕获、组件性能捕获、关键价值交易遥测捕获 |
| 产品容量管理 | 软件工程师、产品经理、软件架构师、站点可靠性工程师 | 分析用户人口普查、分析功能请求、分析和缓解性能瓶颈 |
| 容量规划 | 站点可靠性工程师、DevOps 工程师、软件工程师、软件架构师 | 根据使用趋势和性能监控数据预测容量、分析新老客户用户人口普查变化 |
下面是应用领域的主要流程 mermaid 流程图:
graph LR
A[生命周期管理] --> B[应用设计]
B --> C[应用平台管理]
C --> D[产品容量管理]
D --> E[容量规划]
2. 基础设施领域
基础设施领域涉及每个应用程序的基础以及整体平台体验,包括从设计到实施的所有方面。以下是基础设施领域的主要能力、关键角色和关键功能:
| 能力 | 关键角色 | 关键功能 |
| — | — | — |
| 应用基础设施设计 | DevOps 负责人、软件架构、站点可靠性工程师、云架构 | 组件选择、考虑组件使用的核心因素 |
| 应用基础设施管理 | 开发负责人、站点可靠性工程师、DevOps 工程师 | 组件修补、组件监控、创建资源供应工作流或策略 |
| 平台级修补 | IT 运营、云运营、站点可靠性工程师、DevOps 工程师 | 安排补丁获取和推出、应用或回滚补丁、选择修补提供商 |
| 平台容量管理和优化 | 云运营、云架构、企业架构、云项目管理、站点可靠性工程师、DevOps 工程师 | 确定每个业务部门的订阅和资源需求、规划和预测云资产增长、分析和整合资源池、确保 CIDR 块可用、必要时申请新的 CIDR 块 |
基础设施领域的主要流程 mermaid 流程图如下:
graph LR
F[应用基础设施设计] --> G[应用基础设施管理]
G --> H[平台级修补]
H --> I[平台容量管理和优化]
3. 技术领域
技术领域处理跨越应用程序、基础设施和团队的技术项目,包括平台工具、框架、平台选择、容量管理等。以下是技术领域的主要能力、关键角色和关键功能:
| 能力 | 关键角色 | 关键功能 |
| — | — | — |
| 平台工具 | 云架构、云运营、企业架构、平台推广 | 创建自定义产品或评估第三方产品以简化云运营 |
| 平台选择 | 云架构、企业架构 | 选择最适合公司需求的平台、记录与首选平台的偏差、向利益相关者推广首选平台 |
| 订阅分配 | 云运营 | 企业注册下的新订阅供应、供应基线要求 |
| 一线平台支持 | 云运营、Microsoft Premier 支持 | 故障排除网络功能、故障排除 ExpressRoute、集成供应商产品、处理平台组件故障 |
| 重大事件响应 | 公司通信、法律、合规、风险缓解 | 通知相关当局 |
| 平台设计 | 企业架构、云运营 | 平台组件用例、IaaS 用例、网络指导和标准 |
| DR 规划和执行 | DevOps 负责人、应用 SME | 制定灾难恢复计划、供应目标资源、模拟切换到备份资源 |
| 升级和补丁 | 站点可靠性工程师、软件工程师、发布工程师、DevOps 工程师 | 升级 JavaScript 框架、修补第三方 C# 库 |
| 角色和资源维护 | 工程管理 | 团队组织、需求管理 |
| 二线/三线平台支持 | 站点可靠性工程师、软件工程师、软件架构师 | 故障排除网络、服务、中间件或数据库故障、故障排除应用组件配置错误、故障排除代码相关错误、事件处理 |
| OS 供应 | 站点可靠性工程师、DevOps 工程师、软件工程师、软件架构师 | 供应版本化操作系统、应用所需补丁和设置、放置计算机对象、确定 OS 修补责任 |
| 环境支持 | 站点可靠性工程师、DevOps 工程师、发布工程师、质量保证工程师、软件工程师 | 供应新环境、故障排除构建或发布错误、故障排除环境性能问题、利用率管理 |
| 平台工程和交付 | 软件工程师、站点可靠性工程师、软件架构师、DevOps 工程师 | 评估组件以确定最佳功能选项、编排软件构建和部署 |
| 网络和 DNS 管理 | 云运营、站点可靠性工程师、DevOps 工程师 | 供应虚拟网络、供应网络安全组、供应 DNS 记录、供应 ExpressRoute 电路、建立虚拟网络对等 |
| 配置管理 | 云运营、站点可靠性工程师、DevOps 工程师、软件工程师 | 添加组件到批准的虚拟网络、对等私有 IP 范围到 ExpressRoute 电路、建立数据库连接字符串、安装 OS 级功能、使用配置即代码 |
| 一线生产支持 | 云运营、站点可靠性工程师、DevOps 工程师、软件工程师、IT 运营、数据库管理员 | 事件报告接收和分类、事件路由、利益相关者沟通、事件解决或升级 |
技术领域的主要流程 mermaid 流程图:
graph LR
J[平台工具] --> K[平台选择]
K --> L[订阅分配]
L --> M[一线平台支持]
M --> N[重大事件响应]
N --> O[平台设计]
O --> P[DR 规划和执行]
P --> Q[升级和补丁]
Q --> R[角色和资源维护]
R --> S[二线/三线平台支持]
S --> T[OS 供应]
T --> U[环境支持]
U --> V[平台工程和交付]
V --> W[网络和 DNS 管理]
W --> X[配置管理]
X --> Y[一线生产支持]
4. 数据领域
数据领域涉及与应用程序或平台数据及其相关持久存储的创建、维护、设计或调整。以下是数据领域的主要能力、关键角色和关键功能:
| 能力 | 关键角色 | 关键功能 |
| — | — | — |
| 数据库备份 | 站点可靠性工程师、发布工程师、数据库管理员 | 触发数据库备份操作、存储备份资产、定义和遵守保留策略 |
| 数据库恢复 | 站点可靠性工程师、发布工程师、数据库管理员 | 将数据库备份恢复到生产环境、将数据库备份恢复到非生产服务器 |
| 应用数据库供应 | 站点可靠性工程师、DevOps 工程师、数据库管理员 | 创建数据库、命名数据库、分配资源 |
| 应用数据库构建/更改/发布 | 站点可靠性工程师、DevOps 工程师、发布工程师、数据库管理员 | 创建、维护和发布迁移脚本、变更管理、变更测试和验证 |
| 应用数据库设计 | 软件工程师、软件架构师、站点可靠性工程师、数据库管理员 | 设计数据对象或实体、指定实体之间的关系、认证、授权和范围、架构设计 |
| 数据库维护和调整 | 软件工程师、软件架构师、站点可靠性工程师、数据库管理员 | 表索引、存储过程调整、视图调整、执行计划审查和调整、数据文件收缩 |
| 应用数据库监控 | 站点可靠性工程师、软件工程师、数据库管理员 | 设置性能阈值警报、收集查询和存储过程执行时间的遥测数据、确保数据库正常运行时间 |
数据领域的主要流程 mermaid 流程图:
graph LR
Z[数据库备份] --> AA[数据库恢复]
AA --> AB[应用数据库供应]
AB --> AC[应用数据库构建/更改/发布]
AC --> AD[应用数据库设计]
AD --> AE[数据库维护和调整]
AE --> AF[应用数据库监控]
5. 安全领域
安全领域包含旨在保护消费者和公司利益的能力,包括安全控制实施、策略管理和平台级标准设置。以下是安全领域的主要能力、关键角色和关键功能:
| 能力 | 关键角色 | 关键功能 |
| — | — | — |
| 安全控制实施和验证 | DevOps 工程师、站点可靠性工程师、软件工程师、工程管理 | 使用静态和传输加密、为管理员提供应用级授权、请求和实施服务账户和管理账户、遵守安全参考架构 |
| 安全运营 | 信息安全分析师、信息安全管理、企业架构、审计和合规 | 确定违规时的决策树和升级策略、定期审查公司安全要求 |
| 策略管理和监控 | 云架构、云运营、信息安全分析师 | 执行和审计企业云平台策略和标准 |
| 平台策略和标准 | 企业架构、云架构、审计和合规 | 起草、协作和发布云平台策略、确保策略符合法律和合规要求、确保标准符合行业和平台提供商的最佳实践 |
安全领域的主要流程 mermaid 流程图:
graph LR
AG[安全控制实施和验证] --> AH[安全运营]
AH --> AI[策略管理和监控]
AI --> AJ[平台策略和标准]
6. 运营自动化
在完成了对各种能力、角色和职责的详细梳理后,我们将注意力转向尽可能自动化运营和安全方面的问题。从 IT 运营的角度来看,确保一切顺利运行并在适当的成本控制范围内可能具有挑战性。不过,有一些关键的基础方面可以帮助运营团队更好地履行职责。
6.1 合规监控和执行
由于与安全团队进行了广泛的预设计会议,我们深知监控和执行安全控制的重要性。虽然这些控制涵盖了广泛的类别,但可以通过集中方式来管理和理解它们。市场上有提供此功能的工具,但获取和实施成本可能超出采购或管理层的预算。幸运的是,Azure 提供了一些实用工具,让我们可以根据需要进行灵活或严格的控制:
-
管理组
:在租户级别设置的组,可以将策略和设置级联到子组,子组可以包含一个或多个 Azure 订阅,嵌套级别上限为六级。
-
Azure 策略
:通过基于 JSON 的定义对象,策略允许我们定义单个策略和策略集(也称为计划),可以应用于管理组或订阅。它们足够灵活,可以监控行为(审计)或直接阻止行为(拒绝)。
这些工具与 EventGrid 订阅、活动日志警报和 Azure 自动化运行手册结合使用,可以成为合规工具包中的强大工具。在逻辑上组织不同的管理组时,可以将管理组与 Active Directory 中的组织单位进行类比。主租户下的特定嵌套组可用于限定权限和执行标准,同时也可以在嵌套组级别覆盖现有的租户级限制,提供了灵活性。
为了开始使用,我们可以使用 Azure CLI 创建公司的新主组:
az account management-group create -n gc-main --display-name Gamecorp
为主要应用程序团队创建子组的命令如下:
az account management-group create -n gc-cardstock --display-name Cardstock --parent-id /providers/Microsoft.Management/managementGroups/gc-main
az account management-group create -n gc-portal --display-name Portal --parent-id /providers/Microsoft.Management/managementGroups/gc-main
az account management-group create -n gc-gims --display-name GIMS --parent-id /providers/Microsoft.Management/managementGroups/gc-main
6.2 配置基线 Azure 策略
要开始结合管理组使用 Azure 策略,我们可以在 Azure 门户中探索策略区域。通过点击 Gamecorp 管理组,我们可以在管理组面板中看到策略菜单项。具体操作步骤如下:
1. 点击“Policies”以在管理组的上下文中打开 Azure 策略面板。
2. 点击“Definitions”开始浏览可用的(内置)策略和计划,会打开相应的面板。
3. 点击计划并点击“View definition”查看计划的内容,点击任何策略可以查看其定义。
4. 点击“Assign”将计划分配给 Gamecorp 管理组,由该主组管理的所有内容都将应用这些策略。会出现一个新对话框,允许我们设置一些值,我们可以输入新的分配名称和描述(可选),定价层会自动选择,确保我们能够比较结果并采取行动。必须设置的一项是“Scope”。
5. 点击蓝色省略号选择此策略的范围,如前所述,此分配将应用于 Gamecorp 管理组。选择该管理组,并确保订阅和资源组下拉列表为空,然后按下对话框底部的“Select”按钮继续。
通过以上对各个领域的详细介绍和运营自动化的实践,我们可以更全面地管理云应用和基础设施,提高效率、降低成本并保障安全。在实际应用中,我们可以根据公司的具体需求和情况,灵活运用这些方法和工具,不断优化管理流程。
云应用与基础设施管理全解析(下半部分)
7. 各领域协同与整体架构
前面我们分别探讨了应用、基础设施、技术、数据和安全这五个领域以及运营自动化的相关内容。在实际的云应用和基础设施管理中,这些领域并不是孤立存在的,而是相互关联、协同工作的。下面通过一个整体的 mermaid 流程图来展示它们之间的关系:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(应用领域):::process --> B(基础设施领域):::process
B --> C(技术领域):::process
C --> D(数据领域):::process
D --> E(安全领域):::process
E --> A
F(运营自动化):::process --> A
F --> B
F --> C
F --> D
F --> E
从这个流程图可以看出,应用领域的需求会驱动基础设施领域进行相应的设计和管理;基础设施的搭建和维护依赖于技术领域提供的工具和平台;数据领域为应用和基础设施提供数据支持和管理;安全领域则贯穿于整个流程,保障各个领域的安全运行。而运营自动化则是对各个领域的操作进行优化和简化,提高整体的管理效率。
8. 运营自动化的深入应用
运营自动化不仅仅局限于合规监控和执行,还可以在其他方面发挥重要作用。例如,在资源管理方面,可以通过自动化脚本定期检查资源的使用情况,根据预设的规则进行资源的分配和释放,避免资源的浪费。
以下是一个简单的 Python 脚本示例,用于检查 Azure 虚拟机的 CPU 使用率,并根据使用率进行相应的操作:
import azure.mgmt.compute
from azure.identity import DefaultAzureCredential
import time
# 初始化 Azure 认证
credential = DefaultAzureCredential()
compute_client = azure.mgmt.compute.ComputeManagementClient(credential, "your_subscription_id")
# 定义检查间隔(秒)
check_interval = 3600
while True:
# 获取所有虚拟机
vms = compute_client.virtual_machines.list_all()
for vm in vms:
# 这里省略了获取 CPU 使用率的具体代码,需要使用 Azure Monitor API
cpu_usage = get_cpu_usage(vm.name)
if cpu_usage > 80:
# 如果 CPU 使用率超过 80%,可以进行扩容操作
scale_up_vm(vm.name)
elif cpu_usage < 20:
# 如果 CPU 使用率低于 20%,可以进行缩容操作
scale_down_vm(vm.name)
time.sleep(check_interval)
在这个示例中,脚本会每隔一个小时检查一次所有虚拟机的 CPU 使用率,并根据使用率进行扩容或缩容操作。当然,实际应用中需要根据具体的业务需求和环境进行调整。
9. 安全与合规的持续改进
安全和合规是云应用和基础设施管理中至关重要的方面,需要持续进行改进和优化。以下是一些可以采取的措施:
- 定期安全审计 :定期对系统进行安全审计,检查是否存在安全漏洞和违规行为。可以使用自动化工具进行扫描,如 Azure Defender 等。
- 员工培训 :对员工进行安全意识培训,提高他们对安全风险的认识和应对能力。培训内容可以包括密码安全、数据保护、社交工程防范等。
- 策略更新 :随着业务的发展和法规的变化,及时更新安全策略和标准,确保系统始终符合最新的要求。
- 应急响应演练 :定期进行应急响应演练,检验应急响应团队的能力和预案的有效性。演练内容可以包括模拟网络攻击、数据泄露等事件。
10. 总结与展望
通过对云应用与基础设施管理的各个领域和运营自动化的详细介绍,我们可以看到,有效的管理需要综合考虑多个方面的因素,包括应用、基础设施、技术、数据和安全等。同时,运营自动化可以大大提高管理的效率和准确性,降低人为错误的风险。
在未来,随着云计算技术的不断发展和企业数字化转型的加速,云应用和基础设施管理将面临更多的挑战和机遇。例如,人工智能和机器学习技术可以应用于安全分析和预测,帮助企业提前发现和应对安全威胁;容器化和微服务架构的普及将改变应用的开发和部署方式,对基础设施管理提出新的要求。
企业需要不断学习和适应这些变化,持续优化管理流程和技术手段,以确保云应用和基础设施的稳定运行和安全可靠。同时,加强各个领域之间的协同和沟通,形成一个有机的整体,才能更好地应对未来的挑战。
总之,云应用与基础设施管理是一个复杂而又重要的领域,需要我们不断地探索和实践,才能实现企业的数字化转型和可持续发展。
以上就是关于云应用与基础设施管理的详细介绍,希望对大家有所帮助。在实际应用中,大家可以根据自己的需求和情况,灵活运用这些方法和工具,打造一个高效、安全的云环境。
超级会员免费看
4657

被折叠的 条评论
为什么被折叠?



