Contino 如何改善与亚马逊 CodeCatalyst 的合作

亚马逊 CodeCatalyst 是一项现代软件开发服务,使团队能够轻松快速地在 亚马逊云科技 上交付软件。CodeCatalyst提供了一个使用持续集成/持续交付 (CI/CD) 工具规划、编码、构建、测试和部署应用程序的地方。它还有助于简化团队协作。现代软件团队中的开发人员通常分布在不同的地方,独立工作并使用不同的工具。通常,临时协作是解决问题所必需的。如今,开发人员被迫使用许多工具来执行此操作,这会分散开发人员对主要任务的注意力,即添加关键业务功能并提高其质量和完整性。

在这篇文章中,我们将解释C ontino 如何 使用CodeCatalyst让他们的工程团队参与新项目,消除管理不同工具的开销,并简化不同利益相关者之间的协作。

问题所在

Contino 帮助客户将其应用程序迁移到云端,然后通过充分利用云原生功能来提高敏捷性、性能和可扩展性来改进其架构。这通常涉及建造中央着陆区平台。登陆区是一组标准构件,允许客户根据安全政策、合规准则和云原生最佳实践自动创建预先配置的账户、基础架构和环境。某些功能是大多数着陆区所共有的功能,例如创建安全的容器镜像、AMI 和环境设置样板。为了向客户提供最大价值,Contino 开发了此类功能的内部版本,结合了 亚马逊云科技 最佳实践,随后通过一些自定义功能将其推广到客户环境。Contino 的技术顾问(统称为 “Squad 0”)负责开发这些功能,他们目前未被指派负责客户工作。Squad 0 为这部作品打下了基础,直接与 Contino 客户合作的其他小队将重复使用这些作品。由于技术顾问通常在 Squad 0 上待很短的时间,因此至关重要的是,他们可以在短时间内提高工作效率,而无需花费太多时间进行设置。

为了构建这些基础服务,Contino 正在寻找更集成的服务,让他们能够快速设置开发环境、支持 Squad 0 成员之间的协作、邀请其他小队验证各自客户的基金会服务使用情况,并提供从一个地方集中访问不同的 亚马逊云科技 账户和 git 存储库。从历史上看,Contino 使用不同的工具来实现这一目标,这意味着必须持续单独授予/撤消对各个 亚马逊云科技 账户的访问权限。有了这些不同的工具,授予小队提高工作效率所需的工具的访问权限并非易事。

解决方案

正是在这个时候,Contino在公开预览之前参与了CodeCatalyst的私人测试版。CodeCatalyst 已允许 Contino 移动到结构中,如下图 1 所示。Contino 的项目经理为每项基础服务创建不同的项目,并邀请 Squad 0 成员加入相关项目。借助CodeCatalyst,Squad 0技术顾问使用CI/CD、源代码存储库和问题跟踪器等功能来构建基础服务。这有助于消除管理和集成开发人员工具的开销,并提供更多时间专注于开发代码。Squad 0 准备好基础服务后,他们会使用他们的电子邮件地址邀请客户小组,验证项目是否准备就绪,以供客户使用。最后,Squad 0的成员使用CodeCatalyst中的Cloud 9开发环境来快速创建一致的云开发环境,无需手动配置,因此他们可以同时处理新的或多个项目,而不会发生冲突。

With CodeCatalyst, Squad 0 technical consultants use features like CI/CD, source repositories, and issue trackers to build foundational services. This helps eliminate the overhead of managing and integrating developer tools and provides more time to focus on developing code.

图 1:具有多个账户连接的 CodeCatalyst

Contino 使用 CI/CD 进行多账户部署。Contino 通常执行以下两种部署类型之一:1.从一个环境推广到另一个环境的传统顺序应用程序部署,例如 dev-> test-> prod 和 2。并行部署,例如,需要同时部署到多个 亚马逊云科技 账户中的安全控件。CodeCatalyst通过使用可以按顺序或并行部署到多个亚马逊云科技账户的工作流程定义文件更容易地构建工作流程来解决这个问题。图 2 显示了并行部署。

CodeCatalyst provides a feature to add CI/CD pipeline for Dev, Test and Production accounts

图 2:带有 CodeCatalyst 的 CI/CD

《价值》

CodeCatalyst已将Squad 0成员完成基础服务所需的入职培训所需的时间从1.5天缩短到大约1小时。这些任务包括设置与源存储库的连接、设置开发环境、配置 IAM 角色和信任关系等。通过支持集成工具和更好的协作,CodeCatalyst 最大限度地减少了临时协作的开销。Squad 0 可以花更多时间编写代码来构建基础服务。这使任务的完成速度平均提高了20%。生产力的提高为Contino的客户带来了更多的价值。随着 Squad 0 的生产力更高,更多的基础服务可供其他小队为各自的客户重复使用。现在,Contino的实地团队直接与客户合作,可以重复使用这些服务,并根据客户的特定需求进行一些定制。

结论

Amazon CodeCatalyst 将软件开发团队在 亚马逊云科技 上规划、编码、构建、测试和部署应用程序所需的一切汇集到一起,提供简化的集成体验。使用CodeCatalyst,开发人员可以花更多的时间开发应用程序功能,减少设置项目工具、创建和管理 CI/CD 管道、预置和配置各种开发环境或与团队成员协调的时间。借助CodeCatalyst,Contino工程师可以提高生产力,专注于快速开发为客户捕获业务价值的应用程序代码。

作者简介:

Mark Faiers

Mark Faiers 最初是一名软件工程师,后来过渡到了 DevOps 和云端。他曾在多个技术领域和行业工作,包括医疗保健、金融科技和物流。Mark 目前在英国一些最大的金融和保险公司担任 亚马逊云科技 顾问,并在 Contino 经营 亚马逊云科技 业务。他特别热衷于无服务器和可持续性。

Chetan Makvana Chetan Makvana

是一位高级解决方案架构师,与 亚马逊云科技 的全球系统集成商合作。他与 亚马逊云科技 合作伙伴和客户合作,为他们提供构建可扩展架构的架构指导,并执行推动采用 亚马逊云科技 服务的策略。他是一位技术爱好者,也是一位以无服务器和 DevOps 为核心兴趣的建设者。工作之余,他喜欢狂欢、旅行和听音乐。