几句话说清楚43:什么是云原生Cloud Native

容器就是云原生?微服务就是云原生?K8S就是云原生?

想要知道什么是云原生,首先需要知道什么不是云原生。

前一段时间云厂商喊得最响的口号就是“上云”。上云的意思很简单,就是把企业中原有的基于私有数据中心和虚拟化IT平台的业务都塞(迁移)到云上去。

这部分业务其实是云计算时代的“拆迁户”,离开了自己住得习惯的深宅大院,挤到了分配的回迁房里,一切都非常别扭,人别扭,房子也别扭。但修修补补拉拉扯扯,勉强也跑起来了。

这些“上云”的业务,就不是云原生业务。

当“上云”这个阶段逐渐过去之后,开始出现直接在云上部署的业务。这些业务没有迁移的历史包袱,可以完全按照“云”的特点来设计满足业务需求,一出生住的就是楼房,是“云”的原住民。这就是“云原生”的字面含义。

但这里不是说“容器”或者K8S住在楼房里,而是说的这种“业务”住在楼房里。若真的想去理解“云原生”,不应该先去理解云或者容器,而应该先去理解这种业务。

云原生的业务实质上都是在线业务。但时至今日,对在线业务的定义也早已不同于之前的“在线BBS”这类原始时期按拨号电话收费的上网冲浪服务了。现今典型在线服务的几个例子:在线电商、视频、会议、游戏、广告、金融以及Saas服务等等。这类业务有很多共同点可以总结,但归根到底在线业务的特点只有一个,就是:永远在线。

永远在线并不是那么容易,我们简单分析一下:

  • 首先要不能中断,服务不能挂
  • 其次业务迭代升级用户无感知,不能动不动就停机维护
  • 最后,无论多大的瞬时流量都能顶住,各个用户之间不存在干扰

这就决定了支撑“云原生”业务的技术所应具备的特点:

  • 高可用
  • 快速迭代/交付
  • 资源按需分配

这样是不是就很符合容器、K8S、Microservice、DevOps、CI/CD那一套了?但是好像虚拟化技术也有高可用啊,也能搞DevOps啊,也可以按需分配资源啊,这没有错,在功能上都可以实现,但在线(云原生)业务提出的是对性能的要求。不仅仅是容器更加轻量,更易扩展的原因,同时也是对新的治理方式、管理手段的要求。

“云原生”修饰的并不是哪种技术,而是业务。直接讲“云原生技术”并不合适,而应该是“云原生业务”和“支撑云原生业务的技术”。

所以,并不是因为云计算/容器技术发展普及了,才出现了“云原生”这个概念,而是有了新兴的市场,才有了云原生业务出现的土壤,这一切其实和容器都没有关系。从根上讲,驱动技术发展演进的动力有很多,但能让技术大行其道的动力都是来自于业务(赚钱)需求。

© 2020 DecodeZ All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero