公司 阿迪达斯 地点 德国黑措根奥拉赫 行业 时尚

挑战

近年来,阿迪达斯团队对其软件选择从技术角度来看感到满意,但访问所有工具却是个问题。例如,“仅仅是获取一个开发者虚拟机,你就必须发送请求表单,说明目的,说明项目名称,负责人,并致电内部成本中心,以便他们进行费用分摊,”平台工程高级总监 Daniel Eichten 说。“最好的情况是你在半小时内拿到机器。最坏的情况是半周,有时甚至一周。”

解决方案

为了改进这个过程,“我们从开发者的角度出发”,寻找缩短项目启动并投入阿迪达斯基础设施所需时间的方法,平台工程高级总监 Fernando Cornago 说。他们通过容器化、敏捷开发、持续交付以及包括 Kubernetes 和 Prometheus 在内的云原生平台找到了解决方案。

影响

项目启动仅六个月后,阿迪达斯电子商务网站100%运行在Kubernetes上。电子商务网站的加载时间缩短了一半。发布频率从每4-6周一次提高到每天3-4次。拥有4000个Pod、200个节点和每月80000次构建,阿迪达斯现在将其40%最关键、最具影响力的系统运行在其云原生平台上。

近年来,阿迪达斯团队对其软件选择从技术角度来看感到满意,但访问所有工具却是个问题。

对于阿迪达斯的工程师们来说,平台工程高级总监 Daniel Eichten 说,“感觉就像一位艺术家,双手被绑在背后,却被要求创作一幅画。”

例如,“仅仅是获取一个开发者虚拟机,你就必须发送请求表单,说明目的,说明项目名称,负责人,并致电内部成本中心,以便他们进行费用分摊,”Eichten 说。“最终,经过大量批准后,机器的配置在几分钟内完成,最好的情况是你在半小时内拿到机器。最坏的情况是半周,有时甚至一周。”

为了改进这个过程,“我们从开发者的角度出发”,寻找缩短项目启动并投入阿迪达斯基础设施所需时间的方法,平台工程高级总监 Fernando Cornago 说。

Eichten 补充道:“我们以前就是工程师。我们知道一个典型的工程师需要什么、渴望什么、不想处理什么。对我们来说,这非常清楚。我们填补了没有人想处理的空白,并使通常痛苦的事情尽可能地无痛。”目标:提高速度、可操作性和可观察性。

Cornago 和 Eichten 通过容器化、敏捷开发、持续交付以及包括 Kubernetes 和 Prometheus 在内的云原生平台找到了解决方案。“选择 Kubernetes 是非常明确的,”Eichten 说。“零日,决定,容易。第一天,安装、配置,容易。第二天,即使是小规模工作负载,如果出现问题,你不知道这些东西是如何工作的,你会迷失方向。对于第二天的问题,我们需要一个合作伙伴来帮助我们。”

2017年初,阿迪达斯选择 Giant Swarm 负责咨询、安装、配置和运行其在 AWS 和本地的所有 Kubernetes 集群。“在运行和操作 Kubernetes 集群方面,我们与 Puma 或 Nike 等竞争对手没有任何竞争优势,”Eichten 说。“我们的竞争优势在于我们教导内部工程师如何构建快速、有弹性、运行完美的炫酷电商商店。”

Cornago 补充道:“对我来说,我们的 Kubernetes 平台是由工程师为工程师打造的。它将开发团队从他们不想做的任务中解脱出来,同时又提供了幕后情况的可见性,这样他们也能控制它。”

例如:在网络周期间,团队必须创建大量自定义指标。2017年11月,“因为我们使用了用于监控集群的同一个 Prometheus,所以 Prometheus 数据库被填满了,我们无法(充分)缩短保留期,”Cornago 说。因此,在购物高峰周前的冻结期,平台团队的五名工程师与电子商务团队的五名工程师合作,在两天内找出并实施了一个联邦解决方案。

除了为“网购星期一”做好准备(项目启动仅六个月后,阿迪达斯电子商务网站100%运行在Kubernetes上),云原生堆栈还取得了其他令人印象深刻的成果。电子商务网站的加载时间缩短了一半。发布频率从每4-6周一次提高到每天3-4次。凭借4,000个Pod、200个节点和每月80,000次构建,阿迪达斯现在将其40%最关键、最具影响力的系统运行在其云原生平台上。

在阿迪达斯三百多名工程师队伍中,采用速度也很快。Eichten 说:“我把我们的云原生平台称为梦想之地。我们建造了它,从没预料到人们会来并爱上它。”

Cornago 说,一方面,“每个能碰代码的人”都花了一整周的时间与35人的平台工程团队成员一起进行平台入门和学习。“我们尝试花50%的时间与团队坐在一起,因为这是了解我们平台如何被使用的唯一方式。这也是团队感到安全,因为墙的另一边有人,也在感受痛苦。”

此外,康纳戈和艾希滕利用了阿迪达斯作为一个时尚运动服品牌,其DNA中包含体育和竞争的特点。康纳戈说:“自上而下的命令在阿迪达斯行不通,但游戏化却很有效。所以今年我们举办了DevOps杯比赛。每个团队都创建了新的技术能力,并提出了这些能力如何影响商业价值的假设。我们在一个有600多人参加的大型内部技术峰会上公布了获胜者。这对团队来说真的非常有用。”

因此,如果他们要给其他希望开启云原生之旅的公司任何建议,那便是:“没有一种万能的解决方案适用于所有公司,”Cornago 说。“将你公司的文化应用到你所做的一切中。”