请选择 进入手机版 | 继续访问电脑版

云原生发展趋势

所在版块: 容器云 2020-09-20 17:13 [复制链接] 查看: 115|回复: 0
云原生发展趋势

趋势一:Kubernetes使用率急剧上升

与2018年相比,Kubernetes在生产中的使用率急剧上升,有78%的受访者表示他们在生产中使用了Kubernetes,与去年的58%相比显著增加。
在CNCF的毕业项目中,Prometheus和CoreDNS的增长速度仅次于Kubernetes。在CoreDNS为群集提供命名服务的同时,Prometheus已成为收集和汇总指标的事实。
此外,尽管大多数用户的生产环境中运行的集群只有2-5个(占比43%),但有10%以上的用户正在运行50个以上的生产集群!
Kubernetes 官方声称单集群最多可支持5000个节点和15万个Pod。但是,现实生产环境中,有研发能力比较强的公司号称可以把规模做到10000个节点,比如阿里巴巴。
阿里巴巴通过一系列的增强与优化,成功将 Kubernetes 应用到生产环境并达到了单集群 10000 节点的超大规模,具体包括:
1.通过将索引和数据分离、数据 shard 等方式提高 etcd 存储容量,并最终通过改进 etcd 底层 bbolt db 存储引擎的块分配算法,大幅提高了 etcd 在存储大数据量场景下的性能,通过单 etcd 集群支持大规模 Kubernetes 集群,大幅简化了整个系统架构的复杂性;
2.通过落地 Kubernetes 轻量级心跳、改进 HA 集群下多个 API Server 节点的负载均衡、ListWatch 机制中增加 bookmark、通过索引与 Cache 的方式改进了 Kubernetes 大规模集群中最头疼的 List 性能瓶颈,使得稳定的运行万节点集群成为可能;
3.通过热备的方式大幅缩短了 controller/scheduler 在主备切换时的服务中断时间,提高了整个集群的可用性;
4.阿里巴巴自研调度器在性能优化上最有效的两个思路:等价类处理以及随机松弛算法。

趋势二:公有云是最受青睐的目的地,而混合云正迅速发展
大部分(62%)的受访者在公共云中运行其工作负载,而其余工作则在混合云环境中运行。随着基于Kubernetes的混合云平台的推波助澜,2020年我们将看到混合云采用率的增长。
Microsoft Azure是最早提供混合云的主要云供应商。自2016年以来,Azure Stack已允许用户使用类似于Azure的技术来运行私有数据中心,并通过通用界面将客户的Azure连接到公有云和私有云。用户现在可以跨Kubernetes集群运行容器,无论它们位于Azure,其他云还是私有基础设施上,并通过通用的Azure界面管理所有容器。
Amazon也在2018年底加入这一队伍,现在正逐步推出AWS Outposts。这一产品将组合Amazon硬件/软件堆栈直接放置到客户的数据中心,以与AWS进行交互。
Google于2019年4月推出了Anthos套件,用户可以使用它的Kubernetes解决方案——Google Kubernetes Engine(GKE)的优势,无论集群托管在Google或任意一家云供应商还是办公场所。
2019年是混合云获胜的一年,现在它已经获得了三个云供应商巨头的支持。混合云Kubernetes将于2020年正式推出。

