云原生架构系列——概念及原理

1 云计算发展进程

云原生架构系列——概念及原理

  • 2000年:sun公司研发出了高性能服务器,用于支撑企业的关键业务
  • 2001年:硬件资源难以做到弹性扩缩容,这就导致不可避免的会出现资源的浪费,比如你购买了一台8核16G的服务器,但你的应用可能只需要4核8G。所以IBM研发出了VMware,虚拟机的好处就是可以弹性扩缩容,能充分发挥硬件资源。
  • 2006年:Amazon公司提出了IaaS(Infrastructure as a Service),基础实施即服务。就是把硬件资源,比如服务器、DNS、存储等通过虚拟化技术抽象成服务给企业用。企业不需要再建立机房,把应用部署在公有云上即可。
  • 2009年:HEROKU公司提出了PaaS(Platform as a Service),平台即服务。就是对IaaS进行了一层封装,提供了一些基础软件应用,比如阿里云上的MySQL、Redis等。
  • 2010年:随着云上的虚拟机不断的增多,管理起来非常复杂,此时出现了OpenStack,实现了对虚拟机的可视化管理。
  • 2013年:虚拟机的弊端是非常占用资源,需要安装客体机,所以docker应运而生,更轻量化的虚拟化技术。
  • 2015年:云原生诞生

2 何为云原生

在互联网行业,每一种技术和思想的出现都是为了解决某一种问题,云原生也是一样。云原生是为了解决运维的痛点,那运维有哪些痛点?

  • 要考虑为服务分配资源
  • 要及时为服务扩缩容
  • 服务宕机要能及时恢复
  • 实现不停机更新
  • 保证数据安全
  • …………

随着服务的增多这些问题会变的非常棘手。云原生就可以解决这些问题,能够实现自动运维。企业购买了云服务以后,不需要再去考虑分配资源的问题、扩缩容的问题等,只需要开发业务代码,开发完部署的云上就可以了。这样的云服务提供的是一套完整的方案,对于企业来说就是原生的云服务,不需要再去做任何其他事情,这就是云原生。
当下实现云原生最成熟的技术是容器技术,下面看一下整体的架构图
云原生架构系列——概念及原理
服务部署到容器里,容器运行在K8s平台上,K8s对资源进行统一的抽象和封装,实现自动化运维。