CNCF案例研究:Nav

一家初创公司如何通过Kubernetes将其基础设施成本降低50%

CNCF案例研究:Nav

公司:Nav
地点:犹他州盐湖城和加利福尼亚州圣马特奥
工业:为企业提供金融服务

挑战

Nav成立于2012年,为小型企业提供三个主要商业信用局 - Equifax、Experian和Dun&Bradstreet - 的商业信用评分,以及最符合他们需求的融资方案。五年后,该创业公司发展迅速,“我们的云环境变得越来越大,我们对这些环境的使用率极低,例如低于1%。”工程总监Travis Jeppson说。“我们希望我们对云环境的使用与我们实际需要的内容更紧密地结合在一起,因此我们开始关注容器化和编排,以帮助我们能够运行彼此不同,但可以共享类似资源池的工作负载。”

解决方法

在评估了许多编排解决方案后,Nav团队决定采用在AWS上运行的Kubernetes。Kubernetes周围社区的实力强大,以及Google的出身。此外,“其他解决方案往往相当笨重、非常复杂、非常庞大,而且很难立即管理。”Jeppson说。“Kubernetes为我们提供了一种非常简单的方法,可以作为符合我们当前需求的编排解决方案,而且它的可扩展性使我们能够在未来增长并能够构建更多特性和功能。”

影响

这个由四人组成的团队在六个月内完成了Kubernetes的启动和运行,Nav的25个微服务的完全迁移在另外六个月内完成。结果令人印象深刻:首先使公司走上了这条道路的资源利用率,从1%增加到40%。推出一项新服务过去需要两个开发者两周;现在只需一个开发者不到10分钟。部署增加了5倍。该公司节省了50%的基础设施成本。

“Kubernetes为我们提供了一种非常简单的方法,可以作为符合我们当前需求的编排解决方案,而且它的可扩展性使我们能够在未来增长并能够构建更多特性和功能。” - TRAVIS JEPPSON,工程总监,NAV

Nav成立于2012年,为小企业提供三个主要商业信用局 - Equifax、Experian和Dun&Bradstreet - 的商业信用评分,以及最适合他们需求的企业财务健康和融资方案的详细信息。工程总监Travis Jeppson表示,其使命归结为,“提高小企业的成功率。”

几年前,Nav认识到自己走向成功的障碍。业务发展迅速,“我们的云环境变得越来越大,我们对这些环境的使用率非常低,比如低于1%。”Jeppson说。“大多数问题都与扩展能力有关。我们只是在砸钱。'让我们启动更多的服务器。让我们做更多的事情来处理增加的负担。'而我们是一家创业公司,这可能会导致我们的死亡。我们没有钱在那种东西上烧。”

此外,每项新服务都必须经过10个不同的人,这需要两周时间才能完成。“所有的补丁管理和服务器管理都是非常手动完成的,因此我们都必须观察,并保持良好状态。”Jeppson补充道。“这只是一个非常麻烦的系统。”

“社区绝对至关重要:能够传递各种想法,谈论我们所面临的许多类似挑战,并获得帮助。我喜欢我们能够出于不同的原因解决同样的问题,但在此过程中互相帮助。” - TRAVIS JEPPSON,工程总监,NAV

Jeppson曾在以前的工作中使用容器,并将该技术推荐给Nav的管理层,作为解决这些问题的方法。他在2017年初获得了绿灯。“我们希望我们对云环境的使用与我们实际需要的更加紧密结合,因此我们开始关注容器化和编排,以帮助我们运行彼此不同的工作负载,但可以分享类似的资源库。”他说。

在评估了许多业务流程解决方案后,该公司决定采用在AWS上运行的Kubernetes。Kubernetes周围社区的力量强大,加上起源自谷歌。此外,“其他解决方案往往相当笨重、非常复杂、非常庞大,而且真的难以管理。”Jeppson说。“Kubernetes为我们提供了一种非常简单的方法,可以作为一个符合我们当前需求的编排解决方案,但它的可扩展性也可以让我们随之增长,并在以后构建更多特性和功能。”

