嘉宾 | 马超 整理 | 黄文勤
出品 | CSDN云原生
当前,开发领域开始进入云原生时代。新的时代赋予开发人员便利的同时,也提出了诸多挑战。
2022年6月9日,在CSDN云原生系列在线峰会第8期"华为云云原生实践与应用峰会"上,中信银行资深技术经理、华为云MVP马超分享了“云原生下的开发者”,解读云原生时代的开发工作转型。
在当前的开发领域,云原生已然形成了一个特别大的冲击。传统的信息系统,一般都是烟囱式的,各个系统很难形成连通,由此带来了数据孤岛、重复建设等问题。
然而在数字化转型的大时代背景下,云原生从根本上在底层解决了烟囱式系统出现的问题。在云原生理念里,每套系统都是一个服务,服务之间通过API的方式进行调用,这与信息系统的设计原则中追求的高内聚、低耦合非常一致。在数字化转型的过程中,尤其要注意推动云原生的重构,也只有在系统架构中引用云原生相关的技术,才能真正做好数字化转型。
伴随云原生的来临,开发者的挑战也随之而来。
试错成本降低,竞品更易跟进
云原生时代的开发,最重要的是“人”“云”合一,在系统设计架构时,首先需要注意它是一个云原生的系统。云原生的开发模式引入后,在未来推出试验性产品时,就不再需要投入特别大规模的团队了,可以从容不迫地调用API来使用基础设施。这个变化最主要的一个冲击就是,推出实验性产品的难度就没有之前大了。我们可以发现在云原生时代,一个产品投入市场后,它的竞品可能就会更快、更容易地推出来,因为试错的成本在降低。
推出稳定可靠产品的难度加大
与此同时,云原生对于开发者底层的屏蔽特性,也让推出稳定可靠产品的难度加大。之前在进行开发填坑过程中,开发者非常清楚它的问题和薄弱点,但在云原生时代如果真正想推出一个特别有竞争力且特别稳定可靠的产品,就需要真功夫了。真正的高阶开发者,必须要从前端到后端掌握全栈的技术,越是在工具能力强的时候,越要求高级开发者详细了解工具背后的原理,知其然还要知其所以然。
AI辅助编程:复制粘贴式开发的丧钟敲响
除了以上变化,AI辅助编程也随着云原生一起出现了。人工智能界的大魔王OpenAI发布了一款自动编码系统Codex,它可以将英文需求描述直接转换为代码。它现在的表现虽还不能算是尽如人意,但这种AI编码技术给开发者敲响了一定的警钟。
远程协作:新时代的必然趋势
伴随云原生的到来,尤其是现在疫情影响下,远程协作也是开发者们不得不面对的一种趋势。对于远程协作,它缺少了人与人之间的交流,所以很难创造出一些火花,尤其是对于应用软件开发人员来说,没有这种火花有时是会存在阻碍的。但一些伟大的软件,像Linux、MySQL,也都是通过远程协作甚至是开源协作的方式创造出来的。所以这也是一种趋势,它没有什么好坏之分,只要拥抱它就可以了。
信息安全
云部署本身就是一种与传统部署模式完全不同的模式。之前在各行各业,尤其是金融机构,信息系统基本部署在自己的机房。在云部署之后,所有的系统都上云了,过去的一些安全理念和工具可能很难满足云原生的要求,所以急需打造一种和云原生适配的安全体系。
信息化系统带来挑战。越来越多的信息化系统,导致用户身份数据激增并且身份间相互割裂,容易产生安全漏洞,难以统一管控。
数字化身份带来挑战。例如对于金融机构,在远程协作的方式下,对于用户身份认证的要求非常高,比如使用哪台电脑登录,用户位置在什么地方,登录系统的时间等,这对信息基础设施的建设产生了巨大挑战。
数据激增带来挑战。安全软件的开发难度是和服务对象的数量大小直接相关的。数据量不大的情况下,开发和编程的难度相对算小,但在海量数据量的基础下,怎么做好这种环境下的安全本身也是一个大挑战。
抛弃复制粘贴,打造核心竞争力
AI辅助创作工具最本质的逻辑在于它可以理解需求当中某些逻辑,并且根据它以往的经验进行创作。Copilot就是从GitHub上几十亿行代码当中进行学习建模,尽可能找到贴近于需求的代码。从原理可以知道,它最主要的工作就是一个高效率的模仿,主要的创作源泉是源于历史上已经形成的几十亿行代码,但它很难自主创造。
因此,面对AI辅助编程工具的强力侵入,加上云原生开发模式的改变,未来CTRL+C、CTRL+V式的开发可能要迎来末路,开发者的核心竞争力要体现在自主创造性方面。因为在复制粘贴方面,人类程序员很难超过计算机,而且计算机这方面的学习效率还会提升,差距恐怕会越来越大。
安全编程将成为香饽饽
如前所述,云原生时代下信息安全变得更加重要,数字身份、海量数据对信息安全提出了更大挑战;而AI编程工具虽然可以引入以往的一些代码,但引入的代码当中有没有安全漏洞是AI所不知道的,存在引入安全风险的隐患。因此,信息安全相关的编程可能就会变得更加紧俏,安全领域的相关程序员也会有比较大的发展空间。
云原生时代比传统的IT系统对于安全防范的要求更高。在这个时代当中,安全也是一种服务,之前它可能是安全的系统、硬件或者设备,但现在安全系统、安全硬件本身也要云原生化,然后再嵌入到云原生企业级架构中。云化部署需要建立多层的水闸,在哪个层级拦截哪个风险,需要严谨考虑。只有做到这种安全防护体系,才能实现传统信息安全和云原生安全的无缝对接。
云原生时代的安全方向,目前还有着一个非常大的发展空间。现在业界相关的安全标准和安全技术,还有一定的迁移的空间。这就需要开发者将业界成熟的安全技术、产品进行封装,通过云化标准接口统一为应用提供服务,融合用户认证、密码服务、安全监控、数据安全、终端安全、安全策略管理中心、基础设施安全等方面的服务,打造以智慧安全运营平台为核心,涵盖边界防护、边界旁路阻断、纵深防御、应用安全监控的综合安全防护体系,建立起全渠道的纵深抗攻击体系。这才能有效保卫云原生时代的安全。
因此,开发者转型进行安全开发,是一个非常不错的出路。