云原生初探:云计算的全面解析

发表时间: 2021-09-17 10:37

云计算是什么


第一个云计算平台AWS是亚马逊推出的,什么是云计算平台,为什么亚马逊要搞云计算平台呢?


我们来想象一下,假如你做了一个电商网站,刚开始用户不多,只要一台服务器就能搞定了,随着用户不断增多,就需要不断买服务器,随着服务器不断增加,就需要建数据中心了,这就是数据中心的硬件时代。而网站的访问是不均衡的,有高峰有低谷,可能圣诞季需要100台服务器,平时只需要20台,那剩下的80台不是浪费了么?


这时亚马逊灵机一动,把剩余的资源出租出去不就行了么,于是云计算就诞生了,通过虚拟化技术虚拟出一台台服务器来租给用户。而且对用户来说也是这样,买了100的算力可能平时也就用到20,那剩余的又可以出租。。。


那对用户来说有什么好处呢?云中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费,这种特性被称为像水电一样使用IT基础设施。


云计算历程


vmware相信很多人都用过,算是云计算的前身,可以很方便的在电脑上虚拟出一台linux或者windows服务器。而真正的云计算管理工具要属openstack,可以很方便的创建和管理云计算平台,他是负责基础设施管理的,所以这类传统云计算技术又叫IaaS(基础设施即服务)


在IaaS服务基础上,如果服务提供商把操作系统,运行环境,中间件都准备好,你只需要部署自己的服务就能直接使用,就叫PaaS(平台即服务)


如果软件已经好了,用户可以购买软件服务直接使用,就叫Saas(软件即服务),像钉钉,微盟就是这个类型的


应用开发好后生成一个镜像,用户安装下这个镜像就能使用,叫CaaS(容器即服务)


云平台的优缺点


优点


  • 稳定性:云平台大量资源,分布式集群部署,保障服务永不宕机
  • 弹性扩展:按需索取,一键秒级开通需要的资源
  • 安全性:云上平台生产级可用的完善权限系统
  • 成本:初期计算资源成本极低,后期更是大量降低运维成本
  • 易用性:各大云商都有Web管理控制台,可视化,智能化便捷操作


缺点


  • 公有云,服务资源被第三方管理,不符合特殊级别的安全场景
  • 私有云,搭建、维护、升级成本大


云原生


云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运


行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基


础设施和声明式API(配置文件、请求、可视化操作....)、云上配置文件


这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动


化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。


通过上面云原生的定义可以看出,云原生是一类技术的统称,是为了构建更易于弹性扩展的应用程序。


他包含4个要点,DevOps+Serverless+微服务+容器


那如何学习云原生呢?我们看下官方提供的路线图



我们重点讲下作为开发需要关注的内容


  • 容器化,重点学习docker等容器技术
  • CI/CD,持续集成,持续部署相关技术
  • 容器编排技术,重点学习k8s技术
  • 运行可视化,比如链路追踪,日志等
  • 服务网格service mesh
  • 网络策略,安全相关
  • 容器注册,运行时,如harbor, cri-o