azure 最佳实践-- 系统运维
系统运维方案
对应用程序进行设计,使运维团队拥有他们需要的工具,云已经大大影响了运维所扮演的角色。他们不再负责管理托管应用程序的硬件以及基础架构。然而,运维仍然在运行成功云应用程序中扮演着关键角色。运维团队的一些重要职能包括:
部署
监控
系统升级
对异常的响应
安全审计
完整的日志和跟踪追踪机制在云应用中尤为重要。需要运维团队参与设计,以确保应用程序为他们提供需要有帮助的数据和见解。
建议做法
使一切都是可监控的。一旦部署并运行解决方案,日志和跟踪就是对系统观测的主要途径。系统追踪记录有助于查明瓶颈,性能问题和故障点。这些记录捕获每次事件,如应用程序状态更改,错误和异常。要记录在生产环境,否则你在最需要的时候失去对其监控。
使用监控仪器。监控可以深入了解应用程序在可用性,性能以及系统运行状况等方面的表现。例如,监控会告诉你系统是否符合SLA。监控会在系统正常运行过程中进行。它应该尽可能接近于实时,以便运维能够快速对问题做出响应。理想情况下,监控能够帮助避免一切的严重错误。有关详细信息,请参阅监控和诊断。
根本原因分析。每次系统错误都需要找出本次错误发生的根本原因。
分布式跟踪机制。使用专为并发,异步和云设计的分布式跟踪系统。跟踪应包括用于关联服务的ID。单次操作可能涉及到多个服务的调用。如果操作失败,这个关联ID有助于找出故障发生的原因。
标准化日志。运维团队将需要从系统的各种服务收集日志并进行整合。如果每个服务都使用自己的日志记录格式,就很难甚至不可能获取到有用信息。可以定义一个包含相关ID,事件名称,sender IP地址等字段公共结构。每个服务可以继承于基础结构以包含更多字段。
自动化管理任务,包括配置,部署和监控。自动化任务并使其可重复,以避免人为操作错误。
将配置视为代码。将配置文件提交到代码版本控制系统中,以便跟踪其版本信息,并在需要时回滚。
对应用程序进行设计,使运维团队拥有他们需要的工具,云已经大大影响了运维所扮演的角色。他们不再负责管理托管应用程序的硬件以及基础架构。然而,运维仍然在运行成功云应用程序中扮演着关键角色。运维团队的一些重要职能包括:
部署
监控
系统升级
对异常的响应
安全审计
完整的日志和跟踪追踪机制在云应用中尤为重要。需要运维团队参与设计,以确保应用程序为他们提供需要有帮助的数据和见解。
建议做法
使一切都是可监控的。一旦部署并运行解决方案,日志和跟踪就是对系统观测的主要途径。系统追踪记录有助于查明瓶颈,性能问题和故障点。这些记录捕获每次事件,如应用程序状态更改,错误和异常。要记录在生产环境,否则你在最需要的时候失去对其监控。
使用监控仪器。监控可以深入了解应用程序在可用性,性能以及系统运行状况等方面的表现。例如,监控会告诉你系统是否符合SLA。监控会在系统正常运行过程中进行。它应该尽可能接近于实时,以便运维能够快速对问题做出响应。理想情况下,监控能够帮助避免一切的严重错误。有关详细信息,请参阅监控和诊断。
根本原因分析。每次系统错误都需要找出本次错误发生的根本原因。
分布式跟踪机制。使用专为并发,异步和云设计的分布式跟踪系统。跟踪应包括用于关联服务的ID。单次操作可能涉及到多个服务的调用。如果操作失败,这个关联ID有助于找出故障发生的原因。
标准化日志。运维团队将需要从系统的各种服务收集日志并进行整合。如果每个服务都使用自己的日志记录格式,就很难甚至不可能获取到有用信息。可以定义一个包含相关ID,事件名称,sender IP地址等字段公共结构。每个服务可以继承于基础结构以包含更多字段。
自动化管理任务,包括配置,部署和监控。自动化任务并使其可重复,以避免人为操作错误。
将配置视为代码。将配置文件提交到代码版本控制系统中,以便跟踪其版本信息,并在需要时回滚。