计算的力量,推动着行业,推动着IT移向新的位置。重新定义计算的边界,我们在历史的潮流中总是可以看到,新的理念,新的技术,前仆后继,有的在洪流中扬名立万,有的则被无情冲刷,有的离目标仅咫尺之遥,有的则凭其变革的力量正在接受行业的检验。不管经历如何,技术都逃不过要走企业落地的路途。
近年来,以Docker为代表的容器技术,红得发紫。其理念之新颖,其生态之健壮,不断被业界所津津乐道。容器技术基于各种场景的尝试与实践,在过去的两年中,更是层出不穷。一时间,容器甚至被认为是未来的基石性技术。
容器技术并非新生事物,其中***代表性的Docker,如何在当今局势下,帮助容器技术在企业级落地,另外其商业模式的探究,都将是值得深思的话题。
标准化带来的价值
《重新定义计算的边界》一文中,Docker带来的标准化价值被大谈特谈,不论是交付的标准化,还是资源的标准化。标准化的价值,无疑是技术在企业落地时十分重要的参考因素。技术标准可以保障技术在发展过程中,减少不稳定因素,使得技术本身趋向稳定。标准化有利于企业内部有效的技术管理,极大提高内部效率。有效的技术管理又可以帮助企业开展技术创新,提高经济效益,也可以大大降低非标准化有可能带来的技术风险,管理成本。
容器技术带来的“交付标准化”,帮助企业在业务应用开发、封装、测试、发布等方面逐渐形成标准,企业内部的应用管理效率得到质的飞跃。容器技术带来的“资源标准化”,直接带来的效益是基础设施资源的优化,以及资源利用率的提高。简化的资源模型,在构建企业数据中心时,同时可以兼顾数据中心架构转向以应用为中心。
容器技术的发展,随着OCI(Open Container Initiative)的成立,也意味着容器生态标准的建立。Linux基金会下OCI标准的建立,使得容器技术的发展有据可循,容器生态朝着正路发展。Docker作为当前应用最广的容器技术,在OCI成立之初,即将其底层容器管理引擎runC贡献给OCI,成为当前基金会下的唯一容器引擎实现,推动着容器生态的发展。
企业IT发展的动力——竞争
标准化的价值毋庸置疑,技术在企业的落地,如果缺少企业自身的动力,技术的价值往往会悬在半空。企业IT发展的演进,面对外界技术的影响,往往呈现不同的立场,尤其是面临新技术的决策。新技术是双刃剑,一个“新”字即让企业百味杂陈,面临采纳,如果新技术不能使企业在行业内拥有“竞争优势”,那技术的落地往往较为悲观。
“竞争”——市场环境中亘古不变的话题。不同类型、不同规模、不同历史包袱的企业,对待技术的态度均存在大大小小的差异。企业在市场环境中,敢于尝试新的技术,并在市场中占有可衡量的竞争优势,那么其他企业有可能存在的竞争劣势,自然会迫使企业自身,尝试重新找回市场平衡,甚至让市场的平衡倾向自己。
容器技术,会为企业带来这样的竞争力吗?企业与企业之间,总是呈现不透明的状态,这种差异也让技术走进企业存在一些障碍,但是企业关心的共同点,其中很大一点都集中在“提高效率”。效率的竞争,Docker作为容器技术的代表,如何带来优势,则至关重要。如果细细探究,不难发现以下三点优势:
- 容器技术带来的资源利用率提高
- Docker带来的软件流程优化
- Docker带来的应用管理价值
资源利用率在企业级未必是永恒的真***。如果有一定的规模效应,资源利用率的提高,势必将带来可观的资本效率提高。固定资源在企业内部一直是非常重要和敏感的话题。业务的增长、负载的变化,都会带来资源管理的变动。如果资源利用率大幅提高,以及资源的分配方式足够灵活,那么容器技术的竞争力就不难理解,传统的资源管理痛点也就迎刃而解。
企业传统的IT架构,很有可能在过去的数十年间,与传统的商业化软硬件紧耦合,比如金融、运营商等行业。这些架构往往与互联网公司的云架构相去甚远。如此一来,这些企业在与互联网企业的竞争中,将处于明显的劣势。Docker在互联网行业的实践,大量的运用在企业软件流程管理的优化上。升级应用开发模型,高效封装软件,自动化完成测试与构建,提高业务应用的发布能力,同时借助业务系统高效的运营能力,迅速响应市场需求的变化,持续完成迭代。Docker带来的业务持续迭代,同样可以很好的支撑传统企业的互联网业务,最终形成业务的市场竞争力。
过往架构之下,业务的增长,无可避免的造成管理成本的提高,应用的运维成本,资源的运维成本,同样在内。业务的复杂度提高,应用的部署管理、应用的伸缩管理、应用的容错管理等,都将接踵而至。以Docker为基础的编排平台,本职工作即完成此类工作,其自动化能力,大大提高云时代下应用的管理效率。这样的平台,行业内比较成功的有:Docker、Kubernetes、Mesos等。
容器技术选型
容器技术的落地,其商业化价值思考,一直被企业围绕。认可其价值,在蓬勃发展的容器生态中,自然还逃不脱技术选型。而如今的容器生态,最为活跃的当属Docker、Kubernetes、Mesos等。
结合企业级的场景,面对软件交付,结合数据中心资源,容器生态技术与企业的现状如下:
谈及容器生态,当下很难不谈Docker。Docker的价值在于软件流程管理方面的标准化,以及数据中心资源的标准化。企业在技术选型时,自然会倾向选择标准化、同时在企业IT布局中覆盖尽可能广的技术。作为容器技术生态中的主角,Docker自始至终将终止定义为“Build,Ship,Run”,从全球的开发者切入,完善当前行业软件封装的难题。Docker乃至容器技术,开发者利用其进行软件封装之后,带来的流程性标准,真正解决行业软件交付的多年痛点,同时又促进企业DevOps的践行。
说到Docker在开发者生态中的投入,看下图即可理解。最近的2年内,Docker技术的发展逐渐从Docker Engine的大量投入开始发生转变。开发者生态的Desktop版和编排生态的SwarmKit官方有意逐投入大量人力物力。(此图来自Docker公司Swarm等项目负责人陈东洛先生)。
传统的PaaS平台,其功能特性专注于软件的最终发布与管理,看似极大的便捷了软件交付,然而软件的交付往往受制于流程中的短板环节,传统PaaS带来的***环境效率提升很难提高软件交付的整体效率。而以Docker为基础的容器云平台,恰恰环环相扣,形成软件持续交付的闭环。
行业内火热的Docker、Kubernetes以及Mesos各自的立足点有所差异,各有千秋。若要对比的话,正如上图所示,更多的是在应用的发布环节。平行比较,Docker的Swarm功能,以及Kubenetes的编排,Mesos的调度管理,很难直接决出个高低。换言之,如果加上企业级应用场景,来辅佐容器技术选型,则会显得更有意义。Docker Swarm借助Docker的生态优势,做应用编排,用户基石稳健,社区完善。Docker的大规模场景下的运用已经受到行业的检验,然而Docker自带的Swarm编排功能,业界成功案例,将会成为企业选型时的考量依据。Kubenetes拥有互联网巨头Google背书,谷歌内部的大规模运维经验是否能够在传统企业内落地,则需要仔细权衡。Mesos作为分布式系统的调度内核,在传统数据计算方面,拥有广泛的经验,上层应用框架的普及情况,以及生态现状,存在些许的劣势,相信也是企业选型时考虑的要素之一。
总结
容器技术在企业的落地,是一个价值普及的过程。标准化与提高效率,是以Docker为代表的容器技术传递的***价值。容器技术已经被认为是当今IT领域中的一个突破点,新的技术带来的影响,从量变到质变过程中,创新能力将成为新的企业机遇。新的机遇,新的市场机会,企业如何从竞争中脱颖而出,都将逐渐变得清晰。