Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

说说云原生落地面临的难点与坑点

  • 2020-03-17
  • 本文字数:3768 字

    阅读完需:约 12 分钟

说说云原生落地面临的难点与坑点

云原生概念在近两年十分火爆,多个互联网一线大厂争相落地 K8s、微服务、Service Mesh 等技术,涌现出一大批值得参考的优秀实践案例。但在落地云原生的道路上,其实暗藏着诸多陷阱与障碍。如何识别发现并规避这些难与坑?InfoQ 记者近日采访了 Mobvista 技术 VP 兼首席架构师蔡超老师,他也是 QCon 全球软件开发大会(北京站)2020“云原生技术应用”专题的出品人。


云计算平台带来了 IT 基础设施巨大变革,而每一次 IT 基础设施的变革都会促使开发人员去思考能够充分发挥新平台优势的软件设计和开发方法。“云原生”就是一种可以让我们充分利用云计算模式的优点来构建和运行应用的方法。


自 2013 年云原生的概念首次被提出以来,其范围不断扩大,内容不断充实,云原生的理念正影响着我们设计、实现、部署和运维应用的方式。


目前,微服务及容器化技术已在云端成为标配。Service Mesh 技术也日趋成熟,并在不同领域的大规模系统中得到了实践,DevOps 的文化也伴随着相关云原生技术发展得以落地,SRE(Site Reliability Engineering)的实践推动了 Kubernetes operator 应用的爆发。另一方面,开发人员在拥抱容器和云原生的同事,也面临着文化、安全性、复杂性和监控等方面的挑战。根据康威定律,开发团队的构成也正发生着与云原生相应的变革,Amazon 的 two pizza team 组织结构已为更多的组织所采用。可以说,云原生不仅改变了技术,也改变了文化。


对传统开发团队来说,无论是构建新的云原生系统,还是将遗留系统迁移到云原生都是一件充满挑战的事。而在落地云原生的道路上,还有着大大小小的陷阱,它们是什么?如何规避?带着对诸多疑问,我们采访了 Mobvista 技术 VP 兼首席架构师蔡超,他是云原生技术应用落地的亲历者,多届 QCon 人气演讲嘉宾,也是 QCon 北京 2020“云原生技术应用”专题的出品人。


InfoQ:您是怎么接触到云原生的?在您看来,云原生是什么?


蔡超:在加入 Mobvista 之前,我在 Amazon 工作了七年。Amazon 可以说是云计算平台的先驱,同时也是很多云原生相关理念的早期实践者,例如:微服务,DevOps 等。实际上,这些理念在 Amazon 甚至诞生在云计算之前。


简单来说,”云原生“是一种充分利用云计算模式的优点来构建和运行应用的理念和方法。


InfoQ:云原生有哪些关键技术?它们分别有什么价值?


蔡超:其实,谈到云原生的关键技术,我们可以从云原生技术的定义入手。2018 年 CNCF 对于云原生技术的定义如下:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。”


(英文原文:Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.


These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.——from CNCF)


其中提及的主要技术包括了容器,服务网格,微服务,不可变基础设施和声明式 API。其实,一一说明每一项技术的价值需要巨大的篇幅,这里就不展开了,我认为这些云原生相关技术——


  • 使得大规模系统(涉及大量开发人员,大量基础设施)可以持续快速发布。

  • 有效利用云计算基础设施的特点,让服务可以按需快速伸缩。

  • 提高系统的弹性,从而获得高的可用性。


同时,这些技术也使得 DevOps 等能够更容易的落地。


InfoQ:对很多技术来说,概念普及并不难,难的是落地,那么云原生的落地面临着哪些难点?


蔡超:目前,根据我个人的实践,从大的方面看主要有以下三个难点:


遗留系统的迁移,目前大量的企业仍然采用传统 IDC 做为基础设施,为了充分发挥云平台的优势系统往往需要进行重构,如:微服务化,整合云端后台服务。对大规模系统而言,迁移不可能一步完成,整个迁移过程会较为漫长,在过程中系统是处在一种混合状态,如:既有运行在容器中的微服务,也有在容器外运行的,甚至是运行在传统非云基础设施上的服务。所以,这种混合状态会对开发和维护提出更高的挑战,新迁移系统和遗留系统的互通,分布的迁移过程都要通过精心的设计。


