公司 AppDirect 位置 加利福尼亚旧金山 行业 软件

挑战

AppDirect 提供基于云的产品和服务的端到端商务平台。他说,当软件开发总监Pierre-Alexandre Lacerte于2014年开始在那里工作时,该公司已在“ 至 mcat基础架构”上部署了一个整体应用程序,整个发布过程本来就很复杂。 “涉及许多手动步骤,一位工程师构建功能,然后由另一个团队接管更改。因此,您遇到了瓶颈,无法将功能交付生产。”同时,工程团队不断壮大,公司意识到需要更好的基础架构来支持这种增长并提高速度。

“我的想法是:让我们创建一个环境,使团队可以更快地部署其服务,他们会说:'好吧,我不想再建立整体。我想构建服务,” Lacerte说。在决定采用之前,他们考虑了几种不同的技术并制作了原型 Kubernetes 在2016年初。Lacerte的团队还整合了 普罗米修斯 监视平台;跟踪是下一个。如今,AppDirect在生产中拥有50多种微服务,并在其上部署了15个Kubernetes集群。 AWS 并在全球范围内进行。

影响力

Kubernetes平台在过去几年中帮助支持工程团队的10倍增长。加上他们不断增加新功能的事实,Lacerte说:“我认为,如果我们没有这种新的基础架构,我们的速度将会大大降低。”转向Kubernetes和服务意味着部署已经变得更快,因为对SCP命令的定制,易碎外壳脚本的依赖性降低了。部署新版本的时间从4小时缩短为几分钟。此外,该公司投入了大量精力使开发人员能够自助服务。 “加入新服务不需要 吉拉 Lacerte说。今天,该公司每周看到1600个部署,而以前是1-30个。该公司还通过将市场转移并从传统EC2主机向Kubernetes计费,从而节省了成本。例如利用自动缩放功能,因为在工作时间内流量较高。

借助其基于云的产品和服务的端到端商务平台, AppDirect 自2009年以来,一直在帮助Comcast和GoDaddy等组织简化数字供应链。

他说,当软件开发总监Pierre-Alexandre Lacerte在2014年开始在那里工作时,该公司在“ 至 mcat基础架构”上部署了一个整体应用程序,整个发布过程本来就很复杂。 “涉及许多手动步骤,一位工程师构建功能然后创建拉取请求,然后由QA或另一位工程师验证该功能。然后将其合并,其他人将负责部署。因此,我们遇到了瓶颈正在将要素交付生产。”

同时,一支由40人组成的工程团队不断壮大,该公司希望为其产品增加越来越多的功能。作为平台团队的成员,Lacerte开始听取了多个团队的声音,这些团队希望使用不同的框架和语言来部署应用程序。 Node.jsSpring Boot Java。他很快意识到,为了同时支持增长和提高速度,公司需要更好的基础架构,并且需要一个系统,其中的团队可以自治,可以自行部署,并负责生产中的服务。

Lacerte从一开始就说:“我的想法是:让我们创建一个环境,使团队可以更快地部署其服务,他们会说,'好吧,我不再希望建立在整体中。我想构建一个服务。”(Lacerte于2019年离开公司。)

通过与运营团队的合作,Lacerte的团队获得了更多的控制权并可以访问公司的 AWS基础架构, 和 started prototyping several orchestration technologies. "Back then, Kubernetes was a little underground, unknown,"他说。"But we looked at the community, the number of pull requests, the velocity on GitHub, 和 we saw it was getting traction. And we found that it was much easier for us 至 manage than the other technologies."

他们使用以下命令在Kubernetes上启动了前几个服务 厨师地貌 供应,随着更多服务的添加,自动化程度也随之提高。 Lacerte说:“我们在韩国,澳大利亚,德国和美国拥有全球性的集群。” “自动化对我们至关重要。”他们现在主要在使用 科普斯,并且正在研究来自多个云提供商的托管Kubernetes产品。

如今,尽管整体仍然存在,但提交和功能越来越少。所有团队都在新的基础架构上进行部署,服务是常态。 AppDirect现在在生产中拥有50多种微服务,并在AWS以及全球范围内部署了15个Kubernetes集群。

Lacerte的策略最终奏效是因为Kubernetes平台对部署时间产生了非常实际的影响。由于使用SCP命令对定制的,易碎的Shell脚本的依赖性较小,因此部署新版本的时间从4小时缩短为几分钟。此外,该公司投入了大量精力使开发人员能够自助服务。 “加入新服务不需要 吉拉 门票或与三个不同的团队开会。”如今,该公司每周的部署量为1600,而之前为1-30。

此外,Kubernetes平台还帮助支持工程团队在过去几年中实现了10倍的增长。员工软件开发商Alexandre Gervais说:“所有权是AppDirect的核心价值,体现了我们独立于整体代码库提供服务的能力。” “小型团队现在拥有我们业务领域模型的关键部分,他们在各自的专业知识领域相互分离,并且对整个代码库的了解有限。这减少并隔离了某些复杂性。”加上他们不断增加新功能的事实,Lacerte说:“我认为,如果我们没有这种新的基础架构,我们的速度将会大大降低。”

该公司还通过将市场转移到传统的EC2主机上并将其整体计费到Kubernetes以及通过利用自动缩放功能来节省成本,因为在工作时间内流量增加了。

AppDirect的云原生堆栈还包括 gRPC流利的,而该小组目前正在努力进行设置 开放式人口普查。该平台已经有 普罗米修斯 Lacerte说,它是集成的,因此“当团队部署他们的服务时,他们就会收到通知,警报和配置”。 “例如,在测试环境中,我希望获得有关Slack的消息,而在生产环境中,我希望获得 松弛 消息,我也想获得分页。我们已经整合了寻呼机的职责。团队拥有更多的服务所有权。”

当然,这也意味着更多的责任。 Gervais说:“我们要求工程师扩大视野。” “我们从一种仅限于'在分支中推送代码'的文化转变为在代码库之外激动人心的新职责:功能和配置的部署;监视应用程序和业务指标;以及在发生故障时提供即时支持。工程文化发生了巨大的转变,但是在规模和速度方面,收益是不可否认的。”

随着工程队伍的不断壮大,平台团队面临着新的挑战,那就是确保Kubernetes平台可被每个人访问并轻松使用。 “当我们向团队中添加更多人员时,我们如何确保他们高效,高效并且知道如何在平台上进行扩展?”拉瑟特说。因此,我们有传教士,文档和一些项目示例。我们进行演示,我们有AMA会议。我们正在尝试不同的策略来引起所有人的关注。”

他说,进入Kubernetes历时三年半后,Gervais感到AppDirect“在正确的时间做出了正确的决定”。 “ Kubernetes和云原生技术现在被视为事实上的生态系统。我们知道在哪里集中精力,以应对我们在扩展时面临的新一波挑战。社区是如此活跃,充满活力,这是一个我们强大的内部团队的强大补充。展望未来,我们的重点将真正通过在我们的日常运营中提供附加的业务价值来从生态系统中受益。”