02 | 预习篇 · 小鲸鱼大事记(二):崭露头角

你好,我是张磊。我今天分享的主题是:小鲸鱼大事记之崭露头角。

在上一篇文章中,我说到,伴随着PaaS概念的逐步普及,以Cloud Foundry为代表的经典PaaS项目,开始进入基础设施领域的视野,平台化和PaaS化成了这个生态中的一个最为重要的进化趋势。

就在对开源PaaS项目落地的不断尝试中,这个领域的从业者们发现了PaaS中最为棘手也最亟待解决的一个问题:究竟如何给应用打包?

遗憾的是,无论是Cloud Foundry、OpenShift,还是Clodify,面对这个问题都没能给出一个完美的答案,反而在竞争中走向了碎片化的歧途。

而就在这时,一个并不引人瞩目的PaaS创业公司dotCloud,却选择了开源自家的一个容器项目Docker。更出人意料的是,就是这样一个普通到不能再普通的技术,却开启了一个名为“Docker”的全新时代。

你可能会有疑问,Docker项目的崛起,是不是偶然呢?

事实上,这个以“鲸鱼”为注册商标的技术创业公司,最重要的战略之一就是:坚持把“开发者”群体放在至高无上的位置。

相比于其他正在企业级市场里厮杀得头破血流的经典PaaS项目们,Docker项目的推广策略从一开始就呈现出一副“憨态可掬”的亲人姿态,把每一位后端技术人员(而不是他们的老板)作为主要的传播对象。

简洁的UI,有趣的demo,“1分钟部署一个WordPress网站”“3分钟部署一个Nginx集群”,这种同开发者之间与生俱来的亲近关系,使Docker项目迅速成为了全世界Meetup上最受欢迎的一颗新星。

在过去的很长一段时间里,相较于前端和互联网技术社区,服务器端技术社区一直是一个相对沉闷而小众的圈子。在这里,从事Linux内核开发的极客们自带“不合群”的“光环”,后端开发者们啃着多年不变的TCP/IP发着牢骚,运维更是天生注定的幕后英雄。

而Docker项目,却给后端开发者提供了走向聚光灯的机会。就比如Cgroups和Namespace这种已经存在多年却很少被人们关心的特性,在2014年和2015年竟然频繁入选各大技术会议的分享议题,就因为听众们想要知道Docker这个东西到底是怎么一回事儿。

而Docker项目之所以能取得如此高的关注,一方面正如前面我所说的那样,它解决了应用打包和发布这一困扰运维人员多年的技术难题;而另一方面,就是因为它第一次把一个纯后端的技术概念,通过非常友好的设计和封装,交到了最广大的开发者群体手里。

在这种独特的氛围烘托下,你不需要精通TCP/IP,也无需深谙Linux内核原理,哪怕只是一个前端或者网站的PHP工程师,都会对如何把自己的代码打包成一个随处可以运行的Docker镜像充满好奇和兴趣。

这种受众群体的变革,正是Docker这样一个后端开源项目取得巨大成功的关键。这也是经典PaaS项目想做却没有做好的一件事情:PaaS的最终用户和受益者,一定是为这个PaaS编写应用的开发者们,而在Docker项目开源之前,PaaS与开发者之间的关系却从未如此紧密过。

解决了应用打包这个根本性的问题,同开发者与生俱来的的亲密关系,再加上PaaS概念已经深入人心的完美契机,成为Docker这个技术上看似平淡无奇的项目一举走红的重要原因。

一时之间,“容器化”取代“PaaS化”成为了基础设施领域最炙手可热的关键词,一个以“容器”为中心的、全新的云计算市场,正呼之欲出。而作为这个生态的一手缔造者,此时的dotCloud公司突然宣布将公司名称改为“Docker”。

这个举动,在当时颇受质疑。在大家印象中,Docker只是一个开源项目的名字。可是现在,这个单词却成了Docker公司的注册商标,任何人在商业活动中使用这个单词,以及鲸鱼的Logo,都会立刻受到法律警告。

那么,Docker公司这个举动到底卖的什么药?这个问题,我不妨后面再做解读,因为相较于这件“小事儿”,Docker公司在2014年发布Swarm项目才是真正的“大事儿”。

那么,Docker公司为什么一定要发布Swarm项目呢?

