天天看点

带你读《云原生应用开发 Operator原理与实践》第一章引言1.1云原生介绍(三)

3. 云原生概念的发展

在Docker和k8s不断发展时,“云原生应用”的理念被逐步提出。2014年,Pivotal公司提出了“CloudNative”一词,并且提出了一系列概念,凡是符合这些概念的应用都叫云原生应用。Pivotal 公司也在不断修改云原生应用的特征定义,2014年,该公司提出Twelve-Factor应用、Microservices等;2017 年,提出模块化、可观测性、可部署性、可测试性、可处理性、可替换性,2019年,将云原生应用的特征定义修改为DevOps、持续交付、容器化、微服务化。同时,CNCF基金会是云原生理念的重要推手,它不断改变云原生应用的定义:2015 年,将云原生应用定义为容器化、微服务化、动态编排,2018 年,将云原生应用定义为容器、服务网格、微服务、不可变基础设施、声明式AP(I云原生服务的发展如图1-3所示。

带你读《云原生应用开发 Operator原理与实践》第一章引言1.1云原生介绍(三)

图 1—3 云原生服务的发展

总之,“云原生”虽然像“中台”概念一样也在不断被炒作,但云上的应用的确在向“云原生应用化”发展。云原生只是一种理念,指的是软件“生于云上、长于云上”,能够最大化地利用云的能力实现商业价值。很多人认为云原生就是容器、k8s,其实不太准确。没有容器、k8s,一样可以实现云原生,但有了容器和k8s,再配合其他技术、产品,能够更好地组织团队,利用云提供的各种能力,如DevOps,以敏捷的方式开发、交付、管理复杂应用,更快地响应市场,实现商业价值。云原生也是“云的本源需求”。云计算的初衷就是要像水、电一样为人们提供按需、随处可得、易用、弹性的服务和能力。用户不需要考虑水和电是如何产生的,只需要考虑如何利用水和电。云原生也一样:用户只需要专注业务、考虑如何实现业务,而不需要考虑业务必需的硬件、操作系统、数据库、MQ(消息队列)、缓存、开发框架、微服务框架等。这些都交给云服务商来考虑。

所以,云原生对开发者来说,就是要利用好云的能力,构建满足容器化、微服务化、可以敏捷迭代、更具备弹性化等特征的云原生应用;对云服务商来说,就是要在设计云产品和服务时,考虑如何更好地支撑和承载云原生应用。

继续阅读