Kubernetes成熟度模型:预期的业务成果

客座文章来自Fairwinds内容营销总监Danielle Cook

当你迁移到Kubernetes时,你必须显示出明确的业务优势。预期的业务成果将包括随着时间的推移节省成本,因为你拥有更好的基础设施利用率,通过减少故障点提高性能,并提高安全性。

效率、可靠性和安全方面的好处可以通过许多不同的方式实现。考虑效率:你的团队可能会更快地发布特性,或者你将不再在供应了的资源上浪费金钱。你的可靠性可能会提高,因为你可以更容易地扩展——所以当你的应用程序看到强劲的需求时,没有停机时间。当然,这一切都是以 集群配置的可见性 [1] 为代价的。

几个月前,我们发布了 Kubernetes成熟度模型 [2] 。包括七个阶段,每个阶段都着眼于工程师从Kubernetes准备到优化过程中应该期待什么。

这里我们专门讨论一下你应该期待的业务成果。虽然在几个阶段可能会重复,但在第一阶段花足够的时间来概述采用云原生、容器和Kubernetes的目标和好处是很重要的。

第一阶段:准备

决定对应用程序或服务采用云原生方法通常是由业务原因驱动的。在第一阶段中,你的业务成果将是有限的,但是绝对必须包括为成功试验或迁移的设置。这意味着你应该有关于你的业务目标是什么,以及Kubernetes如何帮助你实现这些目标的文档。一些例子可能包括:

业务目标 Kubernetes如何帮助
扩大到100万用户 随时提供基于用户的灵活、可伸缩的基础设施,并在出现问题时提供快速故障转移。
提供卓越的客户体验 确保应用程序可靠,不会让用户感到沮丧。
更快地将功能推向市场 使用微服务方法构建应用程序。较小的团队更敏捷,因为每个团队都有一个专注的功能。API减少了构建和部署所需的跨团队沟通。

第二阶段:转型

Kubernetes成熟度的第二阶段主要集中在技术转型上。然而,在这个阶段,你的技术团队应该已经成功地完成了POC。基于这一试验,你应该对Kubernetes将如何帮助你改进应用有一些初步发现。例如,在开发环境中,你可以看到:

  • 应用程序使用更少的资源(节省成本)

  • 新功能的发布速度更快(更快的上市时间,从而增加了收入)

  • 没有停机时间(提高了给客户的可靠性)

业务目标 Kubernetes如何帮助
POC 你应该对Kubernetes如何提供帮助有一些初步发现。

第三阶段:部署

当开发团队将一个应用程序部署到生产环境中,业务成果就应该开始显现了。你应该使用已记录的业务目标来跟踪Kubernetes的进展,但是请记住,它不会在第一天就立即完成。业务成果可能包括:

  • 减少应用程序基础设施的支出

  • 减少团队对应用基础设施的关注(注意:这将随着时间的推移而发生,因为团队对自己的技能越来越有信心)

  • 提高了应用程序的安全性

  • 提高遵从性,因为你可以限制和跟踪对应用程序的访问

  • 在实现CI/CD流水线时加快开发生命周期,从而更快地将特性提供给客户

在此阶段,检查业务成果并向业务涉众解释是非常重要的。它应该是与工程领导、应用程序所有者(财务、市场营销等)、首席执行官,甚至董事会的讨论。如果没有这些讨论和协调,迈向下一阶段的成熟将不会得到多少赞赏,甚至可能会遭到怀疑。

业务目标 Kubernetes如何帮助
减少应用程序基础设施的支出 提高资源的利用率
减少团队对应用程序基础设施的关注 快速故障恢复
增加安全 通过限制、RBAC、Kubernetes秘密和加密减少DDoS的影响
改善遵从性 访问控制
特性发布更快(加速开发生命周期) 滚动更新

第四阶段:建立信心

建立Kubernetes的信心需要经验。在这个阶段,你的业务成果取决于你的团队的经验。他们将尝试新的附加组件来提高安全性、效率和可靠性。随着团队的改进,所有这些都将影响你的服务和应用程序。

你的团队可能需要重新考虑Kubernetes推出时做出的一些决定。这可能会让你稍微受挫,但我们的目标是确保不会丢失功能、不会出现单点故障或令人失望的性能。

在第四阶段,将实施监控。这将帮助企业获得关于哪些能和不能工作的报告。虽然监控可能非常具体,但它也将提供以下洞察:

  • 资源利用以控制成本

  • 性能以确保可用性

