Docker: 优雅地部署

在我去年的一篇博客自动化的高效团队开发环境提到了用vagrant来统一开发团队的开发环境。用vagrant基本上解决了开发环境异构的问题,但VM(vagrant使用virtual box)footprint很大,不便于频繁更新,启动销毁速度还很慢。所以,对于文中提到的并行开发的场景,尤其是快速迭代的开发周期,支持起来还是很别扭:

以图中week 3第一天为例:Dalian已经部署到线上,Edingburgh交付测试,而Florence正在开发中。此刻Dalian随时会爆出优先级很高的customer issue;Edingburgh可能会有大量的QA issue等待修复;而Florence上的任务还如火如荼。

这意味着每周要生成至少一个公共VM,对应当前版本的代码和样本数据。如有需要(比如Dalian同时爆出几个bug,需要多人同时跟进调试),相关的工程师每人还需要一个自己的私有VM。

对于devops,这是管理的梦魇。

还好,docker出现了。我们看看docker有什么本领:

  • 使用Linux container,使得"VM"的创建和销毁在秒级就能完成。由于只是做了网络和进程的隔离,"VM"的运行几乎没有overhead。
  • 使用AUFS,可以以递进的方式创建"VM" —— 一个"VM"叠在另一个"VM"上,就像使用git增量开发一样。
  • 软件的运行环境(image)和软件本身(container)分离,和数据也分离。

头两点让docker在系统中的footprint很小,使用或者不使用docker对应用程序来说几乎没有差别。最后一点是最关键的,它让你能灵活地基于某个现存的image,和最新的软件版本,最新的线上样本数据一起,构建一个container。

vagrant无法做到这一点。一旦你创建了一个VM,你的环境,应用程序和数据都被绑定到一起了,同一个环境,不同的应用程序版本(或数据),需要创建不同的VM。

这是我之前构想的用vagrant构建的开发环境的一个例子:

如果使用docker,则简单很多。多数时候我们可以使用相同的image,配以不同的运行时软件和数据,如下图所示:

对应上图vagrant的开发环境,docker的开发环境可以是这样子的:

docker(或者类似思想的软件)是(服务端)软件开发和部署的未来,对此,我深信不疑

原文发布于微信公众号 - 程序人生(programmer_life)

原文发表时间:2014-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子昭的博客

网盘可以良心到什么程度? 试试MEGA吧!

另外mega的浏览器插件也非常强大,如果你没有同步本地文件的需求, 可以安装浏览器插件https://chrome.google.com/w...

6153
来自专栏CSDN技术头条

如何优化让日志处理速达到 5万/s?

本文来自作者 jason 在 GitChat 上分享 「大数据项目性能优化实战分享」

1135
来自专栏Java后端技术栈

主流分布式架构的风流韵事...

上篇文章,我们聊到了分布式架构的演进过程,那本文我们就来聊一聊目前主流的分布式架构以及分布式架构中常见理论以及如何才能设计出高可用的分布式架构好了。分布式架构中...

1001
来自专栏EAWorld

微服务架构下的数据一致性保证(一)

大家好,今天我给大家分享的题目是微服务架构下的数据一致性保证。 ? 今天分享第一篇,主要内容包括: 1.传统使用本地事务和分布式事务保证一致性。 2.传统分布...

3375
来自专栏我的小碗汤

Jetbrains家族软件激活方法

IDEA的运行速度非常令人满意,这点尤为重要,Eclipse虽然富有多种插件,看上去似乎可以完成多种功能,但是令人沮丧的是,他的运行速度越来越慢了,逐渐的慢到了...

872
来自专栏沃趣科技

基于Prometheus的数据库监控

作者 金 戈 沃趣科技技术专家 传统监控系统面临的问题 Prometheus的前身:Borgmon Borgmon介绍 应用埋点 服务发现 指标采集与堆叠 ...

64410
来自专栏微信公众号:Java团长

剖析公司技术栈

来源:www.cnblogs.com/wangsen/p/9329735.html

1124
来自专栏云计算

基于Karma构建微服务

“微服务”和“微服务架构”在开发社者区中是一个热门话题,但实际中的微服务例子仍然很少。通过简要介绍一下我们在Karma上构建的后端API可会对现在的情况有所帮助...

1135
来自专栏杨建荣的学习笔记

关于PV,流量和带宽(r5笔记第37天)

参加了DTCC归来之后,各大电商技术大牛都会自豪的分享一下自己公司网站的PV,流量等等。当时也是一知半解,回来之后赶紧查了查,也算是扫扫盲。 以下摘自网络中,自...

4074
来自专栏Java后端技术

主流分布式架构的风流韵事...

​  上篇文章,我们聊到了分布式架构的演进过程,那本文我们就来聊一聊目前主流的分布式架构和分布式架构中常见理论以及如何才能设计出高可用的分布式架构好了。分布式架...

873

扫码关注云+社区

领取腾讯云代金券