数据迁移和安全存储,我们需要考虑到数据如何迁入云平台,或仍需本地存储,并且如何保证数据在公有云存储和访问的安全性,本地存储时还需考虑数据传输的成本及传输的安全性。


开发人员的思想转变,目前大多数的架构都是成长与云时代之前,学习的经典架构模式知识也都来自于那个旧时代。对于开发人员,云原生的技术及理念都需要在实践中逐渐学习,传统基础设施及开发流程会成为引入新技术及理念的很大阻力,在迁移过程中开发人员处于新旧并存混合环境中。


InfoQ:您认为,企业为什么需要云原生?对于没有采用云技术的企业,是否也有可以借鉴的思路?


蔡超:因为云计算平台所具有的按需伸缩,服务化基础设施等特性,有效的帮助企业实现快速创新,云平台已经日益成为企业的基础设施的首选。“云原生”本质上来说就是利用云计算平台的优点来构建和运行应用的技术和方法。所以,对于越来越多的上云的企业来说,要想充分发挥云计算的优势,就要采用云原生相关的技术和理念,而不仅仅是将传统应用直接复制到云端。


实际上甚至对于那些还没有采用云技术的企业,云原生都有着很强的指导意义,如:微服务,不变基础设施等理念都不仅仅适用于云平台,对于构建和运行在传统基础设施的企业应用也有很大的益处。


InfoQ:您怎么看待“云原生架构”这个词?


蔡超:没有所谓的云原生架构,云原生在我看来是一系列技术及理念,让开发人员更好的利用云计算构建企业应用。微服务是云原生技术 / 理念的一部分。


IT 基础设施(Infrastructure)的变迁总是会推动架构演进,使得架构能够充分发挥基础设施的特点。例如,在 大型机时代,架构就是与之匹配的单体架构,随着 PC 及局域网时代的到来,客户服务器架构成为主流,那么 Internet 的发展则推动了 WEB Service 架构的发展,也带动 SOA/EDI 等基于 WEB Service/SOAP 的架构思想。现今,伴随互联网应用的规模日益庞大及云计算平台的广泛应用,能够适应大规模系统快速演化及发挥云计算优势的微服务架构日益流行。


InfoQ:落地云原生过程中,有没有哪些坑需要警惕?


蔡超:最常见的“坑”就是:直接将本地应用迁移到云端,不仅导致系统架构无法有效利用云的“Scale on Demand”等特性,通常还会造成成本的浪费。


“云原生”的实践仅仅停留在系统构建层面,而组织结构和团队文化并不适合云原生。犹如康威定理指出的,组织机构要适合与系统架构,开发团队的组织结构也要随着系统架构的迁移进行重构,如:适合微服务架构及 DevOps 的跨功能小团队。


InfoQ:云原生是大势所趋吗?2020 年有哪些值得关注的内容?


蔡超:随着云计算平台的日益广泛应用,云原生则是帮助人们更有效的利用云平台,所以,当云计算成为趋势时,“云原生”必然是大势所趋。我认为 2020 年,值得关注的技术包括:


  • 混合云实践,各大云商都推出了混合云(Hybrid Cloud)相关的支持方案(Microsoft Azure Stack, Amazon Outposts 等),以及 Kubernetes 可以在混合云环境下应用。

  • Service Mesh 在大规模系统中的实际应用,ServiceMesh 方案已经成熟,尤其在性能方面有很大提升。

  • 边缘计算(The Edge),边缘设备也将成为云端应用的重要部分,包括 Kubernetes 也开始支持边缘计算场景,典型的有 Ranch 的 K3s。

  • SRE 以及随之兴起的 Kubernetes Operator Pattern 相关技术。

  • FaaS (Function as A Service)作为 Serverless 架构的核心,各大云商都没有缺席,并且与之相关的 OpenSource 项目也日益涌现,如:OpenFaaS 等。

采访嘉宾

蔡超,Mobvista 技术 VP 兼首席架构师。拥有超过 15 年的软件开发经验,其中 9 年任世界级 IT 公司软件架构师 / 首席软件架构师。2017 年加入 Mobvista,任公司技术副总裁及首席架构师,领导公司的数字移动营销平台的开发,该平台完全建立于云计算技术之上,每天处理来自全球不同 region 的超过 600 亿次的请求。