对你的Kubernetes基础设施是生产级抱有信心是至关重要的。如果你对进展不确定, Kubernetes审计 [3] 是一个很好的方法来检查你的成就与业务目标,以便进行改进。

业务目标 Kubernetes如何帮助
检查目标 实现针对业务目标的监控

第五阶段:改进操作

Kubernetes成熟度模型的第五阶段是你期望在安全性、效率和可靠性方面获得巨大收益的阶段。到目前为止,你的团队一直专注于学习Kubernetes。现在是时候将这些知识更彻底地应用到你的业务目标中了。

  • 安全性——如果你的主要目标是增加安全性,这里你将花时间在访问控制上。

  • 效率——如果降低成本是你的主要目标,那么你将使用 工具来度量CPU和内存使用情况 [4] ,并记录云使用情况是如何增加或减少的。在这里,你应该能够演示以支持基线测量。

  • 可靠性——如果提高性能/减少停机时间是主要目标,那么你可以在这里检查Kubernetes的所有特性是否都实现了。你将花费一些时间来研究集群配置。

业务目标 Kubernetes如何帮助
安全性 实现容器配置(root)、特权的控制
效率 测量CPU和内存使用情况
可靠性 活性/就绪探针、复制

第六阶段:测量与控制

进入第六阶段,你会看到更多关于你所做的事情的度量。这一点很重要,因为它将用于演示业务成果。企业应该期待看到:

  • 在Kubernetes建立了协议和程序

  • 法规遵循标准的政策执行

  • Kubernetes与非Kubernetes应用程序的比较

在这个阶段,业务应该会收到更多的报告。报告应该包括遵从性、安全性、性能和成本。集群中的单一仪表板视图可以帮助技术和业务领导看到进展。这些应该很容易与第一阶段中建立的业务目标相一致。

业务目标 Kubernetes如何帮助
增加了对度量的报告 在这个阶段你可能需要第三方工具
基于K8s与非K8s构建的应用程序的比较 比较有助于证明价值,显示是否所有应用或哪些应用应该迁移

第七阶段:优化和自动化

到Kubernetes成熟度模型的最后阶段时,你应该已经获得了业务成果。你应该有可衡量的成果来展示给你的领导团队,从首席执行官到首席财务官和董事会。

与此同时,第七阶段将看到你做出进一步的改进。这包括根据更高级的成本和性能指标优化Kubernetes的工作负载。你将永远不会停止优化Kubernetes集群。在这里,预期的业务成果是能够跟踪优化如何继续移动既定目标。

在这个时候,你也可以重新审视你的目标,根据已经实现的目标和未来你想要实现的目标来调整它们。对于一些人来说,此时,你可以开始迁移其他应用程序,并更好地理解你想要实现的目标。

同样在第七阶段,你将根据Kubernetes的最佳实践尽可能多地实现自动化,以消除人为错误,从而避免安全和性能问题。这种自动化将包括针对集群配置实现策略实施。 策略实施 [5] 应该在成熟度模型的每个阶段都考虑,但在第七阶段肯定要考虑。成熟的Kubernetes用户知道错误的配置会导致组织完全失去他们的业务目标——将他们置于安全漏洞、扩展问题和成本超支的风险之中。

业务目标 Kubernetes如何帮助
实现业务目标 实现Kubernetes成熟度的可演示成果
自动化 减少人为错误
优化 你将对Kubernetes进行调整,以继续实现业务目标

总结

成熟度模型应该用于检查技术和业务成果。如果你不确定你是否在每个阶段取得进展,或者不知道你确切的位置,联系一下。我们很高兴在贵组织讨论Kubernetes。

参考资料

[1]

集群配置的可见性: http://www.fairwinds.com/insights

[2]

Kubernetes成熟度模型: https://www.fairwinds.com/kubernetes-maturity-model

[3]

Kubernetes审计: https://www.fairwinds.com/kubernetes-audit-improve

[4]

工具来度量CPU和内存使用情况: https://www.fairwinds.com/blog/kubernetes-best-practice-efficient-resource-utilization

[5]

策略实施: https://www.fairwinds.com/blog/why-kubernetes-policy-enforcement

点击【阅读原文】阅读网站原文。

CNCF概况(幻灯片)

扫描二维码联系我们!

CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux  Foundation,是非营利性组织。 

CNCF 云原生计算基金会 )致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。

CNCF
我还没有学会写个人说明!
上一篇

霍金打赌服输的黑洞重新精确测量!自转速度接近光速

下一篇

如何搭建一个内部组件共享平台

你也可能喜欢

评论已经被关闭。

插入图片