采用云原生方法意味着拥抱许多利用创新的新选择。云原生团队使用的主要工具由云提供,而不是内部部署基础架构。
云原生应用程序敏捷,适应性强,易于监视。这意味着团队将通过频繁且快速的部署和迭代来构建它们。他们没有阻止失败,而是接受失败并具有实时改进的能力。
此外,在监视方面,他们不依赖外部因素。相反,可以从内部控制应用程序。云原生始于大约十年前,当时一群技术领导者向公众介绍了它。Weaveworks技术产品策略副总裁Paul Fremantle声称应该为云编写应用程序,以便在云上表现良好。然后,在2015年,摩根大通(JPMorgan Chase)执行董事Matt Stine在他的《迁移到云原生应用架构》一书中阐明了云原生概念。
现在,云涵盖了许多工具和方法,包括微服务,容器,CI/CD,多云等。CNCF Cloud Native Interactive Landscape概述了使用的大多数工具。为了帮助开发社区提供更好的替代方案来构建云原生应用程序,CNCF培育了这种开源工具格局。
什么是云原生DevOps?
如果我们将这两个定义结合起来,云原生的DevOps就会变成由不断开发,自动化操作和跨职能团队组成的一组实践,从而改善了最终用户的整体体验。云原生DevOps旨在使您的公司更加灵活。您可以通过Kubernetes和容器之类的技术来实现这一目标,该技术可以使流程自动化并使应用程序更具可伸缩性。
所有这些做法几乎适用于公司的每个方面。这意味着要改变涉及工具,人员和流程的整个文化。在文化方面,您需要采用面向DevOps的方法。这将促进人员和工具之间的更好的一致性。您必须激励员工更有效地协作,并鼓励更快的反馈圈。更快的反馈将使快速迭代和实时改进成为可能。您还必须进行一些技术更改。这指的是采用云原生DevOps中心的技术,例如容器化和微服务。