Zalando在Spot实例上运行关键任务工作负载

亚马逊网络服务awsCI / CD现货实例有状态的工作负载

所面临的挑战

Zalando是一家欧洲电子商务公司,采用平台方式,为17个欧洲市场的客户提供时尚和生活方式产品。对于Zalando这样大规模运营的公司来说,这种增长的积极因素伴随着一个共同的警告:云基础设施成本增加。在持续优化和控制云成本的过程中,他们跨越200多个云帐户和数千名开发人员,还探索了使用Amazon EC2 Spot实例的选项。

一旦Zalando决定利用EC2 Spot实例,他们就面临着一个全新的挑战,即在使用EC2 Spot实例时,如何配置、操作以及更重要的是保证应用程序的可用性。他们主要关心两件事:

  • 2分钟的提前通知对他们绝大多数的应用来说是不够的
  • 同时丢失整个集群,导致关键服务不可用或性能下降。

会议地点

Zalando的SRE团队寻找在所有环境中利用EC2 Spot实例的方法。他们开始寻找一种解决方案,可以帮助他们降低成本,最小化运营,并在200多个业务部门轻松实施。一种选择是在内部开发解决方案,另一种选择是寻找已经做到这一点的第三方平台,这是他们发现的弹性组由点他们决定尝试一下,主要是因为有3个关键功能很吸引他们:

  • 提前15分钟的终止预测,使它们能够在更复杂的环境中运行而没有停机的风险
  • 能够自动回退到按需实例
  • 抽象使用多个实例类型和大小的复杂性,以降低丢失实例的风险或增加获得实例的机会。

使用Spot在复杂环境中测试水

当Zalando决定使用Spot启动POC时,他们故意选择了一个更复杂的用例,而不是简单的无状态应用程序,以便真正测试平台的功能。他们决定尝试Spot支持有状态的工作负载并在Elastigroup上运行Cassandra节点。Zalando网站可靠性工程师Luis Mineiro表示:“我们决定在没有投入任何时间的情况下,看看他们是否能兑现承诺。

Spot Elastigroup允许客户持久化实例的存储和网络配置及其状态。在使用Cassandra集群时,每个节点都由一个IP地址标识,因此即使在Spot替换期间,节点也必须保持其配置。有了这个功能,同时经历了高可用性和长实例生命周期,Zalando能够确认这个解决方案对他们来说是可靠的,并将其推广到整个公司。

与现有CI/CD工具无缝集成

在Zalando,有200多个独立的团队,每个团队都使用不同的工具进行配置和部署,包括CloudFormation。他们的首要任务是找到一种可以轻松无缝地与现有工具集成而无需团队改变工作方式的工具。

幸运的是,Spot原生支持AWS CloudFormation,并允许Zalando以与开发人员和团队习惯的完全相同的方式以编程方式提供和管理所有内容。通过较短的实现时间,他们能够轻松地更改CFN模板以直接使用Elastigroup。

在200个生产团队中部署Spot

在一次成功的POC之后,Zalando能够证明Elastigroup的成本节约、易用性和可靠性,他们已经开始在所有不同的团队中实现它。Spot能够支持200个大规模开发团队管理300多个AWS帐户,并自动与SSO集成。多亏了Elastigroup, Zalando可以更专注于为客户创建高质量的应用程序,而不必担心底层基础设施。

Zalando SE是一家总部位于德国的在线鞋类和时尚零售商,是欧洲最具创新性的时尚平台之一。该公司提供女性、男性和儿童服装的组合。它的产品种类包括1500多个品牌的鞋子、衣服、配饰、美容产品和体育用品

https://www.zalando.com/
Baidu
map