对于云原生社区而言, 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 在内的软件堆栈并不一定要在数据中心之外的那些异构计算环境上运行. 例如, 智能手机或智能手表, 它们通常功能较弱, 并且处理开销较小.
那么我们如何处理堆栈呢?
来源: http://cloud.51cto.com/art/202002/610239.htm