Kubernetes如何简化Bet365的软件部署
赌博网站Bet365与Kubernetes集群一起使用,使其产品团队能够更快地提供新软件。
在线投注网站已测试如何在其网站上容纳一个视频服务功能。Kubernetes正在为IT基础架构和软件产品开发团队提供共同的语言和框架来指定,突出和部署容器。
描述了该公司的软件发布周期,Alan Reed,Bet365的体育发展负责人表示:“我们来自传统的窗口背景,并具有激烈的发布时间表。我们的内部发行团队希望提高发布的速度,但我们发现我们可以每天做一到两到两个版本。“
随着业务的增长,产品团队需要找到一种加快软件发布周期的方法。
Bet365的主要基础设施建筑师Jim Nightingale表示,该公司的IT基础架构团队正在解决一个非常相似的问题。该团队以前使用了面向服务的架构来支持产品团队,但发现它正在努力以推出新的软件供电产品所需的速度进行康复和部署服务器。
Nightingale说:“随着Bet365的架构变得更加复杂,我们注意到围绕配置平台的责任越来越大的灰色区域。在堆栈中部署的配置和调整有元素,传统上是基础架构团队的汇款,但需要由产品团队进行。
“结果是两个触摸配置项的团队,此增加的复杂性会增加错误的可能性。”
使用Kubernetes,Bet365现在有一个平台,产品团队可以以可扩展的方式部署,说夜莺。它为公司提供了一个常见的框架,用于描述IT基础架构和产品团队可以分享的复杂服务器配置。“我们有一种共同的语言,即业务的两个部分都可以使用。这是一种共同的语言,避免了混淆。“
该公司正在利用容器,可以使用Kubernetes以自动的方式部署。
“Containeration使我们能够解耦这种复杂性并清楚地描绘平台和部署之间的责任,”夜莺说。
从软件开发角度来看,REED也希望利用容器,然后可以使用Kubernetes平台进行策划。“Kubernetes可以协调非常复杂的[基础设施]要求,”他说。“你也可以很快地移动多个IT环境。”
一旦Bet365的产品团队决定使用容器,Reed的下一个问题就是如何适当地尺寸。产品团队更喜欢小,所谓的三角洲发布,而不是重大更新。“我们是高批量三角洲发布的巨大信徒,”他说。“如果您正在进行大型软件版本,您将失去许多灵活性。”
REED表示,使用容器将部署代码与需要进行质量保证的代码分开部署代码是不可行的。在他的经验中,这种分离将无法批准令人挑剔的敏捷性。
他考虑的另一种理论将网站分成容器。“我们以前认为我们将为网站拥有一个容器,一个用于移动网站,”他说。“但一个容器不必指巨石。它不必包含IT环境的整个占用空间。“
对于芦苇,容器应该是自我感知的,高度部署的,并有指标以保证成功。“我们采取了截然反对的观点,”他说。
对于它的Kubernetes测试案例,Bet365看了它在其意大利赛马网站上介绍了它的直播视频流。“意大利赛马是完美的测试用例。我们需要一个足够的候选人,足够的原子和便携式,足以证明我们可以使Kubernetes工作。“
球队的目标是从自然而然的地上建造一些东西。“意大利赛马是一个非常好的例子,我们如何从我们的网站中分开一个功能 - 作为与主站点分开的微型产品,”Reed说。
使用Kubernetes的风险是,平台很快就会发展,这意味着使用最新和最伟大的新功能,这是太容易被带走的夜莺。
“Kubernetes周围有一个巨大的生态系统,”他说。“我们迷失在可能的艺术中,并试图创建一个令人难以置信的平台。我们和一个怪物出来,但理解我们需要提供简单的东西。“
他补充说,团队削减了使用新的Kubernetes功能的使用。“我们想要保持简单,确保它是可管理的,所以我们可以自己支持它。”
Nightingale表示,转向Kubernetes也涉及将Windows和基于Linux的IT基础架构的移动。“我们一直搬到一个Linux工作流程,并对平台感觉更舒服,”他说。
Reed补充说:“在很多方面,这是我们的自然下一步。我们转向Linux和Golang的最新成功,Kubernetes和集装箱的语言,提供了适当的环境,使得Bet365成为可能的集装箱。“