前言: 2016,Docker公司?是Docker容器?是Docker镜像?还是Docker集群? 以下为阅读网上文章,对Docker进行一点总结和体会。不以技术优越性判断
前言: 2016,Docker公司?是Docker容器?是Docker镜像?还是Docker集群? 以下为阅读网上文章,对Docker进行一点总结和体会。不以技术优越性判断,基于发展角度,为技术选择提供部分依据。 对于每一个新技术,都是一个大坑,在决定掉坑之前,需要全面了解其来龙去脉,层层剥离,针对性处理,才能填坑。 理性不会总是迟到。
#热点原因:
- 开发者能够用Docker,开发者要一个开发环境,总会涉及到种种资源,比如数据库,比如消息中间件,去装这些东西不是开发人员的技能,是运维人 员的技能。而用Docker去Pull一个mySQL镜像,或是Tomcat镜像,或是RabbitMQ镜像,简易轻松,几乎是零运维。做好了应用代码, 打一个Docker镜像给测试或是运维人员,避免了从前打个程序包给测试或是运维人员,测试或运维人员要部署、配置应用,还得反反复复来麻烦开发人员,现 在好了,丢个Docker镜像过去,让运维人员跑镜像就可以,配置在镜像里基本都做好了。这正好满足了DevOps的要求,所以DevOps也一下热起来 了。开发者是一个巨大的市场,是海量的个体,通过类似于病毒式的传销,Docker一下在开发者中热起来了。
- 镜像仓库和开源,谁都可以用,Docker镜像库非常丰富,谁做好一个镜像都可以往公有仓库推送,开发人员需要一个环境的时候,可以到Docker镜像仓库去查,有海量的选择,减少了大量无谓的环境安装工作。而通过开源,又开始大规模传播。
#重要事件
2016年6月,Docker公司宣布将「SwarmKit」依赖库来负责内置的「编排」功能。SwarmKit,维护了一个NodeHeap(堆),然后通过堆算法配合过滤条件来筛选最符合要求的节点来运行任务,引入了Service,Task等一系列面向容器集群的、平台级别的概念。这个改变的关键就在于,从今以后Docker项目就变成了一个「平台」项目(「平台(Platform)」。或者说成是「应用/容器集群管理」,或者说成是「PaaS”甚至“CaaS」)而不再是一个单纯的“容器”项目了。它要站在 Kubernetes,DC/OS,Cloud Foundry一样的位置上直面云的终端用户,而不是继续做这些平台背后的容器技术(甚至只是容器技术中的一种)。
#Docker目标:
会不遗余力的构建自己的平台世界,网络,存储,Infra Layer,CI/CD,一个全功能平台级项目所欠缺的版块都会被一一补全,各种各样内置于Docker Daemon中的Kit库和收购还会层出不穷,Docker公司还会以此为基础重点推广可以盈利的Docker Cloud和Docker Datacenter。2016年末,Docker项目将容器运行时相关的最后一个组件containerd也正式剥离,「Docker」这个名字离「容器」渐行渐远,离 「PaaS」越来越近。
#转型原因
1、容器的热度终究会冷却
用户很快就不会关心底层的容器技术为何物,他们只会记得Kubernetes API,Service, Replication Controller,DC/OS,顶多在编写Dockerfile的时候,才回忆起Docker公司的存在。
2、Docker企业:盈利目标
Docker已经在抱怨有太多的Mesos商业发行版,搭了Docker便车,已经在赚Docker进入企业级市场的钱,而Docker自己的产品居然还没开始赚钱!
#当今三大流派(竞争对手)
1、 Google Kubernetes (领导地位)
Google、AWS、微软容器、CoreOS和Redhat
2、 Docker (转型路上)
Docker、阿里云
3、 Mesos (重生路上)
不看好,已见颓势…….
#企业Docker选择
对于企业级客户准备采用Docker,鉴于目前Docker在企业级的生产环境应用规模很小,成熟度有待提高,而且对于企业级应用很难在 Mesos/K8s/Swarm之间做选择,一旦技术路线选择错误,后面调头重来成本非常高。而且这么多小的Docker创业公司,能不能生存下去,长期提供技术支持,也是需要考虑的问题。
企业要综合考察IaaS/CaaS/PaaS,选择相对成熟的技术,相比而言IaaS和PaaS均比较成熟,基于Docker的CaaS还没有定 型,还在成熟的过程中。
要结合企业的实际需求,对于潮流技术,先小规模验证,体验取得的实际效果,分析存在的隐患,再做综合决策不迟。
#研发部定位
1、Docker技术解决方案提供商
2、以研发部为技术依托,企业内部Docker应用
解决了研发部在其中的角色,研发部才可以制订出在Docker发展之路。
#总结
1、继续跟进技术方向;
2、分别在Google Kubernetes、Docker上,demo验证当前项目使用docker的可行性;
3、Docker的发展,带给当前项目带来的思考;
4、开源不等于免费,开源是一种商业模式,一个开源组织和开源项目要想生存下去,最重要的基础就是普遍被使用,不然很快就会被竞争者替代。
#人工智能元年
在2016年的Kubernetes生态中,还有一个不能被忽视的因素就是自家兄弟Tensorflow的迅速蹿红(甚至短时间内就超越了Docker项 目,速度令人咋舌),并且直接推动了人工智能元年的诞生。在社区层面Tensorflow目前仍无实质性的竞争对手,无论是大小公司还是机构,基于该项目 的人工智能项目如雨后春笋般涌现,创业公司也层出不穷,而Kubernetes+Tensorflow的搭配则成为了默认的「基础设施+深度学习平台」的 组合。这个机遇恐怕没人能事先预料到。
#参考资料
***回顾容器的2016:「已死」or「永生」? ***
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650995088&idx=1&sn=0a7b4d25a0ff653ab7562e2017cc918b&chksm=bdbf01c38ac888d509efe0a400505c4c7f940598a1033224632c08ab5a7d6939a14e4a42c771&mpshare=1&scene=1&srcid=12214jM7JusCNmCLQsaGKmvF#rd
Docker生态会重蹈Hadoop的覆辙吗?
http://www.36dsj.com/archives/70459?spm=5176.100239.blogcont66485.16.LaXCfB
阿里云容器服务
https://yq.aliyun.com/teams/11?spm=5176.100239.blogcont64791.32.LHoLDJ&cid=32