使用 GitOps 在无服务器时代构建现代 CI/CD 管道
本文是 Datree.io 首席技术官兼联合创始人、AWS 社区精英 Shimon Tolts 所写的一篇客座文章。他专门从事开发人员工具和基础设施研究,所经营的公司完全没有服务器。 近年来,软件构建和发布方式发生了重大转变。这些工作主要围绕微服务、将代码拆分成小组件、使用基础设施即代码,以及将 Git 用作粘合一切的单一事实来源展开。 在本文中,我们将讨论现代软件开发的转变过程和不同环节,以展示无服务器领域可行的解决方案。此外,我还列出了适用于当今时代的实用工具。 什么是无服务器? 在深入探讨无服务器开发和工具构建这一奇妙领域之前,我先介绍一下什么是无服务器。AWS 网站谈到了四大主要优势: 无需管理服务器。 可灵活扩展。 付出与价值成正比。 自动实现高可用性。 对我而言,无服务器是指无需自己管理和扩展的所有基础设施。 在我的公司 Datree.io ,95% 的工作负载是在 AWS Fargate 上运行的,而其余 5% 则在 AWS Lambda 上运行。我们是一家无服务器公司;我们的 AWS 账户中没有 Amazon EC2 实例。有关更多信息,请参阅以下内容: io 案例研究 在生产环境中迁移到 AWS ECS Fargate CON320: Operational Excellence w/ Containerized Workloads Using AWS Fargate (re:Invent 2018) 什么是 GitOps? Git 是 免费的开源 分布式版本控制系统,旨在快速高效地处理包括小型项目和超大型项目在内的所有内容。 CI/CD 顾问 Luis Faceira 认为,GitOps 是一种工作方式。您可以将其视为一种一切均以 Git 开始和结束的方法。以下是一些重要概念: Git 是系统的 单一 事实来源 Git 是我们操作(创建、更改和销毁)所有环境的 单一 场所 所有更改都是可观察/可验证的。 在云出现之前,您是如何构建软件的 回首瀑布式云前时代,大家曾经有单独的团队负责开发、测试、安全性、运营和监控等工作。 现在,大多数组织正在向开发...