基于任何云托管服务构建的大规模和高弹性应用程序都需要自动验证、基础设施启动、开发和部署、质量保证和基础设施管理。传统的基础设施管理正在被为产品开发生命周期的所有阶段构建 CI/CD 管道所取代。
什么是开发运营?
DevOps是软件开发和运营的结合。这是公司在敏捷开发过程中吸收的一种文化。持续集成、持续交付和持续部署的新方法随着 DevOps 的兴起而出现,其重点是:
团队之间的沟通、协作和凝聚力
应用变更、配置和部署自动化的最佳实践
更快地交付解决方案
监控和规划高速产品更新
CI/CD 摆脱了手动门,实现了验收环境的全自动验证,以确定管道是否可以继续生产。
持续集成侧重于代码存储库中各个开发人员的软件开发周期。这可以在一天内多次执行,主要目的是尽早发现集成错误、更紧密的凝聚力和更多的开发协作。主要活动包括静态代码分析、单元测试和自动评审。
持续交付侧重于在测试、暂存或生产环境中的自动化代码部署,批准更新以实现自动化软件发布过程,抢先发现部署问题。
开发运营的优势
改进的协作、运营支持和更快的修复
提高灵活性、敏捷性和可靠性
基础设施安全和数据保护
更快的维护和升级
通过数字化战略实现项目转型
提高业务和 IT 团队的速度和生产力
AWS 提供了一组开发人员工具,可用于在完全安全、可扩展、可维护且易于与现有 CI/CD 工具(如 Ansible、Chef、puppet、Terraform 等)集成的情况下实现开发运营 CI/CD。
AWS 为虚拟机或基于容器的服务提供 CI/CD,以及用于管理(创建、更新和删除)所有其他服务(如数据库、存储、计算机、机器学习等)的选项。
安全支柱的核心是保护信息、系统和资产,同时满足业务需求。
适用于开发运营集成的 AWS 服务
AWS CloudFormation:提供为基础设施和服务准备模板的工具。模板可以用 JSON 和 YAML 编写,并且可以通过版本控制进行管理。这些模板可以在 Jenkins 或任何其他使用 AWSCLI 的 CI 服务器上执行。Terraform 为 AWS 资源管理器提供了具有丰富控件的选项,并通过状态管理进行了扩展。
AWS OpsWorks:通过与配置管理软件 (Chef) 集成和应用程序生命周期管理等附加功能,提供更高级别的自动化。
AWS CodePipeline: 持续交付和发布自动化服务,有助于顺利部署。设计用于签入代码、生成代码、将应用程序部署到暂存、测试应用程序以及将其发布到生产环境的开发工作流。
AWS CodeCommit: 托管专用 Git 存储库的安全、高度可缩放的托管源代码管理服务。
AWS CodeDeploy:功能使您能够在最短的停机时间内跨 Amazon E2C 队列部署应用程序,集中控制并与现有软件版本或持续交付流程集成。有第三方工具,如Claudia和Serverless,可以部署AWS lambda和elastic beanstalk。
AWS ElasticBeanstalk:支持自动化和许多其他 DevOps 最佳实践,包括自动化应用程序部署、监控、基础架构配置和版本管理。应用程序和基础架构更改可以轻松地后退和后滚。
亚马逊云服务器:高度可扩展且安全的容器服务,用于存储 docker 映像。
AWS XRay: 记录和跟踪所有服务之间的通信,并检测性能和应用程序权限中的问题。
亚马逊云科技配置:审计工具,用于监控现有 AWS 账户资源,并在基础设施发生任何更改时触发警报。
AWS CloudTrail:支持治理、合规性、运营审计和风险审计。
AWS CloudWatch:实时监控所有 AWS 资源和应用程序。为托管服务提供大量指标,以设计仪表板、警报和触发器。
如今,传统的功能领域正在瓦解,IT和开发人员角色合并并遵循一系列系统原则。
基础结构即代码:以开发人员处理所有最佳做法和测试的代码的方式对待基础结构。AWS 提供以开发运营为中心的创建和维护基础设施的方式。
持续部署:DevOps 策略的核心概念。其主要目标是实现生产就绪应用程序代码的自动部署。
自动化:专注于基础结构和应用程序的设置、配置、部署和支持
监控:沟通和协作是 DevOps 策略的基础。为了促进这一点,反馈至关重要。
安全性:关注安全性仍然至关重要。基础设施和公司资产需要得到保护,当出现问题时,需要迅速有效地解决这些问题。
为了使云软件解决方案之旅顺利、高效和有效,必须遵循 DevOps 原则和实践。DevOps 已成为当今技术世界中任何云解决方案不可或缺的一部分。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !