随着企业上云成为趋势,如何在本地数据中心与公有云之间为应用迁移构建桥梁,让大家再次想到了容器。说到容器,很多人会先想到集装箱,为什么这么说?因为从本质来看,容器的打包交付方式与码头工人装箱上船很类似。这样的好处在于,既节省了分批搬运的时间,又有效降低了迁移成本。
容器在云时代迸发活力(图片来自docker)
从技术的角度来看,Docker基于沙箱机制可将任何应用集成在一个轻量化、可移植、标准化的容器中,核心问题就是利用Linux容器技术实现类似虚拟机的功能。通常,企业内部对数据在本地和云端之间的迁移要求是无缝即时的,而容器要做的就是基于底层提供一个抽象层让应用“随意交互”。
不过,Docker并不会重写代码,只是让跨平台部署变得容易了,想具有扩展性还是要由开发者亲自动手。同时,Docker也不是横跨所有系统,毕竟系统层的软件泊接不是停船装货那么简单。
对于任何一家企业而言,打包交付的方式都是首选,但遗憾的是现有工具无法在用户使用容器时提供完全自动化的方案。能力越大,需要注意的点就越多,容器可以将package直接从开发环境搬到生产环境,但在生产环境仍有要完善的地方。
在编排层面,常见的编排工具包括Kubernetes(谷歌开源工具)、Docker Swarm、Apache Mesos、Rancher等,它们能够处理复杂任务,例如查找最优运行位置、处理失败任务、分享储存卷或创建负载均衡与容器间通讯的覆盖网络。
据了解,Kubernetes使用了计算集群部署并管理容器,通过均衡工作负载来维护性能。在集群中运行时,Kubernetes的自复制性可以从横向或纵向扩展容器数量,以满足多应用迁移的需求。
从容器的发展来看,其在生产环境、安全性等方面仍有不小的完善空间,要想将整个环境变得更加成熟,离不开生态的打造,其中要升级上下游的合作伙伴,包括设计和制造商。任何一项技术的普及都不是一帆风顺的,容器也是如此。