趋势三:服务网格Service Mesh潜力仍需进一步释放
考虑到我们对服务网格的兴趣增加,CNCF在2019年的调查中增加了一个关于这个话题的问题。目前实际生产环境中服务网格的使用率仍然很低,18%的受访者表示他们使用了服务网格项目,47%正在评估服务网格的使用。服务网格技术仍然是相当新的,我们几乎看到一半的受访者已经在评估这项技术。在2020年,我们希望能够看到服务网格在生产中的的应用量实现进一步上升。
对于那些评估或使用服务网格项目的人来说,最受欢迎的是:
Istio(69%)和Linkerd(64%)是被评估最多的前两个工具,这表明它们在未来几年的生产中的使用将显著增加。
Istio是由Google、IBM和Lyft发起的开源的服务网格项目。该项目在2017年推出,并在2018年7月发布了1.0版本。Istio基于Envoy代理并以之为数据层(data plane)。可以说Istio是如今最炙手可热的服务网格。
Linkerd最初是由Buoyant团队于2016年打造的一个服务网格项目。Linkerd是CNCF的官方项目,基于Twitter的Finagle项目并和后者一样,最初是由Scala语言编写,设计理念是支持基于主机(物理主机或者虚拟节点)的部署模式。
Istio和Linkerd都支持以主流的外挂(Sidecar)模式部署。在这种模式下,每个微服务都被分配一个单独的代理。微服务间的通信并不直接进行,而是通过自身的代理转发。代理会将请求路由到目标微服务的代理,该代理再将请求转发到目标微服务。所有这些服务代理构成了数据层。在服务网格的架构下,数据层由控制层(control plane)来进行配置和监控,控制层一般另行独立部署。

趋势四:Serverless将成为主流
2019年受访者中不使用无服务器技术(Serverless)降至34%,2018年为37%。至少41%的受访者声称正在使用无服务器技术,与此同时,20%的受访者计划在接下来的12-18个月中使用无服务器技术。对于那些正在使用无服务器技术的受访者而言,80%使用hosted platform(托管平台),另外20%使用可安装平台(installable platform)。
在使用的托管平台中,最主要的工具是AWS Lambda(53%)、谷歌Cloud Functions(18%)和Azure Functions(14%),AWS Lambda遥遥领先于第二和第三。
AWS Lambda 是一项无服务器计算服务,可运行代码来响应事件并为您自动管理底层计算资源。您可以使用 AWS Lambda 通过自定义逻辑来扩展其他 AWS 服务,或创建您自己的按 AWS 规模、性能和安全性运行的后端服务。AWS Lambda 可以自动运行代码来响应多个事件,例如,通过 Amazon API Gateway 发送的 HTTP 请求、Amazon S3 存储桶中的对象修改、Amazon DynamoDB 中的表更新以及 AWS Step Functions 中的状态转换。
Lambda 在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预配置和自动扩展、代码和安全补丁部署以及代码监控和记录。您只需要提供代码。
在使用的可安装平台中,Kubernetes上的事件驱动的无服务器框架在云原生开发人员中越来越受欢迎。34%的受访者投票支持Knative,它是最受欢迎的无服务器框架,其次是OpenFaaS,Kubeless和Virtual Kubelet。


参考文献:

[1]Kim McMahon.CNCF: 2019 CNCF Survey results are here: Deployments are growing in size and speed as cloud native adoption becomes mainstream[eb/ol]. https://www.cncf.io/blog/2020/03 ... becomes-mainstream/, 2020-03-04
[2]Janakiram MSV.Janakiram & Associates: 15 Most Interesting Cloud Native Trends From The CNCF Survey[eb/ol]. https://www.forbes.com/sites/jan ... urvey/#2c3f1be934d5, 2020-03-04
[3]曾凡松.阿里云: 阿里系统软件技术[eb/ol]. https://www.cnblogs.com/alisystemsoftware/p/11570806.html, 2019-09-23
[4]RancherLabs.简书: 重塑云原生,2020年云原生的四大关键趋势[eb/ol]. https://www.jianshu.com/p/52771f167bd5, 2020-02-26
[5]EAWorld.IT综合: Service Mesh框架对比:Linkerd vs. Istio[eb/ol]. http://blog.itpub.net/31562043/viewspace-2639296/, 2019-03-25

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注时速云公众号

QQ|Archiver|云原生技术社区 | 时速云 ( 京ICP备14045471号 )

GMT+8, 2021-6-14 05:35 , Processed in 0.391862 second(s), 22 queries .

快速回复 返回列表