云原生技术在朋友圈的热度,你了解多少?

发表时间: 2020-09-28 16:17

整理 | 八宝粥,责编 | 伍杏玲,视频 | 王晓曼

出品 | CSDN(ID:CSDNnews)

据 IDC 报告显示,到 2022 年,90% 的新应用将具有微服务架构,这些架构可提高设计、调试、更新和利用第三方代码的能力,其 35%的生产应用将是云原生的。

近年来,“云原生”成为 IT 圈里炙手可热的概念,越来越多的企业和开发者开始把业务与技术向云原生演进。据数据显示,到 2021 年,将有 92% 的公司成为云原生公司。

云原生到底是什么?能给企业带来哪些便利?由微软、CSDN 联合重磅打造,致力于用「用技术驱动商业变革」的《刷新 CTO》第六期中,以《将云原生技术革命进行到底》为主题,邀请到微软全球 AKS 技术总监柯琪,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛,微软(中国) 首席技术官韦青,微软云数据服务产品经理许豪作为主持人,针对云原生的概念、技术发展历程以及在国内外应用落地等问题进行深入讨论。云原生时代下,存在哪些机遇和挑战?程序员应该如何顺应时代、拥抱变化?

立即点击视频观看精彩瞬间:

“云原生在吞噬世界”

蒋涛

蒋涛:从 2010 年起,CSDN 每年举办云计算大会为开发者传播相关技术知识,当时还举办 “Hadoop in China”的社区活动。近年来,云原生话题火热,最近刚上市的硅谷云计算公司 Snowflake,估值 700 亿美金,非常惊人;而数据仓库鼻祖 Teradata 的市值是 27 亿美金。而我们看到,基于 Hadoop 的开发标准平台 Cloudera 其市值好像只有 29 亿美金。

2015年,云原生计算基金(Cloud Native Computing Foundation,CNCF)成立,随后,谷歌将 Kubernetes 控制权转移给 CNCF,这是一个标志性事件。

随着互联网的发展,所带来的数据量越来越大,我们需要有更好、更简单的大数据管理方式,Hadoop 应运而生。有了 Hadoop 后,需要容器化管理上面的应用程序,于是诞生了 Docker。有了这些技术后,如何让它更好地可扩展、自动化、规模化,更大地进行分布式资源调度?Kubernetes 的诞生奠定云原生的一大发展。

从2015年开始到现在,针对全行业以前是“软件正在吞噬世界”,技术领域则是“开源吞噬所有技术”,而如今是“云原生在吞噬世界”。

Q:“云原生”到底解决的是什么?

韦青:我是研发操作系统出身的,所以我对“云原生”的概念理解会放在一个更大的历史维度上:

“云原生”分为“云”和“原生”两个词。微软 CEO 萨提亚·纳德拉(Satya Nadella)曾说过“Azure 是世界大脑”。如今我们进入一个无处不计算、无处不智能的时代,这和上世纪 90 年代,施乐PARC 实验室 Mark Weiser 提出的“普适计算”概念不谋而合。上述这些技术是为云原生铺垫上下文语意。

操作系统概念来讲,当下我们的生活被计算机打破了所有时空的局限,如果想随时随地拥有计算、智能、信息处理能力的话,就需要有一个能突破时空障碍的计算基础架构的支持。想突破时空障碍,它需要在时间、空间上都是泛在,这就是如今的“云计算中心”。如果我们抛开这个词不谈的话,解读成“泛在的计算能力”的话,一旦具备这种能力,一切的用户需求、应用开发、测试、部署、管理、升级等都应基于这个安全合规的架构,我们称之为新的开发上下文语意——云原生。

柯琪:容器和 Kubernetes 带来云原生革命。以前大家写程序是写一个很大的程序,很多人一起编译二进制文件,最终又释放出很大的二进制文件,记得有时候一个二进制文件需花费 8 个小时,甚至 24 个小时来完成。编写这么庞大的系统就造成很多的问题,像最早的的 Windows 和 Office 版本,一个 release 需要花费好几年。现在一个 release可能仅需几个星期、几天、几个小时的时间就可以的。当前产品有Bug 需要修复的话,仅需几个小时就能发布出去。

因为容器和 Kubernetes 把这变成了可能,大家可以庞大的系统拆分成一个个微服务。

以前的开发流程是这样的:开发者在自己的本地机器构建项目,在几个星期、几个月后,再进行统一的构建放在统一的机子上,由专门的人员进行测试,几个月后再部署到目标产品上,有运维人员专门管理。

云原生和微服务让以上的工具和流程发生变化,大家开始用快速迭代,例如CI/CD 等工具。同时研发团队的角色职责也变得模糊,之前是从开发人员研发系统,再到测试人员测试,上线产品,运维部署和维护系统,上线后有 Bug的话还需要请研发人员修复,甚至支持修改用户需求。云原生带来不仅是概念的转化,还增添了很大的灵活性,而研发团队里的开发、测试、Ops 等角色也融合成一个角色。

国内外云原生发展现状

