目录
一、生产力三要素
1. 生产力
2. IT 中的生产力
二、Devops 和 Jenkins
1. DevOps 模式定义(AWS官方定义)
2. DevOps 实践经验
2.1 持续集成
2.2 持续交付
2.3 微服务
2.4 基础设施即代码
2.5 监控和日志记录
2.6 沟通与合作
一、生产力三要素
1. 生产力
- 劳动力:一般意义,指工作人群,通常指在一家公司、各个产业乃至某个社会工作的人,多指体力劳动者,但通常不包括雇佣者(老板)和管理层。
- 劳动资料:也称劳动手段,是在劳动过程中所运用的物质资料或物质条件。
- 劳动对象:是指劳动本身所作用的客体,比如耕作的土地、纺织的棉花等。
2. IT 中的生产力
三要素 | 含义 | 提升 |
劳动力 | IT从业者 | 个人:能力提升 +公司: 注重员工培养 |
劳动资料 | 办公软件+硬件 | 提升办公效率的编程 软件+ 硬件 |
劳动对象 | 项目 |
二、Devops 和 Jenkins
Devops :能更快、更好地交付软件
Jenkins:一款使用Java语言开发的开源的自动化服务器
1. DevOps 模式定义(AWS官方定义)
DevOps 集文化理念、实践和工具于一身,可以提高组织高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,能够帮助组织更快地发展和改进产品。这种速度使组织能够更好地服务其客户,并在市场上更高效地参与竞争。
2. DevOps 实践经验
以下列举了一些 DevOps 最佳实践:
- 持续集成
- 持续交付
- 微服务
- 基础设施即代码
- 监控和日志记录
- 沟通与合作
2.1 持续集成
持续集成 是一种软件开发实践经验,采用持续集成时,开发人员会定期将他们的代码变更合并到一个中央存储库中,之后系统会自动运行构建和测试操作。持续集成的主要目标是更快发现并解决错误,提高软件质量,并缩短验证和发布新软件更新所需的时间。
- 详细了解持续集成 »
2.2 持续交付
持续交付 是一种软件开发实践。通过持续交付,系统可以自动构建和测试代码更改,并为将其发布到生产环境做好准备。持续交付可以在构建阶段后将所有代码变更都部署到测试环境和/或生产环境中,从而实现对持续集成的扩展。当持续交付得以正确实施时,开发人员将始终能够获得一个已通过标准化测试流程的部署就绪型构建工件。
- 详细了解持续交付和 AWS CodePipeline »
2.3 微服务
微服务架构 是一种将单个应用程序构建为一系列小服务的设计方法。其中每个服务均按各自的流程运行,并利用一种轻型机制(通常为基于 HTTP 的应用程序编程接口 (API))通过一个明确定义的接口与其他服务进行通信。微服务围绕着业务能力进行构建,每项服务均限定到单个目的。您可以使用不同的框架或编程语言来编写微服务,并将其作为单个服务或一组服务进行独立部署。
- 详细了解 Amazon Container Service (Amazon ECS) »
- 详细了解 AWS Lambda »
2.4 基础设施即代码
- 基础设施即代码
基础设施即代码 是一种实践经验,其中基础设施通过代码和软件部署技术(例如版本控制和持续集成)得以预置和管理。借助云的 API 驱动型模式,开发人员和系统管理员能够以编程方式与基础设施进行大规模互动,而无需手动设置和配置资源。因此,工程师可以使用基于代码的工具来连接基础设施,并且能够以处理应用程序代码的方式来处理基础设施。基础设施和服务器由代码进行定义,因此可以使用标准化模式进行快速部署、使用最新补丁和版本进行更新,或者以可重复的方式进行复制。
了解如何使用 AWS CloudFormation 来管理基础设施即代码 »
- 配置管理
开发人员和系统管理员使用代码将操作系统和主机配置、操作性任务等自动化。代码的使用实现了配置变更的可重复性和标准化。它将开发人员和系统管理员从手动配置操作系统、系统应用程序或服务器软件的任务中解放出来。
了解如何通过 Amazon EC2 Systems Manager 配置和管理 Amazon EC2 和本地系统 »
了解如何通过 AWS OpsWorks 使用配置管理 »
- 策略即代码
由于基础设施及其配置全都通过云进行代码编写,所以组织可以动态地大规模监控与实现合规性。因此,组织可以自动跟踪、验证和重新配置由代码描述的基础设施。这样一来,组织能够更加轻松地掌控资源变更,并确保安全措施以分布式方式得到妥善执行(例如,采用 PCI-DSS 或 HIPAA 确保信息安全性或合规性)。这使组织内部的团队能够更快速地运作,因为不合规的资源可能被自动标记为需要进一步调查,甚至被自动纠正为合规资源。
了解如何使用 AWS Config 和 Config Rules 来监控并实现基础设施的合规性 »
2.5 监控和日志记录
组织对各项指标和日志进行监控,以了解应用程序和基础设施性能如何影响其产品的最终用户体验。通过对应用程序和基础设施生成的数据进行采集、分类和分析,组织可以了解变更或更新如何影响用户,同时深入了解出现问题或意外变故的根本原因。由于服务必须全天候持续可用,而且应用程序和基础设施的更新频率不断提高,因此主动监控变得日益重要。此外,创建警报或对这些数据执行实时分析也能帮助组织更主动地监控其服务。
了解如何使用 Amazon CloudWatch 来监控基础设施指标和日志 »
了解如何使用 AWS CloudTrail 以日志方式记录 AWS API 调用 »
2.6 沟通与合作
增强组织内部的沟通与合作是 DevOps 文化的一个重要方面。DevOps 工具的使用和软件交付流程的自动化能够以物理方式将开发和运行的工作流程及职责结合起来,从而建立团队之间的相互协作。在此基础上,这些团队树立了强大的文化规范,提倡信息共享和通过聊天应用程序、问题或项目追踪系统以及 Wikis 来促进沟通。这有助于加快开发人员、运营团队甚至其他团队(如营销团队或销售团队)之间的沟通,从而使组织的各个部门围绕共同的目标和项目更紧密地结合在一起。