Jeppson的四人工程服务团队在六个月内完成并运行了Kubernetes(他们决定使用Kubespray来启动集群),Nav的25个微服务和一个主要的单体在另外六个月内完成完全迁移。“我们无法重写一切;我们无法停机。”他说。“我们必须不停运行,我们必须保持可用,我们必须有最少的停机时间。因此,我们对构建管道、度量标准和日志记录非常满意,然后围绕Kubernetes本身:如何启动它、如何升级它、如何为它提供服务。我们一点一点地移动。”

“Kubernetes通过允许我们以前从未有过的所有这些新自由为Nav带来了如此多的价值。” - TRAVIS JEPPSON,工程总监,NAV

该过程的一个关键部分包括培训Nav的50名工程师,并对新工作流程以及迁移路线图保持透明。Jeppson在整个过程中定期进行演示,并为整个工程师团队提供一周每天四小时的实验室。然后他在GitLab中创建了一个存储库来存放所有信息。“我们展示了所有前端和后端开发者如何进入,使用kubectl自己创建自己的命名空间。”他说。“现在,很多时候,他们只是来找我们说,'这已经准备就绪。'我们点击GitLab中的一个小按钮,让它进入生产阶段,就完成了。”

自从迁移工作于2018年初完成以来,结果令人印象深刻:首先使公司走上了这条道路的资源利用率,从1%增加到40%。推出一项新服务过去需要两个开发者两周;现在只需一个开发者不到10分钟。部署增加了5倍,从每天10个增加到每天50个。该公司在计算方面节省了50%的基础设施成本。“接下来我们想进入数据库方面,一旦我们这样做,那么我们将继续降低成本。”Jeppson说。

Kubernetes还帮助Nav满足其合规需求。之前,“我们必须将一个应用程序映射到一个服务器,主要是由于数据的合规性规定不同。”Jeppson说。“使用Kubernetes API,我们可以添加网络政策,隔离该数据并在需要时对其进行限制。”该公司将其群集隔离到一个不受限制的区域和一个限制区域,该区域有自己的一组节点,用于数据保护。该公司还使用Twistlock工具确保安全性。“这使夜间睡眠变得更加容易。”他补充道。

“我们现在处理的流量是四到十倍,而且就像'哦,是的。我们很好。Kubernetes为我们处理这个问题。'” - TRAVIS JEPPSON,工程总监,NAV

随着Kubernetes的到位,Nav团队也开始采用Prometheus来改进系统的指标和日志记录。“Prometheus制定了一个关于衡量标准的标准,这对开发者来说非常容易采用。”Jeppson说。“他们可以自由地展示他们想要的东西,做他们需要的东西,并保持他们的代码库清洁,这对我们来说绝对是必须的。”

Nav来年接下来的是:查看跟踪、存储和服务网格。他们在KubeCon花了很多时间与其他公司交谈之后,目前正在评估Envoy、OpenTracing和Jaeger。“社区绝对至关重要:能够传递各种想法,谈论我们所面临的许多类似挑战,并获得帮助。我喜欢我们能够出于不同的原因解决同样的问题,但在此过程中互相帮助。”Jeppson说。“还有很多要做的事情,关于可扩展性,围绕能够真正完全采用云原生解决方案。”

当然,这一切都始于Kubernetes。凭借这项技术,Jeppson的团队已经建立了一个平台允许Nav扩展,并“通过允许我们以前从未有过的所有这些新自由为Nav带来了如此多的价值。”他说。

关于新产品的讨论,过去常常陷入困境,因为他们必须等待六个月才能建立一个隔离环境,然后找出如何处理流量高峰。“但现在对我们来说没什么。”Jeppson说。“我们现在处理的流量是四到十倍,而且就像'哦,是的。我们很好。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邀请你加入最终用户社区

相关推荐