云原生理念诞生于北美,经历一些时间才在国内兴起。但随着开源技术的普及,国内云原生发展很快。国内外在对云原生接受度上可能存在一定差异,例如在国内企业上云可能更多是关心节约资源或降低企业成本,在导入云原生技术过程中,或多或少有一些客制化产品存在。在国外可能更多的是推广标准化产品,大家更多的是以订阅方式来使用标准化服务。

Q:在您的观察中,国内外云原生现状是如何的?

蒋涛:国内当下可分为两个层面来看,一是从开发者层面来说,中国开发者在社区上表现活跃,对新技术的采纳度和使用接受度非常快和非常高。

二是中国公共云厂商的能力很强,像阿里云的技术投入和跟踪速度几乎是同步的。但从企业用户的角度来说,可能不是跟着这么紧。虽然云计算已发展多年,但中国企业云市场还处于发展的阶段,企业对上云的接受度还行,可遇到的困难和挑战非常多。

在上云过程中,据统计,有 65%~70% 的被调查者认为云迁移带来不是节约成本,而是更贵了。60% 的用户对云安全性关注较多。

过去中国企业的 IT 系统相对较陈旧,当系统迁移上云时,技术上可能会存在壁垒。虽然中国顶尖互联网公司的技术能力在全球领先,但是中国企业级的技术能力有些还停留在十几年前,这将会形成很大的障碍。由此我们可见。企业上云的最大障碍是过去系统老化,内部人员技术需要进一步提升,这是其中的挑战与机遇。

柯琪

柯琪:国外对隐私很重视,大概在 2016、2017 年以前,我们认为金融、银行、医疗等企业机构是不可能上云的。如今则是完全不同,我们已帮助很多医疗系统客户解决系统的扩展性和性能问题。

企业上云注重的是“利益”,而不是热点名词。在上云过程中,一些非技术型企业看到自己的不足,它对安全、可扩展性、性能、分布式计算、微服务搞不定。在几经挫折后,企业明白需要找有经验的人来专职专用。他们可能尝到了好处才会上云,他们明白云厂商不仅能提供技术支持,还能使产品更安全高效,从长期来看,也节省购置机器和人员维护的费用。

韦青技术人思维上可能存在一个误区:我们很喜爱我们的技术,以为别人也很喜欢技术。不是这样的。企业高管和决策者只关注解决业务问题,而不在意用什么技术。所以技术人员一定要了解业务痛点。

说实话,关于云原生技术,绝大多数企业是不在乎、不太理解云原生的。你越是要说云原生,他越觉得你在云里雾里忽悠。

在过去几十年信息化过程中,很多国内企业使用的“招式”不像欧美那种“标准打法”,而是灵活的“打法”。如何是一步一步到云,如何企业上云后直接到云原生,对于其中的发展路径,如果我们没有解释清楚的话就很难进行下去。

所以我对开发者的建议是:

一是千万不要抱着“云原生”不放,云原生对开发者来说很重要,但对企业来说,TA只是解决问题的其中一种办法。尽管我们知道那肯定是最终最优秀的办法。

二是要从客户角度来思考。以高速公路为例,国内有很多 ETC 收费点,里头的系统用的是云原生技术。为什么这么用?因为是利益驱动,或者说是“痛点”驱动的。

由于管理全国几十万个 ETC 站点,其网络状态、结构不同,如果用统一中央管理是不可能的,必然要以容器为基础,利用各种灵活性的编排各种场景,并在全国部署。ETC 在时间轴和空间轴上必须是泛在的,要想达到整个中国这么大的空间泛在和 7×24 小时的时间泛在,用传统IT概念不可能实现。所以它必须上云,使用云原生技术。

云原生时代下,开发者的机遇和挑战

蒋涛:云原生时代下,编程理念、研发工具将发生变革,新编程时代来临。开发者需要处理的复杂度也大幅度提升,过去不需要考虑,可能把代码本身写好,现在需要考虑背后的框架和架构分离,还有和未来业务的衔接,所以才有了微服务、Serverless、云原生等。这是对所有开发者人员来说的一个挑战,每次转变会带来机会,同时也会带来一些风险,大家需要先理解背后的原理。

微软特别擅长把一些复杂的技术做得更易用化和平民化,这是微软在开发工具领域和企业服务领域保持非常强劲的势头原因之一。为什么云原生发展如此快?当技术越来越复杂化后,IT 公司或者个人开发者是很难处理好这么复杂的一套东西。特别在安全性方面,企业数字化升级后,全部 IT 资源部署在云上,安全性尤为重要。

同时这将带来很多机会,各种开源工具不断发展。开发人员需先学习新技术的背后核心是什么?再去掌握这些新一代工具,选择好的工具来提高效率,驱动关键性业务。所有的技术变革不是因技术的改变而改变,是因业务和商业场景的变化来驱动企业采用新技术。开发者要找到和掌握技术需求的场景,找到背后的驱动力,才能找到适合自己发展的空间。

Q:对此,在云原生时代下,微软做了什么?

韦青

韦青微软在几十年如一日中,始终坚持用微软创新基因来为开发人员和IT管理人员提供IT能力。原来我们是用 Windows 操作系统提供,现在是云的能力来赋能。微软在基于安全合规和身份统一的框架上,提供给用户计算、存储、网络、交互等能力,以下两个要点是不变的:让开发人员更容易开发应用和让 IT 管理人员更方便、合规和安全管理 IT 资产。

