kubernetes案例
自从五年前它从Google大厅中脱颖而出以来, Kubernetes已Swift成为十年来的热门技术之一。 简而言之,Kubernetes现在是组成和运行由微服务组成的应用程序的无可争议的平台, 微服务是可在容器中运行的小型,可独立部署的小型服务,它们可以协同工作以充当可跨各种基础架构移植的大型应用程序。
Kubernetes是一个编排工具,在这种情况下,它意味着开发人员可以查看,协调和管理容器化工作负载和服务,以运行弹性分布式系统为目标。 根据Cloud Native Computing Foundation (CNCF)于2018年8月发布的最新数据,来自企业公司(超过5000家公司)的40%的受访者已经在生产中运行Kubernetes。
尽管对于开源项目而言这是一个不错的进步,但必须指出的是,这些组织中的绝大多数在使用该技术时仅使用Kubernetes运行少数应用程序。 但是旅行的方向很明确:基于容器的微服务应用程序是未来,而Kubernetes是其平台。 这就是三大云提供商全部推出托管版本的Kubernetes的原因,而Cisco,HPE,IBM / Red Hat,Microsoft,VMware / Pivotal以及其他公司已将Kubernetes纳入其核心软件产品。
Kubernetes使各种规模的企业能够提高其开发人员的速度,灵活地部署和扩展应用程序以及现代化其技术堆栈。 例如,在线零售商Ocado自2000年以来一直为英国家庭提供新鲜食品,它已经建立了自己的技术平台来管理物流和仓库。 2017年,该公司决定开始将其Docker容器迁移到Kubernetes,并于2017年夏季在其私有云上将其第一个应用程序投入生产。
对于Ocado和其他公司来说,这一转变的最大好处是可以更快地将产品推向市场,并可以更有效地利用计算资源。 同时,Kubernetes的采用者也倾向于指出相同的缺点:学习曲线陡峭,尽管从长远来看,该技术使开发人员的生活更轻松,但并没有使生活变得简单。
以下是一些大型的全球公司在生产中运行Kubernetes的示例,它们如何到达那里以及他们在此过程中学到的知识。
财务数据专家彭博(Bloomberges)在2015年转向Kubernetes,当时该工具仍处于测试阶段,一旦证明了必要的持续集成,监控和测试,该工具便于2017年投入生产。
彭博社每天处理数千亿个财务数据点,仅其无处不在的终端产品就为14,000种不同的应用程序提供动力。 IT组织希望提高向用户带来新应用程序和服务的速度,并使开发人员摆脱操作任务。
在评估了各种编排平台(例如Cloud Foundry,Mesosphere Marathon和各种Docker产品)之后,彭博社选择了Kubernetes,因为它“有良好的基础,很明显,他们正面临正确的问题。 您会看到与我们的想法一致的愿景和发展路线图。”彭博首席技术官办公室计算基础架构主管Andrey Rybka解释说。
随着时间的流逝,彭博社已经在Kubernetes的基础上开发了一个本地化的平台即服务层,以为开发人员提供适当级别的抽象,以有效地使用该技术。 该自助服务Web门户实质上是一个命令行界面和REST API,它与基于Git的版本控制系统,CI构建系统和中央工件存储库集成在一起。
彭博社的主要目标之一是利用Kubernetes的自动扩展功能以及无需发行票据即可自我配置和灵活虚拟计算,网络和存储的功能,更好地利用现有的硬件投资。 Rybka在CNCF案例研究中表示:“借助Kubernetes,我们可以非常高效地使用硬件,以至在需求高峰时可以达到接近90%到95%的利用率。” 这种效率的很大一部分来自为给定工作负载限制资源的能力,因此它不会饿死其他工作负载。
与大多数企业在生产中采用Kubernetes的情况一样,主要挑战来自使用YAML编写清单,这些清单指定Kubernetes如何分配资源。 Rybka说:“这些是Kubernetes中强大的概念,需要陡峭的学习曲线。”
正如彭博数据和分析基础架构负责人史蒂文·鲍尔(Steven Bower)所说:“ Kubernetes使很多事情变得容易,但不一定会更简单。”
结果,彭博社从基本清单开始,只限于一小部分标准,当开发人员对技术更加熟悉并运行大量内部培训计划时,他们可以根据这些标准扩大使用范围。
他说:“我们拥有许多现有的基础设施,而将奇迹般地从大型铁主机迁移到Kubernetes的可能性为零。” 相反,业务流程平台针对的是基于Web的应用程序和全新的系统。 在Bower工作的数据和分析基础架构团队中,最初的方法是建立一个新的数据科学计算平台,供机器学习工程师使用Spark和TensorFlow等工具运行复杂的工作负载。
作为他的忠告,Rybka谈到了建立专业知识的重要性。 “实际上,您必须拥有一支与上游Kubernetes,CNCF和整个生态系统联系的专家团队,以拥有内部知识。 您不能仅仅依靠供应商,而需要了解围绕此的所有复杂性。”他说。
媒体巨头新闻集团(News Corp)的英国分支机构自2017年以来就开始涉足Kubernetes,从他们自己的自定义Kubernetes集群到2018年从Amazon Web Services移至托管的Elastic Kubernetes Service(EKS)。一堆AWS服务,包括Elastic Container Service,Fargate计算引擎,AWS Batch和Elastic Beanstalk。
迁移到此托管Kubernetes环境中的第一个生产中应用程序是用于访问控制和用户登录的旧版Java系统。 一旦证明该环境足够健壮,该组织便开始稳定地识别和迁移其他应用程序。
今年早些时候,News UK的前云开发工程师Marcin Cuber在监测专家New Relic的伦敦Futurestack活动上发表讲话时说:“在操作上,这简化了我们必须维护和监视的内容。 最重要的是,我们在独立的VPC中拥有EKS,从而使我们能够指定自己的安全组和网络访问控制列表。”
News UK的主要目标是更好地围绕突发新闻事件和不可预测的读者数量扩大环境。 Cuber说:“例如,如果有突发新闻,我们希望每个读者都能在全球范围内收集实时更新,当然也要拥有完美的体验。”
Kubernetes与VM的不同之处在于,自动缩放会降低速度。 “虚拟机需要很长时间才能启动,并且在流量高峰时,它还不够快,无法为AutoScalingGroup带来新的容量,” Cuber说。 “在Kubernetes中运行的Docker容器更小,更轻巧,因此使我们能够在几秒钟而不是几分钟的时间内进行扩展。”
对于希望采用Docker和Kubernetes的任何组织,Cuber也提供了一些建议。 首先是使Docker映像尽可能小,并专注于使用Kubernetes运行无状态应用程序。 他说:“这将改善您的可扩展性和可移植性。”
接下来是对应用程序运行状况检查,并使用YAML部署任何内容。 “通过这种方式,您可以利用临时凭据,这些凭据将在部署后立即失效,而您不必担心静态凭据的存在,”他补充说。
News UK还希望通过将EKS群集与AWS竞价型实例配对来降低成本-AWS在该实例上以折扣价出售备用计算能力,但也可以随时回收该能力。
“使用竞价型实例具有巨大的优势; 与按需定价相比,我们节省了约70%,” Cuber说。 为了避免节点被抢走的问题,工程师们设置了一个AWS Lambda功能,该功能可检测来自AWS的终止信号并自动将受影响的节点排空。
在News UK上运行Kubernetes的最后一个较软的好处归结为招聘。 “ Kubernetes是开源的,这很性感。 我们希望吸引关心云原生技术的现代工程师。”他补充说。
西班牙旅游科技巨头Amadeus早在五年前就与Kubernetes合作。 在随后的两年中,该公司渴望在将任何关键业务应用程序提交给Kubernetes之前,先进行监视,警报和更广泛的生态系统之类的事情。 该公司现在认为它是正确的选择。
“我们想更快地使用Kubernetes,因此我们采取了一些步骤来学习如何操作Kubernetes以及如何对其进行监控,发出警报,” Amadeus云平台软件工程总监Julien Etienne说。
Amadeus是全球三大分销系统之一,该系统使旅行社和元搜索引擎(如Expedia和Kayak)能够出售航班,酒店客房和租车预订。 2016年底,该组织开始与Red Hat的OpenShift平台携手,将其第一个应用程序-航空公司可用性-移至生产中的Kubernetes。 该计划实际上是首先移动酒店预订应用程序,但是随着该项目的膨胀,为Linux构建的航空公司可用性应用程序需要迁移到公共云中,以更好地满足其航空公司客户不断增长的对更低延迟的需求,使生产更快。
“我们从一开始就拥有的好处是我们所有的应用程序都在Linux上,因此从一开始它们就对容器友好,” Etienne说。 “当然,它们是整体的,但实际上更多地是关于如何将现有应用程序移至容器,然后再移至Kubernetes,因此定位非常简单。”
迁移到Kubernetes符合Amadeus的更广泛的业务目标,即主要通过其合作伙伴Google Cloud从本地部署转移到公共云,以便它可以更好地扩展以满足季节性需求并减少过度配置的基础架构成本。
在挑战方面,Amadeus是一个强大的工程组织,因此,一旦完成一些培训,与组织所需的Kubernetes之类的文化转变相比,技术挑战就变得微不足道了。
Etienne说:“主要挑战之一是改变思维方式对开发人员的意义。” “他们曾经考虑过应用程序运行的机器,而现在您忘记了机器,所有东西都是由YAML文件驱动的配置驱动的。”
他补充说:“每个人都已经为容器做好了准备,因此最大的转变就是以不可知的方式操作应用程序。”
Amadeus的总体目标是使用Kubernetes将所有生产工作负载转移到一个单一的运营模型上运行,到目前为止,该组织的运作方式大约是其中的10%到15%。 Amadeus平台解决方案管理总监Sebastien Pellise说:“就任何战略而言,要实现这一目标,现在说还为时过早。”
技术平台和工程高级副总裁Dietmar Fauser说,采用Kubernetes这样的工具的另一个较软的好处是招募和保留人才,因为“从事这类工作对高级工程师而言要比在大型机上更加性感。”在艾玛迪斯(Amadeus)今年早些时候的一次采访中。
这些各种案例研究最有趣的方面之一是它们的一致性。 无论行业是金融服务,媒体,零售还是技术领域,各种规模的组织都在努力应对以小型,离散,松散耦合的功能块构建和部署软件的方式的巨大变化。
挑战和利益之间也存在一致性。 所有这些组织都不得不采取有时令人痛苦的文化变革,并在与Google和Facebook之类的人才竞争时面临巨大的招聘挑战。 所有这些组织也都开始加快其开发周期,减少成本和停机时间,并更频繁地为其客户提供更多价值。
在这一点上,毫不夸张地说,任何不适应容器和Kubernetes的组织都将努力跟上我们这个新的,加速的,软件驱动的世界。
翻译自: https://www.infoworld.com/article/3455244/kubernetes-meets-the-real-world-3-success-stories.html
kubernetes案例