通过我对Docker项目崛起背后原因的分析,你应该能发现这样一个有意思的事实:虽然通过“容器”这个概念完成了对经典PaaS项目的“降维打击”,但是Docker项目和Docker公司,兜兜转转了一年多,却还是回到了PaaS项目原本深耕了多年的那个战场:如何让开发者把应用部署在我的项目上。

没错,Docker项目从发布之初就全面发力,从技术、社区、商业、市场全方位争取到的开发者群体,实际上是为此后吸引整个生态到自家“PaaS”上的一个铺垫。只不过这时,“PaaS”的定义已经全然不是Cloud Foundry描述的那个样子,而是变成了一套以Docker容器为技术核心,以Docker镜像为打包标准的、全新的“容器化”思路。

这,正是Docker项目从一开始悉心运作“容器化”理念和经营整个Docker生态的主要目的。

而Swarm项目,正是接下来承接Docker公司所有这些努力的关键所在。

总结

今天,我着重介绍了Docker项目在短时间内迅速崛起的三个重要原因:

  1. Docker镜像通过技术手段解决了PaaS的根本性问题;

  2. Docker容器同开发者之间有着与生俱来的密切关系;

  3. PaaS概念已经深入人心的完美契机。

崭露头角的Docker公司,也终于能够以一个更加强硬的姿态来面对这个曾经无比强势,但现在却完全不知所措的云计算市场。而2014年底的DockerCon欧洲峰会,则正式拉开了Docker公司扩张的序幕。

思考题

  1. 你是否认同dotCloud公司改名并开启扩张道路的战略选择?

  2. Docker公司凭借“开源”和“开发者社群”这两个关键词完成崛起的过程,对你和你所在的团队有什么启发?

感谢收听,欢迎你给我留言,也欢迎分享给更多的朋友一起阅读。

