屈指可数,云计算已经来到中国有十多年的时光了,云计算从一个初出茅庐的小伙子逐渐变成了相对老陈的中年人。在这十多年之中也是几家欢喜几家愁,甚至还有一些人还生活在人云亦云的阶段。但是,随着这么多年的发展,云计算已经从整体云平台中衍生出了多种心态,其中容器云(CaaS)就是在应用层衍生出的一个云计算新兴成员。
容器云从2013年诞生之后即被推送到了前台,2015年容器云获得了众多企业级客户的追捧。在短短的三年时间中容器云已经成功占领了容器市场超过70%的份额。在国内不管是像华为这样的大型云服务提供商,再到像DaoCloud、青云、灵雀云、数人云等此类的本土新兴云服务提供商都在孜孜不倦的在容器云市场中抢占着这块"美味的蛋糕"。
什么是容器云?
容器云以容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员提供用于构建、发布和运行分布式应用的平台。当容器云专注于资源共享与隔离、容器编排与部署时,它是一种IaaS;当容器云渗透到应用支撑与运行时环境时,它是一种PaaS。
容器云并不仅限于Docker,基于rkt容器的CoreOS项目也是容器云。Docker的出现让人们意识到了容器的价值,使得一直以来长期存在但并未被重视的轻量级虚拟化技术得到快速的发展和应用。
Docker公司本身的技术发展,亦是从一个容器管理工具一步步向容器云发展的历史过程。Docker最初发布时只是一个单机下的容器管理工具,随后Docker公司发布了Compose、Machine、Swarm等编排部署工具,并收购了Socketplane解决集群化后的网络问题。
从容器到容器云是一种伟大的进化,并依旧在日积月累中不断前行,现在让我们一起进入Docker的世界,感受容器与容器云的魅力。
容器云出门遇贵人所以如此盛行
云计算目前在IT市场上的占比已经越来越多,绝大多数的企业都已经或是考虑将公司的关键业务迁移至云端。不过,IaaS、PaaS、CaaS三者同时出现的时候,这三者也就出现了竞争关系。Docker在企业级市场越来越受到关注,甚至从某些方面已经超过了OpenStack的市场关注度,这足以证明CaaS已经成为未来的云计算领域的一种趋势。
虽然IaaS、PaaS、CaaS三者存在着竞争关系,但是并不能说CaaS的出现就磨灭了IaaS和PaaS的市场,其实可以说CaaS 是在IaaS和PaaS的道路上进化而来的。因为CaaS解决了规避了IaaS和PaaS再部署时一些避免不了的痛点。
运维方面:IaaS服务对于运维人员的要求门槛较高,想要组件合适的运维团队不仅人员难找且成本略高。IaaS在后期迭代速度过快,这时就需要运维人员跟进开发人员的步伐,不然则很容易出现沟通问题。
云平台方面:对于准备上云的企业来说,很多企业都会选择部署自己的私有云,或是选择托管云服务。但是这两朵云的建设与服务费用对于中小型企业来说简直是天方夜谭。那么这个时候企业就会想到将自己的业务架设在按需付费的公有云上,公有云也不是说没有风险的。首当其冲的就是如何保障公有云的生命周期问题与安全问题,另外,按需付费的公有云还会有一些霸王条款存在。
Docker容器有着轻量化,成本低,效率高的特点,可以将容器看做是一种操作系统级别的虚拟化,启动一个应用容器其实就是启动引用进程本身,这也是它与传统虚拟化之间存在的最大差别。
Docker镜像具有不变性。Docker镜像能够将应用程序和它依赖的操作系统、类库以及运行时环境整体打包,统一交付。另外Docker镜像还可以通过DockerFile定义,换言之,应用程序和运行环境一起是可以被版本化管理的。Docker镜像真正抹去了应用程序多个运行实例间的环境和依赖版本差异,同时也把对运维人员的重度依赖解耦开来。
Docker容器与平台无关,兼容性好。Docker容器在Linux平台各发行版下是兼容的,这意味着应用架构一旦Docker化部署之后,就可以在任何云平台间无缝迁移,不会被云平台厂商所绑架。
Docker的这些特点也是在企业为了IaaS和PaaS而犯难时演化而来的,容器云的横空出世,解决了企业在应用上云和交付过程中的必要难题。
容器云虽已盛行,但背后却隐藏着诸多挑战
Docker由于发展的速度过快,在大众面前的曝光度过高,这个时候其优点背后隐藏的缺点也就展露无疑了,与此同时反对的声音也同步出现了。
云安全难以保障:安全问题似乎所有新兴的技术都会存在这样的弊病。而且容器技术并没有提升应用的安全性,反而会有所降低,因为容器与宿主机共享操作系统内核,只要同一个宿主机上任一容器存在漏洞,或者宿主机本身存在安全漏洞,都有可能导致上面的所有容器安全性受到影响。其二,容器镜像的安全问题也是不可忽视的,公共镜像市场的复杂与混乱难以保障容器镜像绝对的安全可靠,这也就造成了单个容器对整个容器云平台形成了安全威胁。
培养使用习惯:虚拟化这项技术悠久的历史已经在用户思想中根深蒂固,所以目前的用户还是沿用虚拟机这样老一套的思路在使用Docker容器。这也就让Docker容器在云上的优势消耗殆尽,也就无法发挥容器真正的效果。
结语:
容器云虽好,但也要基准痛点,方可发挥其威力。
容器云虽然是一个新兴的产物,但每件新鲜事物的背后都会有其弊端的一面,对于企业应用层来说还是要两面考虑,虽然IaaS和PaaS在部署与运维方面存在着诸多的技术门槛,但是其悠久的历史足可以保障企业在关进业务运转方面得到良好的保障。反之,容器云虽然有着这样那样的优势,且要强于IaaS和PaaS,但还是需要多加谨慎才好。