大话Docker(三):Docker 和 Google Borg的根

By admin in 亚洲必赢app在哪下载 on 2018年10月24日

率先我们用明白,Docker是一个“箩筐”:

  • 存储:Device Mapper、BtrFS、AUFS
  • 名字空间:UTS、IPC、Mount、PID、Network、User
  • 网络:Veth、Bridge、Iptables
  • Cgroups:CPU、CPUset、Memory、Device
  • 安全:Capability、SELinux、Seccomp
  • ……

Docker的降生其实跟Google有格外酷之起源:那年,Jeffrey Dean还是一样堆老鲜肉。

显而易见 MapReduce 是当今通用大数目处理的驳斥基础,在Jeffrey Dean
提出这模型后,Google
内部率先用者模型在里头贯彻了好数目测算的联结模型。Jeffrey Dean
在2004年底 OSDI(Operating Systems Design and
Implementation)会议上登载了 MapReduce 论文之后,Hadoop
按图索骥慢慢成为了开源界最为流行的充分数目处理框架。甚至当后,Hadoop
变成了一个生态系统,和Android 一起拉了平等老批判 Java 程序员。

传说国外的Java程序于饭前犹祷告:

“噢,感谢伟大之Hadoop,感谢Android赐予我们食物,Amen!”

唯独与Hadoop不一样的某些凡是:Hadoop需要搭建专属的集群,而Google的MapReduce离线计算是和线及之事务是共享计算资源的。

第一说一下Google这么做的必要性:

绝大多数线上之作业的农忙程度是同作业类别、用户之歇息、地理位置相关的。

例如:在中国11.11凡是一个大日子,所有电商都并了命令的于干促销,而于欧美国家与的相互呼应是圣诞节;传统的主意为回应高峰期的流量往往要准备很多硬件资源备用,但这些资源在平时大抵是束之高阁状态。对于创新快最好快的IT设备来说,闲置就是荒废。

Google这样做的利自然是能大大的滋长计算资源的利用率。但因此大多数店铺没有这么做,是由Linux
Kernel对资源(CPU、内存、I/O)隔离设施的少。谁啊非甘于见见一个日志挖掘的任务导致线及业务宕机。

只是Google毕竟是Google,Kernel不支持,那即便改变Kernel。于是Google的工程师就于Kernel里长了一致栽可以举行资源隔离的装备:Control
Groups,再配合chroot实现了平仿比较全面之建制来保管进程中可无相互影响。

作为当下套系统的某晚敢有的Borg就是Google内部的分布式计算调度体系,负责统一调度各种MapReduce的资源分配和线及服务。

当即Google之所以选择了马上条总长,也必然水准上是出于Xen、KVM这些虚拟化技术还不成熟。但就是后来外界的局普遍的用Xen、KVM来做资源隔离,Google也并从未跟风,正是因为Google的这种方法省了额外的Hypervisor和Guest
OS的开发,可以上更强的资源利用率。

Google几乎有的机都是混部之,在同样台机器及,可能运行着不同jobs的tasks。根据Google在Borg论文里披露的多少:

Google的50%之机器运行了9个甚至还多的tasks;90%的机器运行着25只tasks,达到4500独线程。

当然Google也并无排外KVM、Xen等虚拟化技术。对于外部运行在GAE(Google App
Engine)和GCE(Google Compute
Engine‎)上之代码,Google的做法即是给它们运行于虚拟机(KVM)上,KVM进程被作为
Borg 的 task 运行。也就是说,Borg 是作下层的,KVM 运行在其之上。

资源隔离机制在 Google
内部采用的比较稳定了随后,就于毫无保留地奉献为了开源社区,并把它们命名吧
Cgroups。

Cgroups 出现后,Docker 所急需之各种原料就全了:

2010年,几只雄心勃勃的小伙子怀揣1000万美元的融资在旧金山起了扳平下做PaaS平台的合作社,起名为
dotCloud。目标是举行世界上无比好之 PaaS,打败他们:

  • Amazon AWS
  • Google GAE
  • IBM Bluemix
  • RedHat OpenShift
  • Microsoft Azure
  • VMware Cloud Foundry
  • Heroku
  • ……
    对这些动辄千亿市值之大佬,前路的艰辛更与谁说。

当苦苦支持了几乎年后,公司事情直不见起色。dotCloud 的创始人Solomon
Hykes 决定把 dotCloud 的具备源代码开源来斗一将。
没悟出,他们的主干引擎Docker 重现了当下 Linux Kernel
开源经常的丰彩,获得了普遍服务端程序员的追捧:“这个容器管理引擎大大降低了容器技术的采取门槛,轻量级,可移栽,虚拟化,语言无关,写了程序扔上做成镜像可以到处部署与运作,开发、测试和生产条件干净统一了,还会进行资源管控和虚拟化。”

于是,dotCloud 迅速停下其它手中工作的支出,开始潜心研发 Docker
产品及保护相关社区,过上了甜美而喜悦的在。后面还把局名字还改成成为
Docker,2014年8月 Docker 宣布将凉台虽服务的业务 dotCloud
出售为在德国柏林之平台即服务提供商 CloudControl,dotCloud
的历史告一段落,Docker 的胚胎缓缓拉开。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2018 亚洲必赢app官方下载 版权所有