精选留言

  • 与路同飞

    2018-08-29 08:53:38

    之前不知道哪里见过一句话,无开源不生态,无生态不商业。挺有道理的
  • 技术修行者

    2018-08-29 10:01:28

    1. 公司改名无可厚非,项目开源和商业牟利不应该是冲突的。
    2. Docker带来的启示:任何项目或者技术都应该是以用户为中心,找准目标人群,深挖用户痛点,通过用户最能接受的方式,去解决问题。
    作者回复

    说的一点没错,用户才是项目和技术的衣食父母,脱离群众要不得

    2018-08-29 15:01:07

  • 龙坤

    2019-03-21 10:08:31

    你好,张老师,读到这里,毕竟我没经历过旧PaaS时代的项目,但我试图去挖掘和感受那个没有docker项目的年代,在PaaS平台上,一个团队是如何把应用开发、应用部署、应用扩展、应用分布式、应用维护与监控等一系列操作表现与实施出来?暂且到读到这里,了解到Docker项目仅仅解决了应用打包的困境,能让开发者省去上云后带来的系统差异性所导致的种种问题,可对于应用来说,始终都要回到PaaS的基础设施上,然后去实现多主机通信、存储共享、权限控制等等这些Docker项目没出现前都要的基本技术实施。那么我的的问题是:docker项目的出现,带来应用打包优势同时,是否将来会增加了关于网络、存储、权限等额外技术栈应用的复杂度?
  • vimfun

    2019-08-14 16:53:16

    我觉得更好一点的顺序为:
    1. PaaS 概念已经深入人心的完美契机。(天时)
    2. Docker 镜像通过技术手段解决了 PaaS 的根本性问题;(地利 自我创新出来的地利)
    3. Docker 容器同开发者之间有着与生俱来的密切关系;(人和)

    时势造英雄啊
  • Linux云计算网络

    2018-08-29 07:49:30

    这个改名真是太正确了,一下品牌就火了。开源永远都是最好的选择,首先得让开发者认可你,才能走得长远。
  • 岁月~静好

    2018-08-29 13:48:04

    看评论也能了解很多东西😁
  • codingR

    2019-11-23 12:35:15

    感觉张老师可以直接出书了,文字功底实在很强。十分佩服那种能生动有趣把知识普及都人~~
  • Geek_suo41w

    2018-09-08 09:11:05

    请问下swarm和k8s有什么关联和区别?为什么我知道很多公司用k8s,却很少听说有公司用swarm的?
    作者回复

    其实就是主流方案与非主流方案的区别。至于为啥kubernetes 变成主流了,咱们专栏前四篇讲的就是这个故事

    2018-09-08 19:21:59

  • JRich

    2018-08-29 09:32:35

    精彩,终于理清了docker和paas历史,感觉自己跟上了容器时代发展
  • 青苹果

    2021-05-12 10:03:09

    这个课程的优秀之处在于,作者不仅讲解了技术,而且能跳开技术细节本身,从技术发展与行业发展的高度给人以指导,让人对未来发展有了基本的思考与分析方向,真的非常感谢。
  • eason2017

    2018-08-29 07:21:21

    已经迫不及待的想直入主题啦……
  • cxyfreedom

    2018-09-01 19:24:24

    如果按天时地利人和三方面来说,总结的第一点就是地利,第二点是人和,第三点就是天时。另外改名这事,我觉得这是作为一个运营公司从商业角度需要考虑的,没什么问题。
  • blackpiglet

    2018-08-29 13:41:55

    对于 dotcloud 改名和扩张,我想当时他们可能没有其他选择,毕竟是创业公司,是有盈的压力的。docker 的开源不易带来直接的收入,所以必然要有下一步。
  • atompi

    2018-08-29 09:10:35

    希望能够一直“坚持把‘开发者’群体放在至高无上的位置”
  • 2021-10-08 22:58:02

    Docker 项目在短时间内迅速崛起的三个重要原因:
    1. PaaS 概念已经深入人心的完美契机

    PaaS(平台即服务)的概念是一种由第三方提供硬件和应用软件平台的云计算形式。PaaS 主要面向开发人员和程序员,它允许用户开发、运行和管理自己的应用,而无需构建和维护通常与该流程相关联的基础架构或平台。

    2. Docker 镜像通过技术手段解决了 PaaS 的根本性问题;

    如同上一小节中所说:PaaS 项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。但随之而来的问题则是:如何更好、更通用的给应用进行打包?

    而 Docker 使用分层镜像的功能解决了这一问题。

    3. Docker 容器同开发者之间有着与生俱来的密切关系;

    PaaS 主要面向开发人员和程序员,而 Docker 直接解决这群人的痛点。

    思考题:
    1、公司改名为当下火热的 Docker 这无疑是一个极好的宣传作用,毕竟是商业公司,考虑牟利是理所应当的。
    2、带来的启示:找到精准用户群体,深挖痛点,解决痛点。
  • 光明

    2020-04-05 23:32:00

    而 Docker 项目之所以能取得如此高的关注,一方面正如前面我所说的那样,它解决了应用打包和发布这一困扰运维人员多年的技术难题;而另一方面,就是因为它第一次把一个纯后端的技术概念,通过非常友好的设计和封装,交到了最广大的开发者群体手里。
  • 阿里俊杰

    2019-10-27 15:04:44

    第一,“开源”能够把“知识共享”,这是撬动大量“杠杆资源”,帮助自己技术产品实现“指数型增长”的关键。第二,云计算的各大厂商的目标是要攻占业务应用市场,但是突破口是“开发人员”,服务好“开发人员”,“开发人员”就成为攻占业务市场的“执行者”
  • 张力

    2022-09-26 20:24:10

    1,公司改名也是为了后续上市准备的
    2,docker能成功的关键在于,他并没有标新立异的弄一套新的容器化部署方式取代paas,而是从用户角度出发,以镜像的方式解决了paas存在部署应用适配环境的问题,一切产品以用户为核心,解决用户难题的才是好的产品
  • chensh

    2022-09-21 22:14:36

    无论什么项目或技术,都要以用户为中心,找准目标客户群,深挖用户痛点,解决用户实际问题,为用户带来价值才是王道。我目前所在的项目是做大数据平台,愿景就是将高大上的大数据技术栈产品化成可视化拖拉拽的产品功能,降低大数据使用门槛,而这其中需要保障产品功能的易用、大数据组件的高可用都充满了挑战。Docker给我的启发:用户永远是第一位,但是作为商业化项目在产品化一些大数据组件的功能时,会遇到内外部许多“个性化”需求,这个时候就需要在用户和产品化之间取舍。
  • 小蜗牛

    2022-02-12 16:45:53

    一个成功的特性在最终表现上也许浅显易懂,但在实现上需要敏锐的业务能力和严谨的底层逻辑。