写点什么

QCon 上海第一天主题演讲:容器化的云

  • 2014-10-16
  • 本文字数:2341 字

    阅读完需:约 8 分钟

本文根据 Chris Swan 在 2014 年 QCon 上海大会的主题演讲《容器化的云》整理而成。在这次分享中,Chris 阐述了从“容器技术”到“容器化的云”之间的差距,容器化对云计算领域的经济影响,以及容器的运维管理现状。

演讲者简介

Chris Swan,CohesiveFT 公司 CTO,CohesiveFT 是一家成立于 2006 年的云网络公司,Chris Swan 于 2013 年年初加入 CohesiveFT。

Chris Swan 之前在 UBS(瑞士联合银行集团,简称瑞银集团)承担 CTO 角色,并曾经代表银行担任开放数据中心联盟指导委员会主任。在加入 UBS 之前,他在一家伦敦的投资银行——精品资本 SCF 担任 CTO。Chris 之前在瑞士信贷(Credit Suisse)主导过大量的高级研发、架构和工程定位工作,包括网络、安全、数据中心自动化和新应用平台的引进等。

在加入金融服务行业之前,Chris 曾在英国皇家海军作战系统担任工程军官,他拥有工商管理硕士学位和约克大学的 OUBS 电子工程学士学位。

Chris 是一个敏锐的制造者和黑客,他在伦敦和布莱顿等地的开源硬件、Raspberry Pi 、物联网社区非常活跃。他还是一些伦敦的科技和初期创业公司的顾问,也是 InfoQ 的云专栏的编辑。2014 年的 QCon 上海是 Chris Swan 第七次参与的 QCon 大会,也是他第一次在国内的 QCon 上演讲。

容器(containers)的现状

容器是一项历史悠久的技术,应用其实也已经相当广泛。像是 Wordpress、Drupal、Joomla 这些网站托管服务,以及早年 VPS 服务当中的 OpenVZ 主机,之所以能够提供相对廉价的服务,背后都有容器技术的支持。Google 可以说从 2006 年开始一直大力推动容器技术的应用,现在 Google 的容器实例增长速度超过了每周 20 亿个;Google 甚至会在容器当中跑虚机,在容器中的虚机里面再跑容器。

但是,Docker 的出现,给容器的世界带来了深刻的改变。它并非对容器技术本身进行变革,但无论是 IBM AIX 上的 LPAR,还是 Linux Containers 的技术,这些东西都仅仅是运行时。Docker 跟它们最大的不同在于,Docker 是由构建(build)- 交付(ship)- 运行(run)这三部分组成的——构建与交付是跟运行时同等重要的事情(如果不是更重要的话)。

在以前,你想要在一个地方开发构建,然后把构建好的东西运到另一个地方运行,是一件很困难的事情。即使是虚拟机,也没有很好的解决这种“工作负载可移植性”的问题。但是一个 docker file 则是这样的一个东西:我们可以把一个地方构建的输出弄成一个镜像,把这个镜像挪到另一个地方,然后让这个镜像在新的地方运行。Docker Hub 可以说是 docker 体系的整个生态系统,你可以用任意工具和流程生成 docker 文件镜像,把镜像传输 / 交付到 Docker Hub,然后运行。

这整个过程非常简单。比如我最近在玩 WRTnode 这个东西,要获取 WRTnode 的 SDK,只需要很简单的一行 docker run 命令即可。

这种 docker 镜像有点像是瓶装饮料一样,就好比我们想喝啤酒,不需要自己去酿酒,只要拉开易拉罐就行。有了 docker 镜像,你无需再去摆弄各种各样的工具链和 SDK,只需“拉开易拉罐”即可,因此我也将其称之为“瓶装的软件”。

一个量级的优势

容器技术相比虚拟机,其性能优势可以说达到了一个量级的差距。根据 Boden Russell 在 OpenStack 上做的一次基准测试报告,一个 KVM 实例的平均内存消耗有 292MB,而一个 docker 实例的平均内存消耗在 49MB 左右。在 CPU overhead 和启动时间方面,docker 基本都比 KVM 有一个量级的优势。

目前,一个 AWS 上的 micro 实例,每小时的按需使用成本大约在一美分多一些。如果用 docker 来提供实例,那么每小时的按需使用成本很可能会做到 0.1 美分。这一点对于云经济至关重要。正如经济学家 William Stanley Jevons 的理论所呈现的,随着商品的价格越便宜,人们使用它们的场景和频率会越来越多。

容器的局限性

既然容器技术有如此大的优势,为什么基于容器的云现在还没有成为主流?我认为主要还是安全性的问题。虚拟机可以利用来自硬件的信任机制来提升安全性,这些机制在 Intel Virtualization Technology Evolution 的演示中有详细的介绍。即使如此,虚拟机仍然被视为相对不安全,比如前一段时间 Xen 爆出一个漏洞,导致 AWS 不得不大量升级自己的主机。

即使是虚拟机也仍然有被攻破权限的危险,而现在的容器,虽然名为“容器”,但从安全的角度其实几乎算不上有什么隔离性了。

基于容器的 PaaS 现状

