构建更好的支持DevOps的云

发布于:2021-01-31 00:00:17

0

82

0

DevOps

随着利用云技术的应用程序数量的增长,让DevOps团队将每个环境作为荒野西部项目来构建会更加昂贵。答案是实现标准化堆栈级操作的云架构。在本文中提供了一些有关构建更好的DevOps云的技巧。

没有办法解决。构建DevOps云非常复杂。首先,一个典型的云部署可以包含30多个产品组件,这些组件需要集成才能平稳运行。任何时候,对其中一种产品的更新都可能破坏依赖其他组件的流程。

由于团队需要确保开发,测试和生产环境之间的一致性,因此DevOps加剧了复杂性。当企业只有一个项目时,可以在团队中拥有专门的DevOps团队来处理这些环境。但是,随着利用云技术的应用程序数量的增长,让DevOps团队将每个环境都构建为荒野的西部项目非常昂贵。

答案是实现标准化堆栈级操作的云架构。有效实施的堆栈是所有组件的参考体系结构,是创建生产环境副本所需的自动化。这种“全栈”实质上类似于曾经被认为是企业的圣杯的配置管理数据库(CMDB)。

通过对服务或应用程序的完整堆栈进行元描述,可以为开发,测试和生产部署相同的副本,并在整个应用程序中自动化DevOps。复制堆栈的能力消除了例如为安全合规性或灾难恢复部署多个测试环境或堆栈的多个副本的障碍。

堆栈是了解您如何构建和运行软件的重要概念。如果出现问题,还可以查看正在运行的内容,部署的方式以及可能的问题,从而有助于系统地纠正问题并将修补程序部署到所有需要的副本。此外,通过开发堆栈概念,您可以跟踪整个组织中的应用程序以及相关的工具,开发实践,云计算实践和漏洞,从而为企业云开发的成熟度提供了关键的一步。

DevOps云架构将至少包含两个主要堆栈:核心基础架构堆栈和DevOps堆栈。这些堆栈越来越多地运行在容器中,这些容器通过能够快速启动应用程序的能力提供了更大的敏捷性,并且通过操作系统级虚拟化提供了更具成本效益的资源使用。

核心基础架构堆栈通过确保安全性,可靠性和可伸缩性的服务来支持服务或应用程序。它包括可由公共云平台或私有云处理的云基础架构,例如网络和存储,以及特定于容器的功能,例如由Docker Swarm或Kubernetes提供的具有编排的Docker运行时。

下一步是处理性能和管理的层,包括网络,负载平衡,服务目录,日志管理,监视,备份和恢复以及漏洞扫描,这一系列不同的产品都支持这些层。

核心基础架构堆栈的顶部是一个应用程序层或堆栈,其中包括开发工具,例如Java Stack或Node.js Stack。更高级的应用程序堆栈将超越工具提供的蓝图,以提供从单片应用程序迁移到容器和微服务的蓝图。

DevOps堆栈支持连续集成/连续部署(CI / CD)。它跨多个基础架构堆栈运行,并编纂了工具,流程和过程,以测试和部署或回滚对基础架构堆栈的更改。它通常使用Chef或Terraform,Ansible,Puppet,Swarm,Helm和其他六种工具来合并DevOps指令。由于自动化测试至关重要,因此DevOps堆栈还应包括有助于开发,构建,集成,功能自动化测试的工具,例如WireMock,Selenium,使用Artillery进行性能测试以及使用Blackduck或Clair进行安全性测试。

此外,云平台内还有一些关键功能,这些功能可以跨开发,测试和生产堆栈扩展。其中包括安全性,堆栈模板目录,用于认证容器的注册表以及使用数据收集以将预测分析应用于性能和成本优化。

堆栈标准化使开发团队能够专注于构建新的应用程序和服务,而不用花费6到18个月的时间来实施云架构。同时,不同的组可能需要不同的功能,因此单栈适合所有方法是不切实际的。中等的目的是提供一组“认可的堆栈”或用于配置堆栈的门户,这将限制已预测试以确认它们可以一起工作的产品的选项。这样,您可以大大降低实施DevOps云的复杂性,同时提供一个敏捷平台来支持您的开发团队的创新。