借助 Amazon ECS,我们的开发人员几乎不用花时间在运营相关工作上。过去,我们的高级开发人员需要将 80% 的时间花费在后端基础设施管理功能方面,而现在则将 80% 的时间投入在客户功能上。
Avi Cavale 首席执行官兼联合创始人

Shippable 是一个提供托管式持续集成、测试和使用 GitHub 和 Bitbucket 等存储库进行部署的平台。该公司在从应用程序创建一直到向最终用户交付软件的整个过程中为开发人员和运营团队提供帮助,并在整个过程中实现完全的自动化和完全的控制。Shippable 的平台有助于消除实现重复性持续集成/持续交付和工作流中的阻碍和难题,这样,开发人员便能够专注于交付高质量代码。

Shippable 平台由两部分组成:

  • Continuous Integration (CI):让开发人员能够构建并测试提交的每个代码存储库或拉取请求并获取实时反馈。
  • Continuous Delivery (CD) 管道:实现应用程序流程 (从源代码控制到生产) 自动化。借助上述部署管道,开发人员能够将容器化应用程序轻松部署到容器服务,比如,Amazon EC2 Container Service (Amazon ECS)。

Shippable 可与常用工具和服务 (例如,构建/测试工具、源代码控制提供商、Docker 注册表、云提供商和容器服务) 集成。

  • 该公司使用 Docker 容器,采用微服务架构在 Amazon EC2 上构建其 CICD 平台,他们通过定制的群集管理工具管理这一平台。
  • 最初的解决方案采用硬编码服务发现解决方案,难于扩展和管理配置。
  • 工程团队需要花费 60%-80% 的时间维护基础设施和编排容器,这占用了实现和交付平台功能的时间。
  • 管理具有大量日志聚合器及 Elasticsearch 的监控基础设施也是一项耗时的工作。
  • Shippable 评估了 Apache Mesos 和 Kubernetes 等其他开源群集管理解决方案,但发现这些解决方案仍需要工程团队花费大量时间运营和扩展群集。
  • 开始使用 Amazon ECS,这是一种可扩展的容器管理服务,可提供群集管理和容器编排功能。
  • 每一个微服务均通过 Elastic Load Balancing 负载均衡器定义为一个 ECS 服务;Amazon ECS 服务计划程序会管理 ECS 群集中的每个微服务的多个副本。
  • 借助 Amazon ECS 和 Amazon CloudWatch,工程团队能够花费最少的精力来处理所有基础设施日志记录。
  • Shippable Docker 镜像存储在 Amazon EC2 Container Registry (Amazon ECR) 中,后者是一个完全托管的 Docker 容器注册表,它使 Docker 容器映像的存储、管理和部署变得轻而易举。
Shippable_Architecture
  • 借助 Amazon ECS,您无需安装软件和运行服务器,这可减少大规模运行容器的整体管理需求,并帮助缩短上市时间。
  • 现在,工程团队只需要花费 20% 的时间维护基础设施,有了更多的时间来专注于实现新功能。
  • 借助 Amazon ECS,Shippable 能够更迅速地向其客户交付功能,从而增加了部署频率 (从每周一次到每日多次)。
  • 借助适用于 Amazon ECR 的 AWS Identity Access Management (IAM) 策略,该公司又增加了一个安全保护层,以确保只有获得批准的人员才能在生产群集中推送和拉取生产镜像。

要了解简化容器编排和管理的更多信息,请访问 Amazon EC2 Container Service 详情页面。