品质为上、精益求精、诚信经营、阳光同行

全国咨询热线:18637302099
企鹅直播官网

2020 云原生 7 大趋势预测

更新时间:2024-03-15   作者: 企鹅直播官网

  过去的几年,是云原生技术和理念得到普遍接受的几年。在这个加快速度进行发展的领域,预测未来显得尤其困难,但是我们又有着一些坚定的信念,相信以开放创新为支撑的云原生领域会持续重塑软件生命周期,带来不断的价值。

  2019,在众多热门技术趋势中,云原生的关注度居高不下,很多开发者都对由此而兴起的一众技术十分追捧,众多公司开始探索云原生架构转型落地。在中国,开发者们经历了从关注“云原生概念”到关注“云原生落地实践”的转变。

  在筹备阿里云首届云原生实践峰会的过程中,我们展开了对云原生技术的应用和研究领域的探索,邀请了 17 位云原生技术专家从 Serverless、Service Mesh、Kubernetes、边缘计算、容器实例与容器引擎、云原生基础架构、云原生应用开发 7 个发展趋势,回顾 2019 云原生领域进展,描绘云原生技术的新十年。

  展望 2020,在云原生技术的应用和研究领域,我们预见会有这些标志性事件。

  过去的几年我们正真看到,云原生技术重心围绕容器和容器编排。Docker 和 K8s 的成功几乎成了云原生的代名词。很多人说,Kubernetes is becoming boring,这是对于技术的趋势来说。

  应用的定义和配置、发布和线上的自动化运维,成为开发和运维人员关心的核心内容。阿里巴巴和微软联合推出的 Open Application Model (OAM) 就是这一个方向的一个重要项目。

  作为云原生技术的延伸,无服务器计算(Serverless)将进一步释放云计算的能力,将安全、可靠、可伸缩等需求由基础设施实现,使用户仅需关注业务逻辑而无需关注具体部署和运行,极大地提高应用开发效率,同时这个方式促进了社会分工协作,云厂商能更加进一步通过规模化、集约化实现计算成本大幅优化。相信在 2020 会有更多的创新和落地实践在这样的领域涌现。

  随着以容器为基础的云原生技术被用户广泛接受,能确定的预期,容器会很快成为云和用户的基本界面。因此对于云的服务提供商来说,基于容器、微服务、无服务器、服务网格等新型云原生技术的领域,必将是云厂商未来创新和竞争力的主阵地。

  虚拟化未来 3 年还会是云上资源增量的主体,但是硬件虚拟化加速的裸金属和安全沙箱容器的组合,正在加速企业的上云和容器化过程。云厂商未来技术竞争力的关键,在云传统的优势包括规模、稳定性、成本发挥到极致的前提下,必将通过云原生技术和产品的持续创新来服务客户来获得客户的认可。云原生产品领域将成为云厂商竞争白热化的必争之地。

  云原生技术起源于数据中心内的应用和服务,并在过去几年逐渐扩展到边缘场景甚至端上的计算。相信未来随着 5G/IoT 的加快速度进行发展,云边端一体化的云原生技术将深入更多的企业和更丰富场景,将无处不在。

  云的技术发展会领先于企业落地的速度。尽管云原生技术已被广泛接受,其在企业技术栈的落地仍然需要一些时间,也面临不少挑战。如容器化过程中改变传统虚拟机模式下的运维习惯,企业传统应用分布式微服务化的改造涉及 re-architecturing 等因素。

  云原生被企业接受之后,落地的过程要解决这些挑战。运维管理富有丰富组件并快速演进的云原生的基础设施也对企业 IT 人员的技术技能提出了更高的要求。然而我们始终相信,云原生技术带来的资源成本降低,研发运维效率提升等巨大价值,会驱动企业迎接这些挑战。

  在这个过程中,使用云原生上云,基于容器和服务网格等标准界面和混合云方案,将极大的降低迁云复杂度,使公司能够更快迁移到云上标准服务。通过云原生上云最大化使用云的能力,高效的社会分工,使企业聚焦于自身业务发展,相信将成为企业的共识。

  2019,行业中的各大 Serverless 计算平台的能力有了长足进步,变得更通用。例如通过预留资源完全消除冷启动对延时的影响,使得延时敏感的在线应用也可使用 Serverless 方式构建。Serverless 生态持续不断的发展。在应用构建,安全,监控报警等方面涌现了很多开源项目和勇于探索商业模式的公司,工具链越来越成熟。

  用户对 Serverless 的接受度持续不断的增加。除了互联网等迅速拥抱新技术的行业,传统企业用户也开始采用 Serverless 技术。站在新的一个十年, Serverless 领域将发生如下演进:

  真正的按请求次数计费和从零到一的响应时间是一个天然的矛盾,以 FaaS 为代表的 Serverless 技术一开始都是从对响应时间不敏感的,事件驱动的偏离线业务入手。但是今天我们已看到,包括 AWS Lambda Provisioned Capacity 和 Azure Functions Premium plan 在内的产品特性,都在让用户稍微付出一点额外的成本以换取更低的响应时间。这对于在线业务来说,无疑是更适合的。

  业务代码托管给 Serverless 平台之后,即能享受到自动弹性,按请求计费能能力。但是如果基础设施和相关服务不具备实时的扩缩容能力,那么对于业务整体来说,就不是弹性的。我们已看到 AWS 围绕 Lambda 对 VPC 网络、数据库连接池等资源做了大量实时弹性优化,相信其他的厂商也会跟进,进而行业整体会加速基础设施和各类云服务的 Serverless 化。

  尽管各个云厂商都在大力推广自己的 Serverless 产品,但是开发者普遍还是会担心被厂商绑定,因此具备一定规模的组织会基于开源方案,如 Knative,搭建自己的 Serverless 平台。而一旦某个开源方案成为主流,云厂商就会主动去兼容开源标准并增大社区投入。

  IDE,问题诊断,持续集成/发布等配套的工具和服务的使用者真实的体验会更加完整。我们将看到更多的成功案例和最佳实践。在前端开发等领域将会出现为 Serverless 而生的应用框架,将工程效率发挥到极致。

  Serverless 在 Function 场景下未来最大的挑战是 function 之间串联需要状态(state)传递、function 处理需要频繁和外部存储交互等带来的时延放大。传统的架构这些都是在一个程序进程内部处理完毕。解决上述挑战需要可计算中间层(加速层),可计算中间层(加速层)是未来学术研究和产品攻坚发展趋势之一。

  Docker 的创始人之一 Solomon Hykes 曾说,“如果2008年有 WASM 和 WASI,我们当时就没有必要创造 Docker 了”,这句话在某些特定的程度上说明了 WASM 的重要性。虽然当下 WASM 更多作为一种运行在浏览器端的技术被人了解,但是它具备很优秀的安全隔离能力,极快的启动速度,以及对于超过20种语言的支持,那么为什么不能让它运行在服务端呢?这些技术特性都非常契合 FaaS 的要求。

  在 2019 年,Service Mesh 的整体解决方案逐渐显现了寡头垄断的局面。一个解决方案能否得到行业的普遍认可,重点是其背后的技术团队对分布式应用治理复杂度是否有深刻洞见,以及能否打造一个被所有云厂商都采纳的事实标准。事实标准对于使用 Service Mesh 的客户来说,意味着分布式应用能通过你自己的需要在多云和混合云上方便部署。

  2019 年,Service Mesh 在部分公司如蚂蚁金服迎来大规模的落地,整个业界的热度在持续上升,大大加大了国内公司对于 Service Mesh 的信心,目前几乎每家稍微大一点的网络公司都慢慢的开始实践 Service Mesh,包括美团、头条、百度等公司。

  当然,在 2019 年业界落地遇到的很多问题,包括 Sidecar 大规模运维的问题等等,以 OpenKruise/kruise 的为代表的 SidecarSet 虽然已经在做一些努力,但是目前任旧存在升级 Pod 过程过于复杂的问题,这样一些问题有望在 2020 年得到解决。

  2020 年 Istio 作为控制平面的一种技术实现仍将在 Service Mesh 领域扮演核心角色。Istio 获得业界广泛关注的原因,在于背靠 Google 公司的内部工程实践,以及对工程实践的再思考和重新提炼。Istio 在过去一年的重要工作是完善功能和改善稳定性确保小规模生产可用,在 2020 年随着阿里巴巴采用这一技术实现大规模落地将为 Istio 的规模化运用提供真实的场景,这将使得 Istio 在接下来的一年在支持集群规模的能力上大幅提高。

  此外,随着探索,Istio 的可运维性和架构的合理性在 2020 年也将迎来积极的变化,其部署和运维的复杂性高等问题将得到解决。Istio 所采纳的 Envoy 开源项目,在新的一年依然保持 Service Mesh 数据平面的事实标准这一领导地位,Istio 和 Envoy 两大开源社区因为紧密协作而更好地推动 Service Mesh 向前演进。

  Service Mesh 作为解耦应用与基础设施的关键技术,在 2020 年将有更多的产品通过与 Service Mesh 结合去完成 BaaS 化,这除了减少没有必要的重复建设,还使得云产品因为将那些与应用无关的内容剥离出来下沉为基础设施的一部分而加速自身的演进速度,以及给云产品的使用者带去更棒的软件开发和维护体验而加速业务的探索效率和降低探索成本。

  我们看到 Envoy 也提供了 MySQL、Redis、MongoDB、DynamoDB 的协议支持,能够支持请求解析、请求级统计、失败统计等通用的可观测性特性。后续 Mesh 将继续发展,成为整个网络层面的一个基础设施,用以管控所有应用层面的出/入口流量。

  展望 2020 年,Service Mesh 将会成为解决异构系统通信、混合云架构等方向上的必备组件,在混合云、新老架构的场景下,Service Mesh 和原有基础设施的结合能力将成为 Service Mesh 落地的关键,比如对于 VM 场景的支持,对于传统服务注册中心的支持等等,相信会有更多的公司通过实践而对 Service Mesh 的价值更有体感,通过创造更多的成功客户故事而加速 Service Mesh 的普及。也许,2020 年将成为 Service Mesh 的普及年。

  2019 年,在社区头部参与者的持续推进下,“规模”与“性能”终于成为了 Kubernetes 项目的重要关键词,这不仅真正意义上打通了 Kubernetes 在公司制作环境中大规模落地的最后一公里,也让 Kubernetes 第一次成为了 “双11” 等顶级互联网规模化场景中实实在在的技术主角。

  站在新的一个十年, 2020 年 Kubernetes 领域将有如下变化:

  随着云原生计算的普及,慢慢的变多的应用负载都部署在 Kubernetes 之上,包括数据库、大数据、AI智能和创新应用,Kubernetes 已成为云原生计算的基石。得益于 Kubernetes 的大规模应用管理能力、多云混合云的支持能力,在 2020 年,Kubernetes 会成为用户和云计算新的交互界面。从架构的角度,Kubernetes 成为了 IaaS 层的控制平面,并逐步推动底层 IaaS(计算、存储、网络)的能力优化,来满足容器带来的一二个数量级的高密度和高动态性要求。

  Kubernetes 的大规模使用是否会带来企业运维人员的失业?实际上,随着慢慢的变多的企业 IT 架构,从 on Kubernetes 到 in Kubernetes,大量的 CRD、自定义 Controller 和服务网格的引入,给 Kubernetes 的稳定性和性能优化带来大量的挑战。Kubernetes 的掌握深度慢慢的变成为企业运维团队技术能力的重要评估标尺,而企业运维人员的技能也会从自动化向数据化和智能化发展。

  1)得益于 Kubernetes 的良好设计,包括声明式API、不可变架构、优雅的扩展机制,能够在一定程度上促进应用发布和运维的操作归一化(Normalization);2)结合 GItOps、Tekton、SecOps 等自动化流程的落地,应用的生命周期更加标准化(Standardization);3)随着 OpenTelemetry、CloudEvents 等项目的推进,应用可观测性领域在日志、监控、Tracing、事件等领域进一步标准化和融合,使得多指标、根因分析的数据集更为丰富,来提升 AIOPS 的 AI 层面的准确率和覆盖率。

  容器技术经过了多年的发展,从早期的 Docker、rkt、CRI-O 等,到 containerd、Kata Container、gVisor,慢慢的变成了 Kubernetes 运行的重要基石。然而无论是 runc 场景的进一步隔离,还是安全容器场景的进一步性能优化,还需要持续的打磨和增强。

  随着新内核技术包括 CGroup V2、namespace、virtiofs 等的逐步成熟,能更加进一步增强容器运行时的能力。另一方面,一些新硬件包括 NPU、MoC、NUMA 等的引入,也给容器和 K8s 调度带来了更多的优化空间和场景。得益于这些能力的加成,为容器场景量身定做的容器优化 OS 成为可能,并会快速发展。

  Service Mesh 经过多年的市场培育,2020 年将会成为 Service Mesh 技术的普及年。而 Service Mesh 的性能优化也会成为重头戏,一些下沉方案也在选择基于 CNI(容器网络接口)和内核技术逐步优化网络转发性能。

  而容器网络自身也在逐渐演进,从面向 ip 到面向 Identity,从单容器网络平面到多网络平面,并逐步优化网络转发性能和零可信安全。在 2020 年,我们始终相信容器网络和 Mesh 网络将进一步融合,在 Network ServiceMesh、NFV等场景进一步集成。

  随着 5G 和万物互联时代的到来,联网智能终端设备数量将飞速增加,传统云计算中心集中存储、计算的模式已经没办法满足终端设备对于时效、容量、算力的需求,将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。

  IDC 预计,到 2020 年全球将有超过 500 亿的终端与设备联网,超过 40% 的数据要在网络边缘侧做多元化的分析、处理与存储,这对边缘计算提供了充分的场景和想象空间。

  以 Kubernetes 为基础的云原生技术,经过近几年的快速地发展,适合使用的范围、落地场景、技术成熟度等均有了长足发展,其核心价值之一是通过统一的标准实现在任何基础设施上提供和云上一致的功能和体验。将云原生技术和边缘计算相结合,能够迅速实现『云-边-端』一体化的应用分发,解决在海量边、端设备上统一完成大规模应用交付、运维、管控的诉求;

  在安全方面,云原生技术能提供容器等更加安全的工作负载运行环境,以及流量控制、网络策略等能力,可以有明显效果地提升边缘服务和边缘数据的安全性;

  在边缘网络环境下,基于云原生技术的边缘容器能力,能保证弱网、断网的自治性,提供有效的自恢复能力,同时对复杂的网络接入环境有良好的兼容性;

  依托云原生领域强大的社区和厂商支持,云原生技术对异构资源的适用性逐步提升,在物联网领域,云原生技术已能够很好的支持多种 CPU 架构和通信协议,并实现较低的资源占用。

  目前已经有不少厂商在进行云原生边缘计算的尝试,并有了部分成功案例,相信在 2020 年随着 5G 的快速铺开,云原生边缘计算的发展将大大提速。

  在 2019 年的最后一个月 AWS 终于发布了 Fargate for EKS 产品,这也宣告了云上 Kubernetes 使用 Serverless 容器实例作为底层运行时资源的产品形态得到了业界更广泛的认可。通过容器实例作为底层运行实体可以让用户专注于构建自身的业务和服务,无需再配置和管理服务器,摆脱基础设施运维的复杂性。同时通过真正的按需付费和实时扩容来降低用户的使用成本。 无论是亚马逊的 Fargate,微软的 ACI 还是阿里云的 ECI,各产品当前在对接 Kubernetes 的具体架构上仍然有分歧,以 Fargate 为代表采用的是透传 Node 信息的方式来提供对 Kubernetes 功能的完整支持;以 ACI/ECI 为代表则采用 virtual kubelet 方式对接 Kubernetes 对容器实例进行管理。

  但无论采用何种对接方式,容器实例产品的核心依然需要构建在弹性、成本和 Kubernetes 兼容性上。通过弹性实现用户服务的按需实时扩容,用户无需选择实例和集群容量,不需要为额外的服务器预置而付费;通过实时扩容实现真正的按使用资源付费,降低用户的使用成本;Kubernetes 慢慢的变成了容器编排领域的事实标准,对 Kubernetes 功能的兼容性决定着容器实例的适用范围。

  站在新的一个十年,相信在 2020 年容器实例产品会在这三个方面继续改进和完善,持续提升弹性能力,降低用户的使用成本,并逐渐完备与 Kubernetes 的集成。同时也会有更多的云原生应用迁移到 Kubernetes+ 容器实例上,享受云原生的技术红利。

  这其中使用安全容器作为底层容器引擎是各家都很重视的底层基础能力。在 2019 年安全容器技术的隔离性慢慢的被看重,作为一个隔离层,不仅提升云原生平台的安全性,也对可运维性、服务的品质和用户数据保护有显著效果。不过,回归初心,用户选择云原生的本质是容器带来的敏捷性,他们能够快速地调度并启动容器,并能灵活地使用资源,这方面安全技术尚不能够达到传统容器的水平。 不论是 Kata Containers 还是 gVisor,开源安全容器引擎在 2019 年都取得了很多进展,Kata Containers 明白准确地提出了“做面向云原生的虚拟化”作为 2020 年的目标:

  在 2020 年,Kata 代表的虚拟化容器会与传统虚拟化渐行渐远而更加“应用中心”,gVisor 为代表的进程级虚拟化也期待更多为应用的优化。我们始终相信在 2020 年的时候,我们还不会有一个统一的安全容器技术,但展望 21 世纪 20 年代的头几年,我们期待软硬件的一起发展会让主流的容器引擎都具有更加好的隔离性。

  Serverless Infra.架构使得用户无需关注计算、网络、存储等底层基础设施细节,真正让用户回归到面向POD应用资源部署形态上去;同时管控面与数据面的强隔离能力将会是 Serverless Infra.架构的关键,除了对用户屏蔽底层基础设施细节外,Serverless Infra. 需要出示给用户一个安全可信的租户隔离环境

  2019 年随着经济体全面上云,底层调度系统全面升级到云原生 Kubernetes + 轻量级容器架构演进,并且大规模部署在神龙裸金属实例上;同时基于 kata-container 的安全容器运行时技术趋于成熟,已经具备大规模铺开的条件。

  站在新的一个十年,预计2020 年,将是经济体全面迈向基础设施 Serverless Infra. 的一年,Serverless Infra.架构将会基于神龙+安全容器架构,通过构建软/硬多租户能力,弹性能力和高度的容器自愈能力,为用户更好的提供极致的安全、稳定、隔离性的使用者真实的体验。同时底层资源池共享也能有效提升整体资源利用率,并池后资源互通将会大大降低整体机器成本

  展望 2020,我们大家都认为云原生+智能化将成为下一代研发平台最重要的两个特性,它将逐步降低开发者采纳复杂技术的门槛以及通过工具释放生产力。当所有复杂度都卸载到云上以后,我们将回到 10 年前开发单机程序时的高效。

  另一方面,大厂已有的 Web-IDE 方案也需要回过头来拥抱社区,彻底如 Facebook 完全从自研的Nuclide 转而投向 VS Code,而无论是 Amazon的Cloud9 还是 Google 尚未对外的 Cider,如果要在商业化上更进一步,支持 VS Code 的插件体系想必也是理所当然。

  从 Local-IDE 到 Web-IDE 让我想起了当年从 PC 到移动端。虽说时至今日,不少专业工具 PC 端的体验仍然是移动端难以企及的,但移动端的主导地位早已不容置疑。

  Web-IDE 具备开箱即用,环境一致可控以及和其它Web服务无缝集成的先天优势。接下来要做的除了继续补齐和 Local-IDE 在端功能的差距外,还能结合分布式编译构建,集中式代码仓库,海量代码索引分析,云端协同等,提供真正的 Cloud-Native IDE。

  GitHub 今年推出了 GitHub Actions,通过它可以在工作流中灵活地集成各种第三方服务。GitLab 也在更早的时候就推出了可定制化的 CI 流水线配置。无论是 GitHub 还是 GitLab,它们都从早期单纯的代码托管工具成长为了一站式 DevOps 平台。

  最早以 IntelliJ 工具起家的 JetBrains 不再满足于仅仅打磨 IDE,今年也推出了 Space,力图打造一站式研发团队平台。以项管工具 Jira 起家的 Atlassian,一直是自研收购两架马车并驾齐驱,今年通过收购又在自己研发平台的版图上增加了针对管理者视角的 Jira Align。

  在更高的抽象层面,诸如 Open Appliction Model(OAM) 这样的标准是不是能真正架起从业务架构到基础架构的桥梁。虽然如今的研发平台已然是诸侯割据的局面,但在云原生,标准先行的理念下,我还是会期待有离业务层更接近的云原生标准去串联起整个研发平台。

  当前的开发者工具绝大多数采用的是 lift and shift 的方式从本地平移上云,产品设计针对的还是单人人机交互,移到云端的研发工具还没有很好地利用云端多人实时交互的能力。无论是多人协作(云已经让我们离彼此更近),还是人机协作(云已经让机器变得更强),我期待着出现进一步挖掘云端协作能力的创新点。

  以 Kubernetes、Serverless、Service Mesh、Cloud IDE 为代表的多项云原生技术在过去一年让人印象非常深刻。我们意外的观察到,以中小网络公司为代表的技术群体开始快速拥抱这个技术体系,并且通过云原生落地,快速的获得了以往互联网大公司才有的精英软件交付能力,比如复杂的流量治理能力,灰度发布能力,A/B Test 能力,多环境管理能力,基础设施一键拉起,快速扩缩能力等等。

  但在企业采纳新技术的同时,也面临着诸多挑战,比如开源软件复杂的搭建过程,黑屏化的交互设计,缺乏研发管理方法,缺乏企业权限管理能力等。因此一大批软件供应商开始基于云原生技术体系开发相关的管理平台,比如 QingCloud,Rancher,阿里云容器服务。作为云上研发协同平台领导者的云效也在积极将 CICD 工具、测试环境管理方法、应用运维理念、DevOps 协同方法论等与云原生技术融合贯通,为公司可以提供开箱即用的新技术解决方案。

  云原生是一套开放标准的技术体系,核心贡献者就是当今世界的互联网云厂商巨头企业。随技术的发展与影响力的增强,逐步将企业的私有技术壁垒打破,并且开始采纳云上现成的云原生产品来改造自身的技术体系。技术的收敛带来了统一数据规范的可能,而数据是所有智能化的基石。

  我们观察到最近一年 AWS、微软、Facebook、ebay 等厂商都在积极布局智能化工具,从传统的“代码”智能工具逐步扩展到“服务”智能工具。比如最近 AWS 发布的CodeGuru,它是一个用于代码审查自动化和性能优化推荐的机器学习服务。它能找出最影响程序性能的代码行,并让提供修复或改进代码的具体建议。这就是代码大数据和运行时服务大数据结合的智能工具。

  对于云原生从业者来说,2020 年最大的挑战可能是兑现新技术给业务带去的价值。虽说过去一年对云原生的价值有不一样的层次、不同视角的解读,但更多还是从技术层面,鲜有各行各业的客户成功案例阐述新技术所带来的直接业务价值。

  从市场的角度:仍存在大量的传统行业的企业处于物理机或虚拟机时代,受资产状况的影响他们很难一下子将核心业务搬迁到云原生之上而体会到新技术的巨大价值;另一方面,对于早已进入容器时代的那些企业,他们在软件资产上过去多年持续地投入了大量的资源做建设,从功能层面早已建立起了与云原生等同的软件资产,不会很快从自建转变为云原生。这是市场面对新技术普及之前的正常姿态,行业客户从两端正在被改变,今天大家正逐步对云原生这一概念达成有具象的共识。

  站在新的一个十年起点,云原生从业者应当坚定自己对于新技术价值的理解和洞察,沉下心去将云原生的基础能力建设好。同时,需要非常重视以合适的方式和时机去兑现业务价值,通过更多的成功客户故事去加速市场对新技术的接受,让自己的成果更快、更好地被市场认可,创造行业趋势,为云计算的发展做出自己的贡献。

  【本文为51CTO专栏作者“阿里巴巴官方技术”原创稿件,转载请联系原作者】

  据IoTAnalytics预测,2020年全球活跃的物联网设备数量将达到100亿台,到2025年将达到220亿台;另据EnterpriseCIO预测,2020年全球物联网市场将增长到4570亿美元,年复合增长率将高达28.5%。这一些数据无一例外都在证明,新的一年物联网市场将会面临更加大的机遇与挑战,站在风口的物联网,能否众望所归