共计 3651 个字符,预计需要花费 10 分钟才能阅读完成。
AppDirect:AppDirect 如何通过 Kubernetes 支持其工程人员的 10 倍增长
公司:AppDirect 地点:旧金山,加利福尼亚工业:软件
挑战
AppDirect 为基于云的产品和服务提供端到端的商务平台。当软件开发总监 Pierre-Alexandre Lacerte 于 2014 年开始在那里工作时,该公司在“tomcat 基础架构上部署了一个单体应用程序,整个发布过程非常复杂。”他说。“涉及有很多手动步骤,一个工程师构建一个功能,然后另一个团队接手更改。所以你有一个瓶颈,将一个功能发送给生产。”与此同时,工程团队也在不断发展,公司意识到需要一个更好的基础设施来支持这种增长并提高速度。
解决方法
“我的想法是:让我们创建一个团队可以更快地部署他们的服务的环境,他们会说,’ 好吧,我不想再建立单体。我想建立一个服务 ’。”Lacerte 说。在决定于 2016 年初采用 Kubernetes 之前,他们考虑并制作了几种不同技术的原型。Lacerte 的团队还将 Prometheus 监控集成到平台中;下一布是追踪。如今,AppDirect 已在生产中部署了 50 多个微服务,在 AWS 和全球各地部署了 15 个 Kubernetes 集群。
影响
Kubernetes 平台帮助支持了工程团队在过去几年中的 10 倍增长。加上他们不断增加新功能的事实,Lacerte 说,“如果我们没有这种新的基础设施,我认为我们的速度会慢下来。”迁移到 Kubernetes 和服务意味着部署变得更快,因为减小了对 SCP 命令的定制以及脆弱 shell 脚本的依赖性。部署新版本的时间从 4 小时缩短到几分钟。此外,该公司投入了大量精力为开发者提供自助服务。“上线新服务不需要 Jira 门票或与三个不同的团队会面。”Lacerte 说。今天,该公司每周可以看到 1,600 次部署,而之前是 1 -30 次。该公司还通过将其市场和计费单块,从传统的 EC2 主机迁移到 Kubernetes,以及利用自动缩放来实现成本节约,因为在工作时间内流量更高。
“这是一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。”– ALEXANDRE GERVAIS,软件开发者,APPDIRECT
凭借其基于云的产品和服务的端到端商务平台,AppDirect 自 2009 年以来一直在帮助 Comcast 和 GoDaddy 等组织简化数字供应链。
当软件开发总监 Pierre-Alexandre Lacerte 于 2014 年开始在那里工作时,该公司在“tomcat 基础架构上部署了一个单体应用程序,整个发布过程非常复杂。”他说。“涉及有很多手动步骤,一个工程师构建一个功能,然后创建一个拉取请求,之后一个 QA 或另一个工程师验证该功能。然后合并,其他人将负责部署。所以我们将一项功能运送到生产有瓶颈。”
与此同时,40 人的工程团队正在发展壮大,该公司希望为其产品增加越来越多的功能。作为平台团队的一员,Lacerte 开始听取多个团队的意见,他们希望使用不同的框架和语言部署应用程序,从 Node.js 到 Spring Boot Java。他很快意识到,为了支持增长和提高速度,公司需要一个更好的基础设施,一个团队自治的系统,可以自己进行部署,并为他们自己的生产服务负责。
“我们在正确的时间做出了正确的决定。Kubernetes 和云原生技术现在被视为事实上的生态系统。我们知道在哪里集中精力来应对我们在扩展时面临的新一轮挑战。社区是如此活跃和充满活力,这是我们卓越的内部团队的重要补充。”– ALEXANDRE GERVAIS,软件开发者,APPDIRECT
从一开始,Lacerte 说:“我的想法是:让我们创建一个团队可以更快地部署服务的环境,他们会说,’ 好吧,我不想再建立单体。我想建立一个服务。’”(Lacerte 在 2019 年离开了公司。)
通过与运营团队合作,Lacerte 的团队获得了对公司 AWS 基础架构的更多控制权和使用权,并开始了几种编排技术的原型设计。“当时,Kubernetes 有点地下,不为人知。”他说。“但我们看了社区,拉动请求的数量,GitHub 上的速度,我们看到它正在变得越来越有吸引力。我们发现管理比其他技术更容易。”他们使用 Chef 和 Terraform 配置在 Kubernetes 上跑了前几个服务,并且随着更多服务的增加,也有更多的自动化。“我们在世界各地都有集群 – 在韩国、澳大利亚、德国和美国。”Lacerte 说。“自动化对我们至关重要。”他们现在主要使用 Kops,并且正在寻找来自多家云提供商的托管 Kubernetes 产品。
今天,虽然单体应用仍然存在,但提交和功能越来越少。所有团队都部署在新的基础架构,服务是常态。AppDirect 现在拥有 50 多个微服务器,在 AWS 和全球各地部署了 15 个 Kubernetes 集群。
Lacerte 的策略最终奏效,因为 Kubernetes 平台对部署时间产生了非常实际的影响。由于减小了对 SCP 命令的定制以及脆弱 shell 脚本的依赖性,部署新版本的时间从 4 小时缩短到几分钟。此外,该公司投入了大量精力为开发者提供自助服务。“上线新服务不需要 Jira 门票或与三个不同的团队会面。”Lacerte 说。今天,该公司每周可以看到 1,600 次部署,而之前是 1 -30 次。
“如果我们没有这种新的基础设施,我认为我们的速度会放慢很多。”– PIERRE-ALEXANDRE LACERTE,软件开发总监,APPDIRECT
此外,Kubernetes 平台在过去几年中帮助支持了工程团队 10 倍的增长。“所有权,AppDirect 的核心价值,反映了我们独立于单体代码库提供服务的能力。”与 Lacerte 合作的软件开发者 Alexandre Gervais 说道。“小型团队现在拥有我们业务领域模型的关键部分,他们在专业知识的分离领域运营,对整个代码库知之甚少。这减少并隔离了一些复杂性。”加上他们不断增加新功能的事实,Lacerte 说,“如果我们没有这种新的基础设施,我认为我们的速度会慢下来。”该公司还通过将其市场和计费单块从传统的 EC2 主机,迁移到 Kubernetes,以及利用自动缩放来实现成本节约,因为在工作时间内流量更高。
AppDirect 的云原生堆栈还包括 gRPC 和 Fluentd,该团队目前正在设置 OpenCensus。该平台已经集成了 Prometheus,因此“当团队部署他们的服务时,他们会收到通知、警报和配置。”Lacerte 说。“例如,在测试环境中,我想在 Slack 上收到一条消息,在生产中,我想要一条 Slack 消息,我也希望收到传呼。我们已经与 PagerDuty 集成。团队对他们的服务拥有更多的所有权。”
“我们从 ’ 推送代码分支 ’ 的文化转到代码库之外的令人兴奋的新职责:功能和配置的部署;应用程序和业务指标的监控;以及在中断情况下的随叫随到的支持。一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。”– PIERRE-ALEXANDRE LACERTE,软件开发总监,APPDIRECT
这当然也意味着更多的责任。“我们要求工程师扩大他们的视野。”Gervais 说。“我们从 ’ 推送代码分支 ’ 的有限度工作文化,转到代码库之外的令人兴奋的新职责:功能和配置的部署;应用程序和业务指标的监控;以及在中断情况下的随叫随到的支持。一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。”
随着工程队伍的不断增长,平台团队面临着新的挑战,即确保 Kubernetes 平台可供所有人访问和使用。“我们怎样才能确保当我们为团队增加更多人员时,他们能提高效率,提高工作效率,并知道如何在平台上开发?”Lacerte 说。“所以我们有布道者、文档、一些项目实例。我们做演示,我们有 AMA 会议。我们尝试不同的策略来引起所有人的注意。”
在他们 Kubernetes 之旅的三年半时间里,Gervais 认为 AppDirect“在合适的时间做出了正确的决定”,他说。“Kubernetes 和云原生技术现在被视为事实上的生态系统。我们知道在哪里集中精力来应对我们在扩展时面临的新一轮挑战。社区是如此活跃和充满活力,这是我们卓越的内部团队的重要补充。展望未来,我们的重点将是通过在日常运营中提供额外的商业价值来从生态系统中获益。”
KubeCon + CloudNativeCon + Open Source Summit 大会日期:
会议日程通告日期:2019 年 4 月 10 日
会议活动举办日期:2019 年 6 月 24 至 26 日
KubeCon + CloudNativeCon + Open Source Summit 赞助方案 KubeCon + CloudNativeCon + Open Source Summit 多元化奖学金现正接受申请 KubeCon + CloudNativeCon 和 Open Source Summit 即将首次合体落地中国 KubeCon + CloudNativeCon + Open Source Summit 购票窗口,立即购票!CNCF 邀请你加入最终用户社区