对于云原生社区而言,2019年是非常关键的一年,这一年相关消息多得眼花缭乱。但是,到了2020年,如果你后退一大步看的话,就会发现云原生空间将出现4大关键趋势。
2014年6月,谷歌宣布拥抱Docker,并且开发一种新的开放源代码工具来管理大规模计算基础架构上的计算运算工作。当时这一举动被称作是一场革命,有外媒甚至在其文章标题写道“谷歌开源了其在云计算领域的秘密武器!”
它就是Kubernetes,被认为将引发云计算技术的巨大变革,以及促进庞大社区的诞生;同时,在谷歌、微软、阿里巴巴和AWS正在进行的云计算市场份额主导之战中,Kubernetes也将起到重要作用。
Kubernetes的功能其实很简单。Docker使标准化的可移植件的移动变得更加容易:只要安装了Docker的环境下,将您的代码、库和配置放入Docker容器中,就可以在任何地方运行它而无需考虑运行平台。现在,您拥有了一系列应用,这些应用打包在多个容器中,并且可以在数据中心和云环境中的一系列异构计算机上运行。
那么,谁来辨别哪个容器在哪里运行?这种异构硬件将如何充当一台统一的计算机角色来运作呢?这就是所谓的业务流程,Kubernetes即承担了这一角色。
当然,这个想法并不新鲜。但是Kubernetes承诺可以让开源社区利用谷歌数十年来的经验。这些是许多企业的梦想,这意味着他们可以获得谷歌级别的技术并在此基础上开发自己的电子游戏。
这也成为一项谷歌出色的战略举措,标准化编排将使用户更容易运行Docker化的计算工作,这将促进他们过渡到Docker新范例的标准。Docker化的“云原生”工作运算比整体式旧应用更易于在云中运行,并且它们也更容易在云之间迁移,也就是成为“可移植的”。这意味着,会有更多的企业可以将其计算迁移到云平台,这就扩大了云计算市场;又可以从一个云平台迁移到另一云平台,这样人们从AWS迁移到谷歌云平台也变得越来越容易。间接地,Kubernetes云供应商的兼容性也在变得标准化。
Microsoft Azure原本采用AWS的服务,在2014年8月迅速采用Kubernetes,而亚马逊花了四年时间才能提供托管的Kubernetes产品的服务。
在最初的POC之前,企业已经意识到运行Kubernetes需要非常专业的技能和大量配套软件。兴奋过后,用户对采用Kubernetes的态度变得更加谨慎;在技术方面,Kubernetes的态度也变得更加认真且保守。
谷歌将Kubernetes捐赠给了一个新成立的基金会,即Cloud Native Computing Foundation,该基金会的任务是托管开源项目,以构建“全球技术基础设施的关键组件”。社区正在不断壮大,一年一度的Kubecon会议也从小型的1000人活动演变成为了遍布全球的1.2万人活动。
那么,到2020年,云原生的趋势将是什么呢?
1.深入企业
最初,Kubernetes只是运用在一些小型POC项目中,但现在已被大规模采用。在网络安全公司Stackrox的一次民意测验中显示,2019年成为了Kubernetes成为容器编排的主导年:86%的受访者使用它来进行编排工作,高于2018年的57%。根据Kubernetes平台的Diamanti:“与2018年相比,我们清楚地看到开源容器管理正在进入IT企业主流。”
Rancher,CoreOS和OpenStack等公司都在使用Kubernetes的解决方案,Kubernetes的发布有一段时间了,但仍有大量企业需求仍未满足,比如权限、治理、成本控制、集成等方面。
所以,我们在2019年还看到了很多新闻:例如在The Open Policy Agent在被Cloud Native Computing Foundation基金会接受后,创企Styra获得了1400万美元的融资;Kubecost解决了大规模管理基础架构成本的问题等。
预计会有越来越多的企业级初创公司对外发布消息,利用Kubernetes解决许可、治理、单一虚拟管理平台和成本控制问题。
2.混合云就是一个官方的Kubernetes产物
从一开始就很明显,Kubernetes将在多重云上运行,可跨越不同的公共云服务提供商。尚不清楚的是,混合云本身是否会直接出现在我们的可选择视野中。这一答案取决于那些云服务的运营巨头,他们是会选择拥抱混合云这种产物,并允许其产品与本地Kubernetes解决方案兼容,还是需要大量的集成或胶合产品才能使用,增加终端用户的使用成本呢?
微软在此方面的意向比较清楚,Microsoft Azure最早就包含了混合云。亚马逊也在2018年底加入了这个行列,现在正在逐步推出其AWS Outposts。谷歌似乎到目前为止一直不愿接受混合云。
2019年是混合云获胜的一年。现在,它已得到3个主要云提供商的支持。混合Kubernetes产品也将于2020年推出。微软在机器学习方面不如谷歌,在云产品平台又不如亚马逊,它的优势正在逐渐消失。
3.云原生的安全性
虽然,Kubernetes已被企业采用,且不仅限于POC,并可以在多个环境中运行。但是,Kubernetes在安全性方面承受着很大的压力。原来在安全程度较低POC项目中,部署测试运行良好,但是一旦转向那些生产级的计算运行中,就需要更高的安全级别了。为了满足这一需求,新一波的网络安全创企正在崛起。
近十年的趋势显示,开发人员和运营团队一直在转向敏捷型和DevOps范例。这意味着代码将被频繁地、快速地运送,并且也被快速部署。连续的代码发布和连续的代码部署,一切都将变成增量或连续式的,快速更新迭代以适应新的环境。
还有一种大趋势是将网络安全某种程度上掌握在开发人员自己手中。随着部署到生产的过程越来越多地由开发人员掌握,而不是脱离开发的运营者。例如,Snyk花费1.5亿美元帮助开发人员发现其代码、容器或Kubernetes集群中的漏洞。Anchore获得了2000万美元的资金,用于构建“可在Kubernetes本地上运行的全面容器安全平台”。希望能有更多帮助开发人员评估其应用安全性的工具出现。
4.边缘计算
在过去的两年中,我们听到了很多有关“边缘”的信息。我们现在这个时代,连汽车和冰箱中都是计算机程序,数据传输量也在不断增加,那么为什么不在数据附近进行运行呢?何必再到数据中心中去进行计算?在边缘进行计算,然后在把计算结果集合在一起,这样可以减少带宽需求,提高安全性和隐私性并优化计算使用过程。
事实是,包括Kubernetes在内的软件堆栈并不一定要在数据中心之外的那些异构计算环境上运行。例如,智能手机或智能手表,它们通常功能较弱,并且处理开销较小。
那么我们如何处理堆栈呢?
2019年有许多相关新闻,例如:领先的商业Kubernetes发行商之一Rancher发布了k3s,“专为无人值守、资源受限、远程位置或物联网设备内部的生产工作运行而设计”。Virtual Kubelet 1.0,一个使您可以将Kubernetes扩展到无服务器容器环境(尤其是在边缘基础架构上)的系统。
堆栈的边缘已经成熟。预计电信公司或设备提供商会陆续发布重要消息。