Docker 系列学习文章 - 什么是容器云?

2019 年 11 月 07 日

Docker 系列学习文章 - 什么是容器云?

腾小云导读:容器技术是近几年云行业发展中不可缺少的一环。Docker 和 k8s 的大热极大可能会推动云计算 PAAS 层的完善和普及。那么容器云到底是怎样的技术形态?究竟是概念还是可落地的应用?在这篇文章中,作者将带你了解相关的知识,帮助梳理相关的发展态势。


一、当前云计算的发展状态


了解当前云计算的发展状态,其实网上有很多文章可以阐述得很详细。笔者列出了三篇网上较新、较全的文章,大家可以看看。阅读完之后,我想你对当前云计算的发展历史和态势都会有个很清晰的认识:


《2018云计算行业现状及2020年云计算发展趋势》


《2018年中国云计算行业发展现状分析及未来发展趋势预测【图】》


《2018年全球云计算行业现状与发展前景分析【组图】》


从发展历程来讲,国内跟国外又有点不同,云计算的概念最早 2000 年起源于美国,然后我国从 07 年开始引入。国外的云计算基本是由企业牵头来做推广普及的(资本主义嘛),我国引入了概念后,基本是政府、政策两大方面来驱动影响。去年(18 年)的政府报告也再次提出了把发展智能制造作为主攻方向,推动“中国制造 2025”战略落地,云计算在里面是最基础最重要的核心技术之一。


从技术层面,云计算的发展基本是按照 虚拟化、网络化、分布式技术成熟稳定 --> IAAS 成熟稳定–> PAAS 成熟稳定 --> SAAS 成熟稳定 这条路线走的。每个阶段都有业界开源或者非开源的技术未代表,比如最开始的虚拟化阶段,典型的代表是 Xen、vSphere、KVM 等技术;IAAS 层是 OpenStack;PAAS 层是 Kubernetes;SAAS 层开源界当前还没有典型的代表,aws 推出了有 Lambda 。


随着未来 IoT 物联网、5G、IPv6 全面实行、量子计算等技术全面发展和普及,云计算将会是最底层的支撑核心技术。然后这些技术的发展,必然也会带动和升级云计算。国家与西方的较量和角逐,通过政策性的引导投入在先进的互联网技术,这不失为“弯道超车”的良计。落实到个人,作为云计算的从业者,我想这是一门值得投资关注和永久学习的技术。


二、什么是 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。



不正经版


假如有个创业者想开一家包子店卖包子,那么如果他是第一种方式,什么都从头搞,从最底层的燃气管道、煤气灶、锅等等都得自己购入搞定;如果他不想那么麻烦,可以试着第二种,转手别人不想开的包子店,但是面粉、捏包子得自己完成;如果还嫌麻烦,可以加入某品牌连锁店,大量购入做好的速冻包子(没那么新鲜);最后一种,连锁店直接每天早上供应最新鲜的包子,你只管卖就好。


三、容器云介绍


上面长篇大论说了两点内容,其实这也是为了引出本文章的正题。本系列文章聚焦在 Kubernetes 这项开源技术,这项技术是 PAAS 层级的典型开源代表。所以,了解前面两点的知识背景,有助于你站在一更高层面理解和学习这项技术。


1. 容器技术为什么会火?


之所以要讲讲“容器云”,主要也是时代发展趋势必然所致。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 层级的人员至少增加了一半(甚至更多)。


2. 容器云时代是否来临


其实,你可以把容器云理解为云上的容器技术服务,这个概念的终极体现就是 PAAS 层的云交付模式。前面谈到,docker、k8s 现在已经是大火,这必然会推动云计算 PAAS 层的完善和普及。站在云厂商的角度,前几年客户不断的来上云、用云,其实就是在不断的玩 IAAS。等 IAAS 玩溜了,没得玩了,自然会考虑云厂商的 PAAS、SAAS 层级产品。所以,你问容器云时代是否来临,我觉得从 17 年开始就已经来了。有些技术体系完善走得靠前的公司,他们已经步入选择 PAAS 层级的云产品(或者自建 k8s 无数遍了)。


PS:还得再提下,开发人员真的很喜欢 docker。


3. 容器云是否会取代传统云


这几年玩技术的,有点逼格的都会关注这家公司发布的数据,那就是 —— Gartner。高德纳这家公司是信息技术研究和分析的公司,他们出的 IT 技术信息报告和数据分析都非常权威可信(还有它的魔力象限,国外大厂都认可并且愿意争求达标)。所以,看一项热门技术的发展趋势,我们可以参考 Gartner 提供的相关分析报告。


