从发展历程来讲,国内跟国外又有点不同,云计算的概念最早2000年起源于美国,然后我国从07年开始引入。国外的云计算基本是由企业牵头来做推广普及的(资本主义嘛),我国引入了概念后,基本是*、政策两大方面来驱动影响。去年(18年)的*报告也再次提出了把发展智能制造作为主攻方向,推动“中国制造2025”战略落地,云计算在里面是最基础最重要的核心技术之一。
从技术层面,云计算的发展基本是按照 虚拟化、网络化、分布式技术成熟稳定 --> IAAS成熟稳定--> PAAS成熟稳定 --> SAAS成熟稳定 这条路线走的。每个阶段都有业界开源或者非开源的技术未代表,比如最开始的虚拟化阶段,典型的代表是Xen、vSphere、KVM等技术;IAAS层是OpenStack;PAAS层是Kubernetes;SAAS层开源界当前还没有典型的代表,aws推出了有Lambda 。
随着未来IoT物联网、5G、IPv6全面实行、量子计算等技术全面发展和普及,云计算将会是最底层的支撑核心技术。然后这些技术的发展,必然也会带动和升级云计算。国家与西方的较量和角逐,通过政策性的引导投入在先进的互联网技术,这不失为“弯道超车”的良计。落实到个人,作为云计算的从业者,我想这是一门值得投资关注和永久学习的技术。
0 2
什么是IAAS、PAAS、SAAS
刚才我们提到过IAAS、PAAS、SAAS这几个词,而且只要你关注过云计算,这几个词你不会陌生。那么什么是IAAS、PAAS、SAAS呢?我们下面来讲一讲。
我们知道TCP/IP有七层协议,协议的出现和规定就是让标准能够统一,这样无论是开发者、使用者、网络设备厂商都能按照这公认的协议来学习和生产。如果没有协议,我想必将会乱套,你搞你的标准,我搞我的标准。
云计算这块虽然没有类型TCP/IP这样协议的强定义,但是公认的会把云计算分为三个层级,这三个层级就是IAAS、PAAS、SAAS。至于为什么要这么分,个人认为主要是云计算牵扯的方面太多了,一个庞大的东西如果不分层,必然也会乱套。接下来我们看看这三个层级分别的定义(源自*):
基础架构即服务(IaaS)提供在线的高级API服务,底层基础架构细节都不会向上体现,比如服务器位置,网络布线,数据分区、扩展、备份,安全性等等。底层的计算、网络、存储等资源都将通过虚拟化技术来整体管理和配置,这些虚拟化技术有Xen,KVM,VMware ESX/ ESXi,Hyper-V,Ceph,SDN等。
说直接点就是传统的计算、网络、存储资源全部做虚拟化,之前直接管理服务器、交换机、存储。虚拟化之后你只要在电脑面前操作虚拟化管理平台管理这些硬件虚拟出来的VM、虚拟交换机、路由器、存储池。
平台即服务(PaaS)或应用程序平台即服务(aPaaS)是云计算服务的一种,它提供了一个平台,允许客户在这个平台上开发、运行和管理应用程序,无需去考虑应用程序的构建和维护工作。
说直接点就是 PAAS是建立在完善的IAAS之上的,用户使用PAAS平台,只关心如何去使用PAAS平台给予的资源,而这些资源的创建、维护工作,使用者完全不用关心。
软件即服务(Software as a Service,缩写:SaaS)有时被作为“即需即用软件服务”,它是一种软件交付模式。在这种交付模式中云端集中式托管软件及其相关的数据,软件仅需透过互联网,而不用通过安装即可使用。用户通常使用精简客户端经由一个网页浏览器来访问软件。
说直接点就是假如有家SAAS级云服务供应商,它的网页控制台有CRM、ERP、OA等等你需要用到的软件。传统的软件,无论是BS架构或者CS架构,SAAS供应商都能够提供(或者额外提供),比如腾讯之前提供的web QQ也算是一种SAAS级服务。作为用户,你只关心使用SAAS提供的成熟级的软件应用,其他一切事情,比如数据存储、软件维护、安全等都交给云厂商处理和负责。
上面是关于IAAS、PAAS、SAAS分别概念的讲解,下面我们来看一张图,通过图的介绍,我想你能更加理解它们的区别和联系。
正经版
图中深蓝色的部分代表IT人员需要关心的部分,浅蓝色就是云计算层级负责的部分(IAAS、PAAS、SAAS分别包含的领域)。
第一张图,很好理解。云计算出现之前,IT建设需要负责的部分。下到机房选址、服务器上架、网络布线...上到系统安装、应用部署、数据维护... 通通全套你需要负责,这是一个原始的IT管理时代。
第二张图,随着虚拟化底层计算、网络、存储硬件层工作 全部 “封,云计算的出现。装” 交给云厂商负责了(当然,如果你是自建私有云,你应该理解成这块交给云管理平台封装完成)。
第三张图,IAAS层的稳定和完善,那么虚拟机、中间件、运行时等工作的管理,开发者也不想管了,让他们也打包交给云厂商或者某云管理平台负责。
第四张图,云计算的终极完美形态,云厂商负责一切IT事物,用户能放心大胆的通过互联网随意调用的他想用的IT服务。
当然,如果你对上面的讲解还不明白,可以看看下面这张图。下面这个图用了一个“做包子”的例子来讲解IAAS、PAAS、SAAS。
不正经版
假如有个创业者想开一家包子店卖包子,那么如果他是第一种方式,什么都从头搞,从最底层的燃气管道、煤气灶、锅等等都得自己购入搞定;如果他不想那么麻烦,可以试着第二种,转手别人不想开的包子店,但是面粉、捏包子得自己完成;如果还嫌麻烦,可以加入某品牌连锁店,大量购入做好的速冻包子(没那么新鲜);最后一种,连锁店直接每天早上供应最新鲜的包子,你只管卖就好。
03
容器云介绍
上面长篇大论说了两点内容,其实这也是为了引出本文章的正题。本系列文章聚焦在Kubernetes这项开源技术,这项技术是PAAS层级的典型开源代表。所以,了解前面两点的知识背景,有助于你站在一更高层面理解和学习这项技术。
01
容器技术为什么会火?
之所以要讲讲“容器云”,主要也是时代发展趋势必然所致。07年国内开始云计算概念引进,到现在各大云厂商的兴起,已经整整过去了12年。这12年,前面6年都是在做IAAS层的建设。概念炒作、私有云落地、企业上公有云... 都是一步步走过来,每一年都有突飞猛进的变化。6年一过,IAAS建设还在不断完善,随之开始有PAAS层技术概念的兴起,2010年开始国外Cloud Foundry、Coreos、docker容器技术刚刚创立,给云计算又指明了一个新道路。随后的两三年(2013年),国内开始引进这些技术,IT从业者又在不断学习,寻找比IAAS更完美的云计算管理方案。
IT人员学习需要时间,不到两三年的功夫,从16年开始,docker、k8s等技术就火的一塌糊涂。之前iaas层的建设,大部分都是运维人员参与,开发只负责写代码从不参与底层运维管理工作。随着容器技术的出现,开发人员和运维人员很自然的走在了一起,有了融合(devops)。这也是让docker和k8s火的原因之一,支撑PAAS层级的人员至少增加了一半(甚至更多)。
02
容器云时代是否来临
其实,你可以把容器云理解为云上的容器技术服务,这个概念的终极体现就是PAAS层的云交付模式。前面谈到,docker、k8s现在已经是大火,这必然会推动云计算PAAS层的完善和普及。站在云厂商的角度,前几年客户不断的来上云、用云,其实就是在不断的玩IAAS。等IAAS玩溜了,没得玩了,自然会考虑云厂商的PAAS、SAAS层级产品。所以,你问容器云时代是否来临,我觉得从17年开始就已经来了。有些技术体系完善走得靠前的公司,他们已经步入选择PAAS层级的云产品(或者自建k8s无数遍了)。
PS:还得再提下,开发人员真的很喜欢docker。
03
容器云是否会取代传统云
这几年玩技术的,有点逼格的都会关注这家公司发布的数据,那就是 —— Gartner。高德纳这家公司是信息技术研究和分析的公司,他们出的IT技术信息报告和数据分析都非常权威可信(还有它的魔力象限,国外大厂都认可并且愿意争求达标)。所以,看一项热门技术的发展趋势,我们可以参考Gartner提供的相关分析报告。
Gartner公司已列出了2019年及以后影响平台即服务(PaaS)技术和平台架构的四大趋势。其中前面两个趋势很明确的提出PAAS市场的发展势头和重要程度:
第一个趋势:蓬勃发展的PaaS市场
截至2019年,整个PaaS市场包含360多家供应商,提供涉及21个类别的550多种云平台服务。Gartner预计,从2018年到2022年,市场规模将翻番;PaaS将成为未来的主流平台交付模式。
第二个趋势:云平台连续体
PaaS功能旨在支持云平台的角色。然而,包括基础设施即服务(IaaS)和软件即服务(SaaS)在内的所有云服务都可能是平台的关键因素。这些服务共同构成了云平台连续体。在全部云服务当中寻找和确认基于平台的创新机会很快将成为每个云战略的一部分。