作为云原生专栏的开篇,本节不会介绍具体的技术,而是先浅谈下我自己对于云原生的一些体感。
云的本质就是对计算资源的抽象,对使用者屏蔽底层硬件的细节。 传统的云计算如典型的 OpenStack 等,是建立在虚拟化的技术之上的,其中的关键就是 Hypervisor,即在一台真实的物理机上,可以运行多个虚拟机操作系统,多个虚拟机共享物理机的硬件资源。
但是这种方案在大规模的服务集群下就会存在一些问题,例如:
为了解决传统云计算领域的问题,容器化技术逐渐大放异彩,并推动云原生的快速发展。
简单来说,云原生指的是在包括公有云、私有云、混合云等动态环境中构建和运行规模化应用的能力。 这里面涉及几个关键点:
可以看出,云原生并不是某一项具体的技术,而是一种思想,是技术、业务和企业管理方法的集合。其中涉及到多种设计思想和技术手段,包括但不限于:
基于上述的设计思想和技术手段,云原生的意义在于:
在 CNCF 官网,我们可以看到云原生技术栈的 Landscape,几乎大多数主流的框架和中间件都和云原生有或多或少的关联。
我们不可能每个项目都去学习,下面我简单梳理一下其中最核心的技术: