机房360首页
当前位置:首页 » 厂商动态 » 人人都是云原生开发者!你可别云里雾里了

人人都是云原生开发者!你可别云里雾里了

来源:CSDN 作者: 更新时间:2021/8/30 11:21:02

摘要:云原生时代下,全新的开放新范式是什么?云原生开发者应具备的能力素质模型和必备技能有哪些?

  随着数字产业蓬勃发展,传统云计算产业走向成熟,大数据、物联网、人工智能、区块链等技术百花齐放,开发者的黄金时代来临。然而新技术层出不穷,开发者如何判断有技术能力和实践技能是否达到市场的需求。对此,阿里云携手 Forrester 对中国开发者进行专业调研,重磅打造出《云原生开发者洞察白皮书》。报告显示,云原生让开发者看到了更多可能,“人人都是云原生开发者”已然成为潮流趋势。

  云原生时代下,全新的开放新范式是什么?云原生开发者应具备的能力素质模型和必备技能有哪些?

  由 CSDN 重磅打造的《大咖来了》中,我们邀请到 Forrester 首席分析师 Charlie Dai、阿里云容器服务负责人易立、阿里云云效研发平台负责人陈鑫,由 CSDN 副总裁于邦旭主持,以《云原生时代,开发者能力大公开》为主题,共同探讨云原生时代下,开发者需要具备的能力模型以及成长机遇,帮助企业和开发者捋清思路,寻找最高效的技能进阶之路,并全球首发开发者都应关注的《云原生开发者洞察白皮书》。

  扫描下方二维码,查看精彩回顾:

  从左到右:于邦旭、易立、 Charlie Dai

  01 什么是云原生?

  易立:当前云原生已是 IT 界的“网红”,但是大家对云原生有不同的理解。如云原生计算基金会CNCF 认为云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。

  阿里云认为,所有生于云、长于云,因云而生的软件、硬件和架构都属于云原生,这样就扩大了云原生的范围,涵盖云原生数据库、云原生AI、云原生大数据等领域。

  易立

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

  Q:云原生时代下,开发者面临最大的挑战是什么?

  易立:一是企业丰富多变的业务需求和落后的开发生产力之间的矛盾。随着互联网数字化的深入,企业 IT 部门已经成为核心部门,但受限于各种各样的 IT 基础设施和研发流程,采用过去的开发方式很难创造新的价值,云原生对开发者带来研发效能的提升,让开发者关注于业务创新而不是基础设施。

  以每年的双 11 为例,大促期间为了支撑运营活动,前端需求修改频繁。去年,阿里集团开始大规模在前端应用 Severless ,前端开发者的开发生产力提升了 40%,满足快速的业务需求。

  二是云原生带来很多新概念,其背后技术栈的复杂性和开发者之间的认知能力也存在很大矛盾。所以“全栈”概念流行,但真正全栈开发者是很苦的,不仅需要懂前端框架,还得懂后端框架、应用部署、安全、稳定生产等,给开发者造成巨大的负担和压迫感。开发者需改变思维,思考如何用云的方式、云的技术来解决问题,或许不需要重新造很多轮子,便能实现云价值的最大化。

  三是企业上云后,云原生和传统 IT 软件开发的方式、组织结构间存在一定矛盾。过去的开发、测试、运维是瀑布型,每个人只负责自己模块,出问题后各自甩锅,效果很低。上云后,DevOps 流行起来,业务人员可以参与到研发流程中,他自己可以实现需求。这些变化需要组织思考。如果上云后,企业还只是采用传统的租物理机、虚拟机形式,还是没办法把云的能力充分用起来,应该思考云原生的想法,怎么最大化利用其弹性,重构云原生架构,如何使用 DevOps 开发方式让研发流程变得高效,基础设施变得更加弹性和韧性。

  陈鑫

  陈鑫:在服务企业完成云原生转型的过程中,遇到以下问题:

  一是云原生带来新技术概念的理解门槛。比如 K8S 对资源模型层全新的抽象,其理念和概念和传统的面向过程运维模式、面向虚拟机的玩法,是有很大区别,需要开发和运维人员转变相关概念。

  二是基于云原生技术体系,开发者需转变开发方法。需优先选择云原生中间件,应用 Severless、微服务等技术,以及新的软件交付方式。这些方法相较于传统软件开发存在较大变化,我们需重新学习。

  三是开发团队的流程和文化变革,云原生技术是推崇 DevOps 文化,云原生技术大大降低了系统演进到 DevOps 的门槛。如我们可以使用 Docker 轻松定义软件的运行环境,使用 K8S 编排轻松定义存储、计算、网络所依赖的软件架构,以及更容易使用云原生的中间件来处理限流、降级、灰度发布等。DevOps 的落地对于团队职责的分工以及文化的影响巨大。如今,开发、测试、运维等角色被纳入到广义的“开发人员”范畴。

  广义的“开发人员”需围绕云原生生态体系来开发相关的自动化能力,来实现软件交付能力的进一步提升,不断优化流程和工具,来贡献到生态体系。

  以上三点对概念理解的门槛、重新学习软件方法、流程和文化落地,对于开发者来说既是挑战,也是机遇。对于开发者而言,我们正值技术变革浪潮,可以在企业内兑现效能红利,从而提升个人效率和工作的幸福感。对于企业而言,全面采纳云原生技术的话,将在未来的软件竞争中赢得先机。

  Charlie Dai

  Charlie Dai:很高兴 Forrester 与阿里云合作发布《云原生开发者洞察白皮书》,帮助开发者更好地了解中国云计算市场的过去、现在与未来。云原生对于开发者而言,有以下三个方面的重要意义:

  一是云原生技术可帮助开发者将自身的技术能力融合现代化技术,帮助我们更好地适应未来,把握未来的发展机遇。

  二是横向帮助开发者在其他新兴技术领域进行探索。K8S 的出现不仅对云计算本身起到重要的推动作用,还赋能其他技术体系,使得开发者可基于同一个平台,开发云计算、机器学习、大数据、物联网、区块链等的工作。

  三是因为云原生平台具有自动化的能力,可以帮助开发者加速开发过程。开发者有更多时间关注业务、和客户沟通上,帮助我们跳出技术人员视角,更好地看清客户需要什么、业务上的痛点,这样可以更加聚焦和突显自己的价值。

  对于企业而言,具有重要的战略意义:

  一是“全云实践”。我们可以在云上做全栈,不管是哪个层次上的服务,通过云平台均可具备这样的能力。还可以通过云上做设计开发、编码测试、协同等涵盖云上全生命周期,这就是“全云开发”的概念。

  二是云原生可以帮助实现“人人都能做开发者”愿景,对于每个企业来说,均面临开发者资源短缺的情况。云原生技术可让运维人员加速进入到开发过程中,借助DevOps自动化能力,帮助我们更快将一线客户需求反馈进来。还有不少业务人员可借助低代码的能力,帮助我们加速面向业务应用的开发,“人人都是开发者”时代来临。

  三是基于云原生平台加速数字化创新,各个方面新兴技术领域可以基于云原生进行平台化赋能。

  03《云原生开发者洞察白皮书》背后的意义

  Q:为什么阿里云携手Forrester推出《云原生开发者洞察白皮书》?

  陈鑫:上述我们谈到开发者在云原生时代下所面临的痛点、所需提升的知识点,如何用书面表达出来,业界尚没有特别清晰的定义。阿里云关注开发者成长,于是联合知名的咨询机构 Forrester 发布白皮书,希望给广大开发者一些指导性意义。

  在这之前,阿里云对开发者有深入的洞察。以我所在的团队为例,为阿里巴巴集团和阿里云研发开发工具,近几年来,我亲身经历了阿里巴巴集团从线下自建 IDC 到云托管 ,再到云原生的技术转变,了解不同技术阶段开发者的痛点和解决方案。

  第一个阶段是从线下的自建 IDC 到云托管的过程中,开发者享受的云计算基本是虚拟化,在云上通过软件将庞大复杂的物理资源进行虚拟化,体验大规模的资源弹性、按量付费、数据安全等服务。这些技术让软件开发不再受限于基础设施,同时降低了软件应用新技术的成本。

  第二个阶段是从云托管到云原生阶段,随着 Docker 和 K8S 技术的应用,提升应用的交付和部署效率,但由于 K8S 生态体系的软件交付、运维理念与传统模式存在革命性变化,因此给开发者带来学习新知识、使用新工具的成本。因此,我们提出了新的概念,基于云的开发,使用全云的工具,在云上开发。

  为了克服这些痛点,我们提出云上开发者概念,即使用全云工具在云上开发。通过工具和云计算的结合,来进一步降低开发者理解云原生的技术门槛,丰富企业特性,给企业提供落地方案。希望广大云上开发者也可以享受这个红利,《云原生开发者洞察白皮书》便是从此出发的。

  Q:《云原生开发者洞察白皮书》给开发者哪些指导作用?涵盖哪些重要信息?

  Charlie Dai:

  一、开发者不仅关注技术本身,还需要具备全局视角,既要关注技术,同时还需关注业务和个人素质的能力提升。

  二、开发者的技术能力非常重要。对于开发者需具备的云原生技术能力模型,可从六个维度思考:(1)关注基础设施、应用架构、部署架构等架构;(2)培养从基础设施到平台,再到应用服务等技术栈能力;(3)随着开源组件的不断下沉,开发者要利用好平台来支撑各式不同的框架;(4)整个软件开发生命周期之间存在各种交集,我们需具备其他角色所具备的能力,帮助自己来丰富和完善自己;(5)具备相关编程语言能力;(6)了解新兴技术领域,提升整体能力。

  三、开发者应有自身个性化的发展生长路径。发明二进制的数学家莱布尼兹曾说过:世界上没有完全相同的两片树叶。我们每个开发者也是如此,需观察自己与市场的平均水平相比,是否存在欠缺,而后有针对性的制定发展规划。

  四、渐进式发展策略。每个开发者在不同阶段的关注点可能不一样,我们定义了初级、中级、高级三个不同的层次,从上文提到的六个不同维度,以及其他业务和素质能力,帮助大家把握当前自己处于哪个状态。

  04 云原生时代下,开发者能力模型大公开

  易立:开发者有不同的类型,不同的开发者在云原生时代将扮演不同的角色。从一个企业 IT 架构师的角度来看,他应该对云有更多了解,了解在云上如何构建稳定的新系统,并适应弹性、成本、安全等需求。同时,他也要思考如何将企业的 IT 架构变成面向云原生、混合云、多云的架构。

  对于运维人员而言,由于其一部分基础设施维护的工作交给云厂商,所以自己的能力要升级为SRE,通过技术手段来确保系统的稳定性,提升研发效率。一是可通过 API 来操作基础设施,以更好地满足业务需求的发展,二是在 K8s 上构建平台化技术,来支撑微服务、AI、数据库、大数据等技术。

  对于平台开发团队而言,上云后,需要思考过去自己维护的中间件、数据库等,是否直接利用云厂商的相关能力,让自己不再疲于奔命支撑多变的业务需求?另外,如果有混合云的需求,可考虑在 Kubernetes 上构建平台化能力,赋能不同类型的中间件,提升标准化和自动化的水平。

  对应用开发者而言,勇敢尝试 Severless 等开发方式,让自己聚焦业务创新的核心价值,同时还可尝试新工具以提升研发和运维效率。

  陈鑫:《云原生开发者洞察白皮书》分别从技术、业务、素质三大能力范畴来总结开发者所需要具备的素质模型和必备技能。

  我具体分享下技术方面的技能,涵盖全栈开发能力、平台框架应用能力、敏捷开发能力,以及多技术域的融合能力等。从我的角度而言,拥有平台框架的运用能力和敏捷开发能力在云原生时代,是最为关键的。另外,每位开发者需具备敏捷开发能力,不仅包括基于云原生,如何使用 IDE 工具、研发流程管理工具等,还包括了最基础的技能,如写好 API、写好测试用例、与团队做好代码审查等能力。这些技能是我们在云上构建应用程序的基础,只有在熟练掌握这些敏捷开发方法和架构设计方法、软件研发流程后,才能帮助开发人员更好地管理团队,获得更快的竞争机会。

  05 云原生未来发展趋势

  Charlie Dai:一是更加面向应用。如开发、部署、DevOps 等能力将更多为上层所应用。

  二是更简化。随着 Severless、低代码技术的发展,将加速和简化应用开发过。

  三是分布式。5G 让应用负载更加泛在化,我们需关注开发能力在边缘侧如何和云端有机协同起来。

  四是新兴技术体系的平台化赋能。

  易立:云原生的范围包含公共云、私有云、本地云、边缘计算、IoT 等,云原生将无所不在,变得无所不能,将支撑更多应用负载,AI、大数据、数据库等新技术创新也是围绕云原生这体系展开。另外,云原生复杂性将进一步下沉,不仅 Serverless 有更大发展,越来越多 AI 能力也加入进来,让用户可以更低成本、更低门槛地享受到云原生技术红利。

  陈鑫:云原生已被业界广泛的采纳,正处于高速发展阶段。最近一两年提出以应用为中心的云原生软件开发模式,基于此,阿里云提出 OAM 云原生应用模型。

  目前我所在的阿里云“云效”平台,它便是探索以应用为中心的云原生软件开发模式。为什么强调应用?因为 K8S 核心是面向资源的模型,对于开发者而言,它缺少一层抽象,这层抽象是可以和一项业务服务相对应。因此我们把这层业务的抽象叫应用,应用可能包含一组环境、配置、交付流程资源,多个应用组合起来就变成了一个完整的业务系统。“云效”平台后续将推出面向云原生应用工具平台,具备以下三个特点:

  一是降低普通开发者理解云原生的门槛,通过应用环境、研发流程的概念来屏蔽云原生本身的复杂度,开发者只需申请应用,使用模板完成初始化,就可一键上线。

  二是云原生关键的发展趋势是实现关注点分离,开发者应重点投入在编码、质量和验证上,每个应用的基础设施以及架构安排,可以架构组来统一确定,提供全局规则配置,防止开发出现一些误操作,影响系统稳定性,这就是关注点分离。也就是说更专业的人在云原生体系里做更专业的事,让开发更加聚焦于业务开发。

  三是迎更容易落地 DevOps,在 DevOps文化下,面向应用的运维应由开发者来担任。工具平台的责任是将运维门槛和操作导致故障的概率降到最低,所以这个工具平台在可观测性、集成云产品以及使用体验上下很大功夫。

  我本身就是研发“云效”的,我相信工具和云原生技术的结合,能更好地去推进企业“Developer in Cloud”,因此推进“全云开发”将是未来云原生的重要趋势。

  06 云原生时代,开发者的成长秘笈

  Charlie Dai:一是开发者需要要持续学习,才能够跳出舒适区,积极拥抱变化,适应未来的变化。二是拥有全局视角,避免忽略对业务、客户的理解,尽早培养相关能力。三是知行合一,帮助自己把握未来成长方向。

  易立:一是保持好奇。好奇心是驱动力,我们学会发现问题,并持续用新方法、新技术来解决问题。二是关注问题的本质。技术发展变化太快,我们开发者更需要沉下心来学习好计算机知识,打好基础。三是乐于分享。分享是理解别人和表达自己的最好方式,在分享的过程中,还可系统地梳理学到的知识,帮助自己梳理与巩固。

  陈鑫:一是在软件工程领域是没有“银弹”的,需要不断地应用新技术、提升编码技能、使用新工具等,才能完成从量变到质变的转变。云原生本身是个系统工程,我们要持续保持学习。二是云原生还在高速发展中,它可能存在不完美的地方,建议开发者积极投入到相关开源的技术建设中。

  想更多了解《云原生开发者洞察白皮书》?立即扫码下载!

  (正文完)

  责任编辑:张华

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2021830/n7290139784.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片