在加入 Mobvista 之前,曾任亚马逊全球直运平台首席架构师,亚马逊(中国)首席架构师,曾领导了亚马逊的全球直运平台的开发,并领导中国团队通过 AI 及云计算技术为中国客户打造更好的本地体验;曾任 HP(中国)移动设备管理系统首席软件架构师,该系统曾是全球最大的无线设备管理系统(OMA DM)(客户包括中国移动,中国联通,中国电信等);曾任北京天融信网络安全技术公司,首席软件架构师,领导开发的网络安全管理系统(TopAnalyzer)至今仍被政府重要部门及军队广为采用,该系统也曾成功应用于 2008 北京奥运,2010 上海世博等重要事件的网络安全防护。


由蔡超老师担任出品人的“云原生技术应用”专题主要聚焦于云原生的实践,实践者们将分享他们在云原生演化过程中收获的经验与教训, 帮助更多的团队少走弯路,成功实践云原生,点击了解详情。


2020-03-17 00:003900

评论 1 条评论

发布
暂无评论
发现更多内容

超级视频播放器:nPlayer for Macv1.4.0中文激活版

真大的脸盆

Mac Mac 系统 视频播放器 视频播放 视频播放软件

自动化测试理解

测试 自动化测试

极客时间运维进阶训练营第二十一周作业

忙着长大#

提升集群吞吐量与稳定性的秘诀: Dubbo 自适应负载均衡与限流策略实现解析

阿里巴巴云原生

阿里云 开源 云原生 dubbo

释放商业潜力:掌握成功IT数字化转型的三大关键

L3C老司机

数字化转型 工程效能 业务赋能 胜任力 IT咨询

Spring Cloud Alibaba 应用如何平滑迁移至 IPv6?

阿里巴巴云原生

阿里云 云原生 Spring Cloud Aliababa

PyTorch深度学习实战 | 预测工资——线性回归

TiAmo

深度学习 线性回归 PyTorch 梯度下降法

架构训练营 - 模块八作业

Sam

架构实战营

故障处理与自动驾驶(63/100)

hackstoic

架构设计

Low-Code,一定“low”吗?

京东科技开发者

低代码 京东云 京东技术 京东科技 企业号 4 月 PK 榜

又是一季金三银四,Spring之AOP知识要点总结

Java你猿哥

spring Spring Boot ssm aop

5 分钟读懂开源服务框架 Dubbo 及其最新规划

阿里巴巴云原生

阿里云 云原生 dubbo

如何用一个端口同时暴露 HTTP1/2、gRPC、Dubbo 协议?

阿里巴巴云原生

阿里云 云原生 dubbo

Python:如何写输入与输出

强劲九

Python

我没能实现始终在一个线程上运行 task

newbe36524

C#

阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)

Java你猿哥

Java java面试 Java工程师 Java面经 春招

selenium源码通读·1 | 源码目录

Python 源码 自动化测试 selenium

声明式编程:by example

agnostic

声明式

Spring探索丨既生@Resource,何生@Autowired?

阿里巴巴云原生

spring 阿里云 云原生

​openEuler 23.03 正式发布,聚集社区创新力量,增强基础技术能力,协同全场景创新

openEuler

Linux 运维 操作系统 openEuler 桌面开发

SSD 存储领域厂商大普微加入龙蜥社区,完成与龙蜥操作系统适配

OpenAnolis小助手

开源 操作系统 龙蜥社区 CLA 大普微

Java异常处理和最佳实践(含案例分析)

阿里巴巴云原生

Java 阿里云 云原生 JVM

全栈声明式可观测:KubeVela 开箱即用且灵活定制的云原生应用洞察

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

【原理揭秘】Vite 是怎么兼容老旧浏览器的?你以为仅仅依靠 Babel?

京东科技开发者

前端 企业号 4 月 PK 榜

「硬核实操」如何拥有一个自己的数字人模型

京东科技开发者

京东云 数字人 企业号 4 月 PK 榜

Go flag 标准库源码解读

江湖十年

后端 命令行 Go 语言

想拿到10k-40k的offer,这些技能必不可少!作为程序员的你了解吗

Java你猿哥

Java 面试 架构师 面经 Java工程师

Activity登堂入室

芯动大师

windows Activity View

前端里那些你不知道的事儿之 【window.onload】

京东科技开发者

前端 京东云 京东技术 京东科技 企业号 4 月 PK 榜

MySql序号递增

源字节1号

软件开发 小程序开发

说说云原生落地面临的难点与坑点_架构_邓艳琴_InfoQ精选文章