【云原生】概念详解

云原生这个词由来已久,IT行业也永远不缺乏新概念。2015年,Pivotal公司的马特·斯泰恩(Matt Stine)提出Cloud Native这一概念,并对云原生的概念进行了详细的阐述。云原生的主旨是构建运行在云端的应用程序,致力于使应用程序能够最大限度地利用云计算技术特性的优势,提供更加优质的应用服务。
  云原生也是一种构建和运行应用程序的方法,它充分利用了云计算的优势,重点关注如何在云计算交付模式下创建和部署应用程序。云原生应用适用于公共云和私有云,开发人员可以充分利用当前云计算平台上的资源来构建应用,采用适用于云计算环境下的开发方法进行软件开发。通过云原生的方式构建和运行应用程序,使企业更敏捷地进行创新,以更快速地向市场推广产品和服务,做到更快速地响应客户需求。
  云原生与传统云计算最大的区别在于,传统云计算关注的是如何提供性价比最高的计算、存储、网络资源,而云原生关注的是如何让产品能够支持快速验证业务模式,如何简化复杂的开发流程、提升研发效率,如何保障产品的高可用性让业务无须承受成长之痛,如何实现大规模弹性伸缩轻松应对业务爆发等。
  为了解决传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,云原生这一概念横空出世。云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司的决策。另外,云原生也很好解释了云上运行的应用应该具备什么样的架构特性——敏捷性、可扩展性、故障可恢复性。

云原生的内容

云原生是面向“云”设计的应用,因此技术部分依赖于传统云计算的三层概念,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。例如,敏捷的不可变基础设施交付类似于IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,可以直接通过API对外提供服务;有些应用通过PaaS服务就能组合成不同的业务能力,不一定需要从头开始建设;还有一些软件只需要“云”的资源就能直接运行起来为云用户提供服务,即SaaS能力,用户直接面对的就是原生的应用。
  应用基于云服务进行架构设计,对技术人员的要求更高。除了对业务场景的考虑外,对隔离故障、容错、自动恢复等非功能需求会考虑更多。借助云服务提供的能力也能实现更优雅的设计,例如弹性资源的需求、跨机房的高可用、11个9(99.999999999%)的数据可靠性等特性,基本是云计算服务本身就提供的能力,开发者直接选择对应的服务即可,一般不需要过多考虑本身机房的问题。如图所示,目前业界公认的云原生主要包括以下几个层面的内容。

敏捷基础设施
  正如通过业务代码能够实现产品需求、通过版本化的管理能够保证业务的快速变更,基于云计算的开发模式也要考虑如何保证基础资源的提供能够根据代码自动实现需求,并记录变更ÿ

你可能感兴趣的:(云原生,运维,云计算)