docker到底能不能改变世界

国内的技术圈子总是在一个新技术出现的时候出现一阵阵骚动,比方说当年的openstack出来的时候N多的运维人员、开发人员、准全栈工程师们趋之如骛。但是到最终又还是这样,这么多年过去了,依旧还是这样。但是不得不说有些组件还是发挥了巨大的作用,比方说给了一些做iaas创业的公司一些启发,哦,原来我可以像它那般的去弄网络、去弄调度、去弄OpenApi。

总结起来,OpenStack到底有没有改变整个的互联网呢,我想是没有的,但是也发挥了巨大的作用。我觉得docker的未来和这个几乎差不多,总体上它不是一个颠覆式的技术,在我理解而言,要颠覆是至少在相比之前技术无损的情况下,再比原来更方便,更省资源才行。

docker弱在哪儿

从我们实际使用来看,docker的弱有以下几点原因:

  • 本地不能持久化存储
  • dockerfile对于大多数程序员是个很大的挑战
  • 把系统开发、整体运维的概念加个所有层次的程序员太理想化了

以上几点,总结一下个人观点,因为现在的共享存储相比本地的存储,就不说SSD了,性能的差距是巨大的,我们在实际的生成环境中用了glusterfs,用nfs的方式挂载,总体上性能还行,凑合能跑,但是想追求高性能还是远了些。从我们的用户看,一个四五年开发经验的人自己用dockerfile弄一个tomcat的运行环境还是很吃力。虚拟机的概念为啥大家都懂,那是因为大家都知道ISO这个东西,装一个VMware就能启动一个虚拟机了。所以我觉得,能让大众用起来的东西才是颠覆性的。

docker强在哪儿

但是一个技术,这么多年了,不管到底是真火还是假火,至少让社会大众知道这个名词了,很多的创业公司都围绕这个去创业了,说明还是有一些很不一样地方的。以下观点都是来自个人在工作中的总结

  • 确实是一种不一样的虚拟化思路,打破了原有虚拟化模式
  • 符合现在流行的微服务、SOA等,是架构模式、理念的输出,让一个单元只干一件事,且是可横向扩展的
  • 镜像的方式给了运维更友好的模型,但是传统的RPM包方式加上puppet其实和这个思想差不多

至少当前,docker在国内普及的还不是那么的宽泛,至少大多能折腾的工程师们还是停留在听过想折腾但是实际还没折腾的程度。从我自身就能理解,如果不是工作所属,我个人做的一些事情也没有很大的东西或者必要迁移到这个模型上。很多人做事情是为了学习而折腾,但是不是发自真实需求、来自业务驱动的折腾可能在路上会跑偏。

但是对于PaaS厂商而言,好好地封装、然后售卖给客户就是一个不错的生意,更原生的运行环境输出、自身的隔离等会给厂商省很多事。用户也会体验到比之前更好的产品了,比方说原来本地不能写现在就能写了,其实这个还是不行,因为多后端还是会有同步问题,原来不能用的函数现在可以用了,这个倒是真的,因为原来隔离没法做到的只好封了,现在思路变了,这个限制倒是可以丢了。但是现在糟糕的环境、小白的教育会成为这个路子普及最大的障碍。