如今各项资源都搬到泛在的计算上下文语意中,即为“云计算”。在这种情况下,微软随之将 VS Code 等开发工具变成云原生。

如果“云原生”中的“云”去掉,“原生”还是原来在开发应用时,从客户需求到代码编写,到测试到部署、管理、更新这些原来的思路和流程。但是工具和上下文语意全都改变了。微软在工具和环境上都继续提供这种能力。

云到底跟原来有什么不同?不同在于泛在了,相同还是计算、存储和网络。我们的开发范式改变了,但是开发原则不需要改变,用户的需求不需要改变,这样我们才能真正善于利用微软提供的各种各样工具来为客户服务。

柯琪:微软有 Visual Studio 等深受开发人员喜爱的开发工具,后来又开发了VS Code,TA 不光是轻量级,还可以提供各种插件接口,具有非常好的可扩展性,还可以跨平台。Azure K8S 和 Visual Studio 有很好的合作,Azure K8S 在 VS Code 上的扩展也很受欢迎。

刚才说到,如今开发团队的角色模糊了,变成一个角色,那他们在开发的过程中,不可避免地需要 Debug,需要从 Kubernetes 系统拿到日志和监控来定位问题。针对这,我们推出了 container inside add-on 功能,用户开启该功能后,TA会自动部署获取监控和日志数据,再自动将它们投入到日志分析,便于用户查询问题。

Azure K8S 优点有哪些

柯琪:由于各个云都有自己的特殊地方,每个云的 API 不尽相同,配置不同,例如客户选择的虚拟机型号和自己的工作量应用不匹配,就造成会触及到IOPS,如有较多的 IO 而选择了小 IO 的虚拟机,作业就会阻止或者失败,可能会出现很多问题。很多时候用户不知道这其中的细节情况。

Azure K8S 就像是对客户应用的护栏,我们有机会向他反馈,指出其中的问题来修复。对此,Azure K8S 投入很多,如可以主动监测客户集群,当发现其节点出现问题,或者一些重要的组件在 Kubernetes 上出现问题的话,它就“挂”在那里,给用户产生护栏保护。

Azure 有很大的用户群是企业用户,对企业用户来说最重要是什么?安全绝对是排在第一位的。从 Azure K8S 的角度来说,从一开始就把安全作为重中之重,让用户在 Azure K8S 部署应用也有信心。

在安全性上,通过 Azure Active Directory 和 Azure RBAC获得对从集群到 Kubernetes 资源的精细的标识和访问控制。可使用 pod identity 控制 Azure K8S 上运行的容器 对 Azure 资源的访问。通过GateKeeper使用Azure Policy对Azure K8S 上的容器进行安全管理等。集成了Azure Confidential Compute,为企业提供在 Azure K8S 上混合加入机密技术的能力。

建议开发者

蒋涛:云原生+DevOps 在国内是存在很大的机会,这不是因为前面说的技术换代,而是因为企业的经营模式发生大的转变。九阳 CIO 告诉我,他们的产品70% 在线上销售。上个月我和新东方的俞敏洪老师聊天谈到,和好未来创始人张邦鑫见面谈到,好未来公司有 5000 名程序员,他们不是教育公司,而是一家科技公司。俞老师说新东方是一个教育公司,只有 500 名程序员,但是他在三年内扩大到有 1 万名程序员。新东方在疫情期间被迫全部业务线上化了。

突如其来的疫情给很多公司带来冲击,过去很多企业的资产没有上云,我想在未来更多行业将会上云,所以在未来的三到五年里,云原生将会在中国有巨大发展。

韦青:在和国内企业高管交流的过程当中发现,大家明白过来了,无论是上云、云化、云原生等技术,完全不是技术上造成障碍,更多是思想造成障碍和范式造成障碍。说了这么多理由,疫情来了后,大家纷纷上云了。原来不是转型有多难,是压力不够大。

技术在数据结构和技术框架上,要再下工夫。如此一来,大家发现无论是上云还是云原生,就变成一个非常自然而然一种现象和结果。

在这个过程中,大家不要过于纠结于概念,只着重在一个名词上的话,很容易让企业反而被名词所累。

柯琪:这种趋势不光在中国,在全球也是一样。云原生技术已经在那里了,就是看看学校、公司、企业单位等愿不愿意用。在实践过程中,我看到绝大多数企业在向 Kubernetes 靠拢。我建议可以先试试云原生、Kubernetes 和容器技术,看能不能尽量减少企业的 IT 花销。

在大家听完云原生的概念和它带来的变革后,小伙伴们想看看实际应用吗?大家可以看看柯琪老师 Demo:

https://www.microsoft.com/en-us/videoplayer/embed/RE4FUij

更多关于云原生技术?

福利到啦!10月20-22日,微软(中国) 首席技术官韦青将带领国内外大咖讲师天团现身微软秋季技术课堂,分享AI、云计算等前沿技术话题哦。还等什么?立即戳二维码报名吧: