公司appdirect. 位置旧金山,加利福尼亚州 行业软件

挑战

appdirect.为基于云的产品和服务提供端到端商务平台。当软件开发总监Pierre-Alexandre Lacerte在2014年开始在那里工作时,该公司有一个完整的应用程序部署在“tomcat基础设施上,整个发布过程很复杂,”他说。“这涉及到许多手动步骤,一个工程师构建一个功能,然后另一个团队接手更改。所以你在制作过程中遇到了瓶颈。”与此同时,工程团队正在成长,公司意识到它需要一个更好的基础设施来支持成长和提高速度。

解决方案

“我的想法是:让我们创造一个环境,让团队能够更快地部署他们的服务,然后他们会说,‘好吧,我不想再做单一的工作了。我想建立一个服务,’”Lacerte说。在决定采用之前,他们考虑了几种不同的技术并制作了原型Kubernetes在2016年初。Lacerte的团队也进行了整合普罗米修斯监控进入平台;跟踪是下一个。如今,AppDirect已经有50多个微服务投入生产,并部署了15个Kubernetes集群AWS.在世界各地的前提。

影响

Kubernetes平台在过去几年中有助于支持工程团队的10倍的增长。再加上他们不断添加新功能的事实,Lacerte说,“我认为如果我们没有这个新的基础设施,我们的速度会慢很多。”搬到Kubernetes和Services的意思是由于对具有SCP命令的定制,脆性shell脚本的依赖性较少,部署变得更快。部署新版本的时间从4小时到几分钟缩小。此外,该公司投入了大量精力为开发者提供自助式服务。“新服务不需要贾拉或者与三个不同的团队会面,”Lacerte说。如今,该公司每周部署1600次,而以前只有1-30次。该公司还通过将其市场和计费系统从传统的EC2主机转移到Kubernetes,以及利用自动伸缩(因为在工作时间流量更高)实现了成本节约。

凭借其基于云的产品和服务的端到端商务平台,appdirect.自2009年以来一直在帮助康卡斯特(Comcast)和GoDaddy等公司简化数字供应链。

当软件开发总监Pierre-Alexandre Lacerte于2014年开始工作时,该公司在“Tomcat基础架构”上部署了一份整形型应用程序,而整个发布过程对于它应该是复杂的,“他说。“有很多手动步骤涉及,一个工程师构建一个功能,然后创建一个提取请求,以及验证该功能的QA或其他工程师。然后它被合并,别人会照顾部署。所以我们有瓶颈。所以我们有瓶颈。所以我们有瓶颈。所以我们有瓶颈。所以我们有瓶颈在管道中发货到生产的功能。“

与此同时,40岁的工程团队正在增长,公司希望为其产品增加越来越多的功能。作为平台团队的成员,Lacerte从多个团队开始听到想要使用不同框架和语言部署应用程序的多个团队node . js弹簧启动Java。他很快就意识到,为了支持增长和增加速度,公司需要更好的基础设施,以及一个团队是自主的系统,可以做自己的部署,并负责他们的生产服务。

从一开始,Lacerte说:“我的想法是:让我们创造一个环境,让团队能够更快地部署他们的服务,然后他们会说,‘好吧,我不想再在单一的环境中构建了。我想建立一个服务。’”(2019年,Lacerte离开了公司。)

通过与运营团队的合作,莱塞特的团队获得了更多的控制权和进入公司的渠道AWS基础设施,并开始原型设计多个编音技术。“那时,Kubernetes是一个有点地下,未知,”他说。“但是我们看着社区,拉扯请求的数量,GitHub上的速度,我们看到它正在获得牵引力。我们发现我们比其他技术更容易管理。”

他们在Kubernetes上创建了最初的几个服务厨师Terraform.供应并随着更多服务增加,更多的自动化也是如此。“我们在澳大利亚世界各地的世界各地群集,在德国,在美国,”吉伦特说。“自动化对我们至关重要。”他们现在在很大程度上使用散步流言,并正在查看来自几个云提供商的托管kubernetes产品。

今天,尽管整体仍然存在,但提交和特性越来越少。所有团队都部署在新的基础设施上,服务是标准的。AppDirect目前有50多个微服务正在生产,15个Kubernetes集群部署在AWS和全球各地。

Lacerte的策略最终奏效了,因为Kubernetes平台对部署时间产生了非常真实的影响。由于对带有SCP命令的定制的、脆弱的shell脚本的依赖减少了,部署新版本的时间从4小时缩短到了几分钟。此外,该公司投入了大量精力为开发者提供自助式服务。“新服务不需要贾拉或者与三个不同的团队会面,”Lacerte说。如今,该公司每周部署1600次,而以前只有1-30次。

此外,Kubernetes平台还帮助工程团队在过去几年中实现了10倍的增长。“所有权是AppDirect的核心价值,它反映了我们能够独立于我们庞大的代码库提供服务,”与Lacerte合作的Staff Software Developer Alexandre Gervais说。“小团队现在拥有我们的业务领域模型的关键部分,他们在他们的分离专业领域中操作,对整个代码库的知识有限。这减少并隔离了一些复杂性。”再加上他们不断添加新功能的事实,Lacerte说,“我认为如果我们没有这个新的基础设施,我们的速度会慢很多。”

该公司还通过将其市场和计费系统从传统的EC2主机转移到Kubernetes,以及利用自动伸缩(因为在工作时间流量更高)实现了成本节约。

AppDirect的云原生堆栈还包括grpc.Fluentd.,而团队目前正在努力建立opencensus.。平台已经有了普罗米修斯因此,集成了,因此“当团队部署他们的服务时,他们有他们的通知,警报和配置,”Lacerte说。“例如,在测试环境中,我想在Slack和生产中获取一条消息,我想要一个松弛留言,我也想被分页。我们与寻呼机义务集成。团队对他们的服务有更多的所有权。“

当然,这也意味着更多的责任。“我们要求工程师拓宽他们的视野,”Gervais说。“我们从一个文化中搬到了”分支机构中的代码“,以激发代码基础之外的新职责:部署功能和配置;监控应用程序和业务指标;在停电时和随叫随到的支持。它是一个巨大的工程文化转变,但在规模和速度方面的益处是不可否认的。“

随着工程队伍的不断壮大,平台团队面临着一个新的挑战,即确保Kubernetes平台可以被所有人访问和轻松使用。“当我们的团队中有更多的人时,我们如何确保他们是高效的,多产的,并且知道如何在平台上发展?”Lacerte说。我们有布道者,文档,一些项目例子。德赢是不是大平台我们做演示,我们有AMA会议。我们正在尝试不同的策略来吸引所有人的注意。”

三年半进入他们的Kubernetes旅程,Gervais感觉Appdirect“在合适的时间做出了正确的决定”,“他说。“Kubernetes和云本机技术现在被视为事实上的生态系统。我们知道在哪里努力解决我们在我们脱离的时候解决我们面临的新挑战。社区是如此活跃和充满活力,这是一个对我们令人敬畏的内部团队的巨大补充。继续,我们的重点将真正通过在日常运营中提供增长的业务价值来获得生态系统的受益。“

Baidu