Docker 流行起来之后,我们很快看到一些相关的 PaaS 服务冒出来,如 Deis、Octohost、Dokku 和 Flynn 等。另外像是 CloudCredo、Apcera Continuum、Bosh、Cloud Foundry 的工作也对 Docker 生态产生了促进作用。

PaaS 这个东西有点被过度概念化,不同的观点都掺乎在里面。但以往来说,无论哪种 PaaS 都意味着开发者被迫使用特定的语言、特定的框架去开发他们的应用,而开发者不喜欢受限。

我认为 Docker 实质上可能是“反 PaaS”的,它将可能让我们脱离 PaaS 的种种技术选择限制。我认为 PaaS 的实质是有关运维性——它实际上提供的是将部署、监控、扩容、资源管理简化的能力。

Docker 的运维管理(编排,orchestration)

我在前一段时间的 DockerCon 上看到 Brad Rydzewski 的一条推文,很有意思,上面是这么说的:

在 DockerCon 上我学习到了一件事实:所有人都在构建自己的编排平台。千真万确。所有的人。

的确,DockerCon 上每一家公司都分享他们自己做的一些编排工具,比如 Twitter 发起的 Apache Mesos,来自 Facebook 的 Tupperware,以及 Google 的 Kubernetes。我自己更看好 Kubernetes 这个项目,现在微软 Azure 和 IBM Softlayer 也都在参与这个项目了。

总结

我希望大家会后考虑一下,对于这个容器化的云你会做些什么?如何利用它的优势,做一些你之前没有办法做的事情?容器是有很多年的技术,但是现在这个容器化的云是不一样的东西,未来会被更多的使用。

2014-10-16 00:012723

评论

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

C语言编程—数据类型

芯动大师

网易数帆汪源:低代码仍然被“误会”,市场明年会迎拐点

B Impact

SecureCRT中文乱码怎么办?解决 SecureCRT中文乱码方法

Rose

SecureCRT下载 SecureCRT激活版 SecureCRT许可证 SecureCRT中文乱码

日常开发中,程序员如何提升技术?这13个点一定要做到!

程序员小毕

Java 程序员 程序人生 后端 架构师

从腾讯XR、Meta、迪士尼裁员先砍元宇宙,谈应对不确定新业务

B Impact

聊一聊适配器模式

Java 设计模式 适配器模式

PullTube for Mac使用技巧:快速导出铃声、缩略图和短片

Rose

Mac视频下载器 PullTube下载 PullTube使用教程

涅槃重生,BitKeep如何闯出千万用户新起点

鳄鱼视界

ZBrush 2023 v2023.1.1最新激活版下载 三维数字雕刻和绘画

Rose

ZBrush 2023安装教程 ZBrush 2023下载地址 ZBrush 2023破解版 角色建模 特效制作

记录内网Docker启动Stable-Diffusion遇到的几个坑

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

NineData:高效高质量的Redis可视化管理工具

NineData

数据库 redis 开发工具 Redis 可视化工具 NineData

TiKV 新架构:Partitioned Raft KV 原理解析

PingCAP

MySQL 数据库 TiDB

依赖反转和依赖注入:提高程序的可维护性和可扩展性

Jack

日常开发中,程序员如何提升技术?这13个点一定要做到!

Java你猿哥

Java ssm java基础 日常开发 java 编程

MySQL触发器Trigger加载以及目前局限

GreatSQL

MySQL greatsql greatsql社区

一个同事喜欢查别人的BUG,截图发工作大群,还喜欢甩锅怎么办?

Java你猿哥

Java 程序员 ssm 编码 java编程

一不小心,穿越到未来银行

脑极体

生成式AI

AIGC背后的技术分析 | 基于规则产生式的推理

TiAmo

推理 AIGC 规则产生

小白白也能学会的 PyQt 教程 —— 自定义组件 Switch Button

繁依Fanyi

吃透这份406页的Java修炼宝典,直接送你进入一线大厂

Java java面试 Java八股文 Java面试题 Java面试八股文

CrossOver 让你在Mac上轻松运行 PC 游戏

Rose

虚拟机 CrossOver2023 Mac电脑运行win CrossOver Mac下载

IDP 与 DevOps平台:相似之处与关键差异

SEAL安全

IdP 平台工程 内部开发者平台

浅克隆和深克隆有什么区别?

javacn.site

java面试

揭秘RLHF;可商用开源LLM列表;领域编译器的前世今生

OneFlow

人工智能 深度学习 RLHF

开发者反响热烈,阿里云免费试用产品增至 80 多款!

云布道师

阿里云

探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

Immerse

SVN管理工具Cornerstone入门教程

Rose

cornerstone 4破解 SVN管理 Cornerstone教程 Mac版Cornerstone许可证

清华大佬首推"中高级Java程序员进阶小册",程序员架构进阶必备

Java你猿哥

Java 算法 Spring Boot JVM java面试

涨薪40K!来自阿里内部绝学的“微服务架构手册”

Java你猿哥

架构 微服务 微服务架构 ssm 架构师

基于云原生的物联大数据智能服务

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

QCon上海第一天主题演讲:容器化的云_Google_sai_InfoQ精选文章