Shippable 案例研究
2014 年
Shippable 是一个提供托管式持续集成、测试和使用 GitHub 和 Bitbucket 等存储库进行部署的平台。该公司在从应用程序创建一直到向最终用户交付软件的整个过程中为开发人员和运营团队提供帮助,并在整个过程中实现完全的自动化和完全的控制。Shippable 的平台有助于消除实现重复性持续集成/持续交付和工作流中的阻碍和难题,这样,开发人员便能够专注于交付高质量代码。
Shippable 平台由两部分组成:
- Continuous Integration (CI):让开发人员能够构建并测试提交的每个代码存储库或拉取请求并获取实时反馈。
- Continuous Delivery (CD) 管道:实现应用程序流程 (从源代码控制到生产) 自动化。借助上述部署管道,开发人员能够将容器化应用程序轻松部署到容器服务,比如,Amazon EC2 Container Service (Amazon ECS)。
- Shippable 可与常用工具和服务(例如,构建/测试工具、源代码控制提供商、Docker 注册表、云提供商和容器服务)集成。
借助 Amazon ECS,我们的开发人员几乎不用花时间在运营相关工作上。过去,我们的高级开发人员需要将 80% 的时间花费在后端基础设施管理功能方面,而现在则将 80% 的时间投入在客户功能上。"
Avi Cavale
Shippable 首席执行官兼创始人
挑战
- 该公司使用 Docker 容器,采用微服务架构在 Amazon EC2 上构建其 CICD 平台,他们通过定制的集群管理工具管理这一平台。
- 最初的解决方案采用硬编码服务发现解决方案,难于扩展和管理配置。
- 工程团队需要花费 60%-80% 的时间维护基础设施和编排容器,这占用了实现和交付平台功能的时间。
- 管理具有大量日志聚合器及 Elasticsearch 的监控基础设施也是一项耗时的工作。
- Shippable 评估了 Apache Mesos 和 Kubernetes 等其他开源集群管理解决方案,但发现这些解决方案仍需要工程团队花费大量时间运营和扩展集群。
为什么选择 Amazon Web Services
- 开始使用 Amazon ECS,这是一种可扩展的容器管理服务,可提供集群管理和容器编排功能。
- 每一个微服务均通过 Elastic Load Balancing 负载均衡器定义为一个 ECS service;Amazon ECS 服务计划程序会管理 ECS 集群中的每个微服务的多个副本。
- 借助 Amazon ECS 和 Amazon CloudWatch,工程团队能够花费最少的精力来处理所有基础设施日志记录。
- Shippable Docker 镜像存储在 Amazon EC2 Container Registry (Amazon ECR) 中,后者是一个完全托管的 Docker 容器注册表,它使 Docker 容器映像的存储、管理和部署变得轻而易举。
效益
- 借助 Amazon ECS,您无需安装软件和运行服务器,这可减少大规模运行容器的整体管理需求,并帮助缩短上市时间。
- 现在,工程团队只需要花费 20% 的时间维护基础设施,有了更多的时间来专注于实现新功能。
- 借助 Amazon ECS,Shippable 能够更迅速地向其客户交付功能,从而增加了部署频率(从每周一次到每日多次)。
- 借助适用于 Amazon ECR 的 AWS Identity Access Management (IAM) 策略,该公司又增加了一个安全保护层,以确保只有获得批准的人员才能在生产集群中推送和拉取生产镜像。
关于 Shippable
Yelp 成立于 2004 年,其主要目的是帮助人们与当地大型企业取得联系。Yelp 社区最知名的特点是分享对于各种当地企业的深入评论和见解。
使用的 AWS 服务
Amazon ECS
Amazon Elastic Container Service (Amazon ECS) 是一种高度可扩展的高性能容器编排服务,支持 Docker 容器。
Elastic Load Balancing
Elastic Load Balancing 在多个目标(如 Amazon EC2 实例、容器、IP 地址和 Lambda 函数)之间自动分配传入的应用程序流量。
Amazon CloudWatch
Amazon CloudWatch 是一种面向开发运营工程师、开发人员、站点可靠性工程师 (SRE) 和 IT 经理的监控和可观测性服务。
开始使用
不同行业和规模的公司都在使用 AWS,将其日常业务运营进行转型。联系我们的专家,立即踏上您的 AWS Cloud 之旅。