Gartner 公司已列出了 2019 年及以后影响平台即服务(PaaS)技术和平台架构的四大趋势。其中前面两个趋势很明确的提出 PAAS 市场的发展势头和重要程度:


第一个趋势:蓬勃发展的 PaaS 市场


截至 2019 年,整个 PaaS 市场包含 360 多家供应商,提供涉及 21 个类别的 550 多种云平台服务。Gartner 预计,从 2018 年到 2022 年,市场规模将翻番;PaaS 将成为未来的主流平台交付模式。


第二个趋势:云平台连续体


PaaS 功能旨在支持云平台的角色。然而,包括基础设施即服务(IaaS)和软件即服务(SaaS)在内的所有云服务都可能是平台的关键因素。这些服务共同构成了云平台连续体。在全部云服务当中寻找和确认基于平台的创新机会很快将成为每个云战略的一部分。


原文


回到正题,小标题里的传统云,你可以理解为单纯的提供 IAAS 技术层面服务的云。如果是这样理解,很自然你会明白,玩 PAAS 肯定比 IAAS 方便。是的,肯定方便!而且自从 docker 大火后,业界经常说的一句话就是:能跑在虚拟机里的东西有什么不能跑在容器里?


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/k0iOAPBc0IPXWGVPFJO7JA


2019 年 11 月 07 日 17:49913

评论

发布
暂无评论
发现更多内容

字节跳动开源云原生机器学习平台 Klever

字节跳动技术团队

学习 字节跳动

架构师入门感悟之十

莫问

Lambda【1】-- List相关Lambda表达式使用(上篇)

秦怀杂货店

Java Lambda

设计模式【1.1】-- 你想如何破坏单例模式?

秦怀杂货店

设计模式 单例 23种设计模式

Github标星5.3K,网易云的朋友给我这份339页的Android面经,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

第四周 技术选型(一) 作业 「架构师训练营 3 期」

feiyun123

极客大学架构师训练营

恐怖:这份Github神仙面试笔记,简直把所有Java知识面试题写出来了

Crud的程序员

Java 架构师 java程序员 java基础

爱奇艺用户分析平台实践:TB级数据查询秒级返回

dbaplus社群

大数据

explicit_defaults_for_timestamp 参数详解

Simon

MySQL 七日更

花火交易所软件开发|花火交易所系统APP开发

开發I852946OIIO

系统开发

JustSwap交易所系统APP开发|JustSwap交易所软件开发

开發I852946OIIO

系统开发

LeetCode题解:42. 接雨水,双指针,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

星环科技助力商业银行机器学习平台建设

星环科技

FinTech

附PPT丨如何构建数据库容器化PaaS

dbaplus社群

数据库 容器化

开一个世界末日的脑洞

熊斌

我的世界 生活记录 七日更

架构师训练营第五周课后作业

万有引力

Mybatis【9】-- Mybatis占位符#{}和拼接符${}有什么区别?

秦怀杂货店

mybatis 预编译

字节跳动自研「BVC2.0」视频编码器在 MSU 2020 中获得四项第一

字节跳动技术团队

字节跳动 视频编码

记一次由Arthas引起的Metaspace OOM问题

闲鱼技术

Java 阿里巴巴

反垄断之下 区块链迎来新生?

CECBC区块链专委会

区块链

《爱奇艺安全应急响应中心漏洞评分标准2021》来了

爱奇艺技术产品团队

安全 安全漏洞

安卓开发快速学习!一个小例子彻底搞懂Android的MVP模式到底是什么?面试必问

欢喜学安卓

android 程序员 面试 移动开发

ClickHouse|ClickHouse与Elasticsearch聚合性能对比测试

一粒

nosql elasticsearch 性能测试 Clickhouse

领域驱动设计DDD

积极&丧

毕业三年,如何达到月薪30K?我想跟你聊聊!!

冰河

程序员 程序人生 架构师 升职加薪 提升自我

Mybatis【7】-- Mybatis如何知道增删改是否成功执行?

秦怀杂货店

Java mybatis

设计模式【1】-- 单例模式到底几种写法?

秦怀杂货店

设计模式

一直在云上的星空联盟,“真”上云了

亚马逊AWS官方博客

云计算 AWS

Android开发全套学习!不同层级的Android开发者的不同行为,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

Mybatis【8】-- Mybatis返回List或者Map以及模糊查询怎么搞?

秦怀杂货店

Java mybatis

WLAN网络规划和优化的必备知识点

网络技术平台

Docker 系列学习文章 - 什么是容器云?-InfoQ