很多企业开始了其数字化转型之旅,并想要告诉什么是云原生以及为什么必须它?行业媒体公布了一篇取名为“南北云原生:人们必须告诉的6个基本内容(Going Cloud Native:6 Essential Things You Need to Know)”的文章,辩论理解术语“云原生”的关键方法,并叙述了如何利用云原生功能来减缓研发团队的工作效率,并提升企业的创新能力。云原生简史根据用户的拒绝,云原生有可能意味著很多有所不同的事情。十年前,这是由Netflix公司建构的术语,这个公司利用云计算技术,从一家DVD光盘零售商公司发展到全球仅次于的按须要消费内容网络交付给商之一。Netflix公司首创了人们称作“云原生”的先河,对于云计算软件展开新的设计、切换、拓展。
由于Netflix公司取得了难以置信的顺利,并且需要更慢地为客户获取更加多功能,很多企业期望告诉他们如何使用云原生技术以取得如此极大的竞争优势。从本质上谈,云原生是一种提升业务速度的方法,也是一种建构团队的方法,可以利用Kubernetes和容器等云原生技术获取自动化和可扩展性。云原生架构:它是什么样子的?(1)单片架构与微服务架构Netflix公司前云计算架构师Adrian Cockcroft在错误展开了一次灾难性公布之后,该公司将他们的整体架构从单片架构移往到微服务架构。单片架构的问题是,当研发和测试新的特性时,要将这些变更部署到生产环境中,必须代价相当大的希望:·必须多个团队来协商他们的代码变更。
·同时部署多个功能必须大量的前期构建和功能测试。·研发团队仅限于用于一种或两种语言。向微服务的改变使Netflix公司开发人员需要更慢地向客户获取新功能。微服务产生了一个具备有界场景、牢固耦合的、面向服务的架构。
这意味著,如果必需同时改版每个服务,那么它会牢固耦合;并且沿着完全相同的线路,如果用户对于周围的服务必须展开更好的理解,那么就没“有界场景”。(2)微服务、Docker和KubernetesDocker容器非常适合微服务。通过在分开的容器中运营微服务,如果不愿的话,它们都可以独立国家部署,甚至可以用于有所不同的语言。
容器化避免了语言、库或框架之间产生摩擦或冲突的风险。由于容器是可迁入的,并且可以彼此隔绝地操作者,因此用于容器创立微服务架构并在必须时将其迁入到另一个环境非常简单。
(3)容器选曲一旦有大量的微服务在Docker容器中运营,企业就必须一种方法来管理或协商这些容器,以便它们作为应用程序更有意义。这就是企业必须一个协商器(集群管理器)的地方,比如Kubernetes、Docker Swarm等。
在过去的一段时间里,企业必需作出一个明智的自由选择,自由选择用于哪一个容器选曲。谷歌公司公布的Kubernetes则名列前茅。所有主要云计算提供商都通过更容易加装的解决方案为Kubernetes获取反对。
这个辩论的要点是,为了让大多数公司具备竞争力,他们必需环绕微服务建构应用程序,并在Kubernetes集群中运营它们,尽管有些公司也在其他选曲器上运营Docker容器。(4)自动部署随着应用程序在容器中运营并在Kubernetes中展开协商,下一步是自动部署。
持续自动化的功能东流是DevOps与其他软件开发理念和实践中(如瀑布模型)的区别,后者的研发将遵循有序的阶段序列。连续性并不意味著工程师们正在无时不刻地改版代码,或者他们在每次代码行变更时都在部署改版。从这个意义上说道,连续性是指通过自动化的倒数构建和持续部署管道(CI/CD)定期发售的软件变更和新功能。
可以在建构持续交付给管道中寻找更加多用作建构持续部署管道(CI/CD)的DevOps策略。(5)监控应用程序和微服务用于容器和微服务,监控解决方案必需管理比以往更好的服务和服务器。不仅必须管理更加多对象,而且云原生应用程序还不会分解大量必须追踪的额外数据。从由如此多的移动部件构成的环境中搜集数据是简单的。
Prometheus是这些动态云环境的最佳现代解决方案。它专门用作监控大规模容器中运营的应用程序和微服务,并且是原生的容器化环境。(6)文化变迁将云原生技术和DevOps最佳实践中实行到的组织中的顺利在相当大程度上各不相同其现有的公司文化。
内部团队不仅要学会使用横跨功能方法,保证软件以倒数的节奏展开递归,而且还要补足的组织的业务目标。实际转换到云原生有可能是其旅程中最简单的部分;让这些变更维持恒定,并在整个的组织中传播它们很有可能是流程中最艰难的部分。
本文来源:永乐国际f66-www.rt799.com