什 么是云原生
· 阅读需 6 分钟
云原生是最近几年的热门概念,然,呼声甚高,雷声甚大,知其所以然者,甚少。 原因在于云原生概念处于整个云计算技术栈上层,而云计算架构本身又比较复杂,因此在讲云原生之前,我们先了解一下它从那里来,再说他要到哪里去,我将与你姗姗道来。
单体服务时代
在古代,由于软硬件和网络技术不成熟,软件处理的业务复杂度较低,一般软件系统体量较小,单台服务器的计算和存储能力足以支撑其正常运行,我们称这种软件架构为单体应用(也称巨石应用)。

单体应用的优点是架构清晰,部署维护简单,易于测试。 随着业务复杂度逐渐提高,对计算和存储能力要求越来越高,单体应用只能靠不断优化软件算法和提高单台服务器的硬件配置来解决性能问题,于是整个系统的运行成本会越来越高,最终无法实现持续扩容。
集群服务时代
20世纪80年代以后,微型计算机开始普及, 单台计算机成本迅速下降,面对单体应用带来的扩容问题,终于有了物美价廉的解决方案: 对单体应用进行模块拆分部署,使用多主机分担性能压力。
由于不同业务模块对计算和存储的需求度不同,比如“数据管理模块”对存储资源的消耗多,而“数据分析模块”对计算资源的消耗多,可以根据业务需求将模块部署到单台或多台特定性能主机中,并对主机进行统一管理,形成服务器集群,我们称这种软件架构为集群应用。

集群应用很好的解决了单体应用中面临的扩容问题,通过配合均衡负载和反向代理等技术可以提供超大规模复杂业务的高并发访问和处理能力。
集群应用的优点是易扩容,部署灵活,系统可靠性高、业务承载能力强。
2010年开始,全球进入移动互联网时代,智能手机的普及,让互联网用户数量呈爆炸式增长。电商、社交、手游、短视频等线上业务迅速崛起,伴随而来的是互联网服务商的集群规模迅速扩大到数百台甚至上千台服务器。
由于大规模应用中服务器数量巨大,问题频发:
- 硬件老化损坏、网络故障、停电等不可控因素经常发生。
- 对某个业务的扩容或收缩,经常需要调整主机部署。
- 故障发生后响应速度慢,无法快速转移业务到其他主机运行。