左耳朵耗子:云原生时代的开发者应具备这5大能力(代码片段)

《新程序员》编辑部 《新程序员》编辑部     2023-01-09     115

关键词:

【CSDN 编者按】十年前,Netscape创始人、硅谷著名投资人马克·安德森(Marc Andreessen)预言“软件正在吞噬世界”;数年后,软件里90%以上的代码都是开源代码,“开源正在吞噬软件”;如今,“云原生吞噬开源”,开源项目正在向云化演进。在面对全新时代——云原生的到来,开发者应具备哪些知识和能力才能呢?

在《新程序员003:云原生和全面数字化实践》中,我们特邀请具有20多年互联网和金融架构从业经验,MegaEase创始人陈皓(网名左耳朵耗子)为云原生专题撰文!

作者 | 左耳朵耗子(陈皓) 责编 | 张红月

出品 | 《新程序员》编辑部

虚拟化技术的成熟和分布式框架的普及,使应用上云不再是企业转型难题,云原生时代已经悄然来临,随之而来的是技术向云原生架构的升级。那么,在此升级过程中,云生时代的开发者需要具备怎样的知识与能力?

陈皓(左耳朵耗子),20多年的互联网和金融架构从业经验,MegaEase创始人、前阿里云资深架构师、天猫开发总监、亚马逊高级研发经理、汤森路透基础架构师和高级研发经理。经历过“双11”、阿里云、AWS、Amazon仓库预测、实时金融数据发布平台、大规模并行计算等项目和产品开发。

如今,整个数字化进程正在从“企业侧(企业满足内部的IT需求)”转向“用户侧(企业满足外部用户需求)”。不能感知和满足最终用户需求的企业都会失去竞争力。而为了满足用户侧的数字化需求,要求底层IT基础设施至少满足以下五个特性:

适应并响应用户快速变化的需求;

支持大规模用户在线活动;

系统运行更稳定,有更高的SLA(服务等级协议);

生态开放,接入更多数据,进行智能化运作;

更自主可控和更低的成本。

满足这五项能力的系统,并不是简单地用一些开源软件或找几个系统集成商就能搭建出来的,而是有自顶向下的设计和规划,以及大量专业的软件技术和方案构成。

在此要求下,软件和应用架构是真正能够带给企业力量的重要因素,可以较为夸张的说:只要软件架构做得好,基础资源就变得不那么重要了。这里所说的基础资源并不是指Serverless/FaaS、Service Mesh、Kubernetes、API管理、微服务、整体架构观测性、DevOps……由于云原生的出现将云计算方向从此前的资源型转为了服务型。因此,它们都在应用服务层,而不再是基础资源了。

云时代开发者需要掌握的知识技能

在新型数字化转型需求的大潮下,整个行业也正从传统的单体应用/集中式的SOA架构走向更为松散、分布式、标准的微服务架构。微服务架构从万能中间件ESB(Enterprise Service Bus,企业服务总线)的中心化架构,转变成了将控制逻辑以SDK的方式置于服务的去中心化架构,后又演变成控制逻辑与业务逻辑解耦,以Service Mesh为架构的云原生服务化架构。这种演变就是为了解决一个问题:分布式微服务架构极度复杂,对运维能力提出高度挑战。

因此,需要一整套技术门槛很高的控制系统、调度系统以及全面的观测性系统。这些系统不应该再耦合或是侵入到业务逻辑中,而是由专门的基础架构或平台团队打造,企业才可能在进行数字化转型时更专注地解决业务问题,并使所有的业务团队享有统一且标准的技术能力。

于是,在此方向的指引下,作为云时代的开发者,我们需要具备如下知识与能力。

  1. 微服务拆分及分层。业务拆分其实是一种业务架构能力,需要熟悉业务并对业务进行抽象、解耦和提取公共功能。这是一个从代码库到软件包,再到数据库的全面拆分,并分层堆叠;
  2. API接口化。所有的程序模块都要通过服务化接口API将其数据保护起来,并随时做好对外开入的准备;
  3. 无限伸缩随时迁移能力。所有的应用服务和中间件都需要被设计成具备可无限伸缩的属性,与传统的Iaa层云进行联动;
  4. 服务治理。包括服务注册发现、服务流量路由调度、配置管理、健康检查、服务间通信、服务的弹力容错(隔离、限流、重试、幂等、熔断、降级……),以及服务观测性(日志、指针、调用链追踪、性能排名等);
  5. 分布式的中间件。包括分布式数据库、分布式缓存、分布式消息队列、分布式大数据处理等。

揭开云原生技术为企业和个人带来的影响与机遇

新程序员003》从云原生时代下开发者的角度,重点分析新一代的云原生软件架构及云原生技术的现状与趋势,多位云原生技术亲历者从不同角度分享容器与Kubernetes、服务网格、分布式框架与服务治理、云原生化有状态服务等技术的实践经验,以及云原生技术在金融、电信、互联网等行业的应用实例,从而揭开云原生技术为企业和个人带来的影响与机遇,希望能为云原生时代下的开发者提供借鉴和参考。


新程序员003》即旨在为所有开发者拨开迷雾,讲透云原生时代的开发者。

首先,如何准确地定义云原生?它究竟包含了哪些关键技术?阿里云容器服务技术专家、《多云和混合云:云原生多集群和应用管理》作者郝树伟针对这两个问题进行了清晰明确的梳理,通过他的文章,对云原生技术便可了然于胸。

明确了定义和技术,那么对于云原生时代的开发者而言,需要具备哪些知识与能力?左耳朵耗子解答了这个问题。他建议,云原生开发者需要掌握微服务拆分及分层、API 接口化、无限伸缩随时迁移、服务治理、分布式中间件等。

在技术趋势上,Kubernetes 诞生 7 年发展迅猛,已经成为云原生时代的「Android」系统。在这期专题中,Kubernetes 联合创始人 Brendan Burns 深入分享了 Kubernetes 的技术变革和未来演进,是值得所有开发者一读的文章。


新程序员001-004》已全面上市

现在订阅即有机会获取『CSDN夏季定制T恤』一件

欢迎扫描下方二维码或点击进入立即订阅

即可畅享电子书及精美纸质书。

左耳朵耗子:云原生时代的开发者应具备这5大能力(代码片段)

...在向云化演进。在面对全新时代——云原生的到来,开发者应具备哪些知识和能力才能呢?在《新程序员003:云原生和全面数字化实践》中,我们特邀请具有20多年互联网和金融架构从业经验,MegaEase创始人陈... 查看详情

云原生时代,开发者应具备这5大能力

【CSDN 编者按】十年前,Netscape创始人、硅谷著名投资人马克·安德森(MarcAndreessen)预言“软件正在吞噬世界”;数年后,软件里90%以上的代码都是开源代码,“开源正在吞噬软件”;如今,“云... 查看详情

左耳朵耗子:软件开发这些年,我学会的道理和教训

猫宁!!!参考:https://mp.weixin.qq.com/s/-Gus3fGHXcRBvuKjrwQStA 1-那些年,我犯过的错误从业20年,98年到18年,一共20年,98年毕业,我学这么多东西整个过程也不是速成的,也是一点一点来的。今天我想先跟大家说一下,我之前犯... 查看详情

左耳朵耗子|程序员如何用技术变现?(代码片段)

...的。但道理我都懂,怎么做才是关键。本文摘自陈皓(左耳朵耗子)在极客时间App开设的付费专栏“左耳听风”。正文?1写在前面  程序员用自己的技术变现,其实是一件天经地义的事儿。写程序是一门“手艺活儿”,那么作... 查看详情

云原生,开发者的黄金时代

...云原生就是一种态度,时代呼唤人人都应成为云原生开发者。作者| 丁宇(叔同),阿里巴巴研究员,阿里云云原生应用平台负责人对开发者而言,这是一个最好的时代。数字产业蓬勃发展,传统云计... 查看详情

云原生,开发者的黄金时代

...云原生就是一种态度,时代呼唤人人都应成为云原生开发者。作者| 丁宇(叔同),阿里巴巴研究员,阿里云云原生应用平台负责人对开发者而言,这是一个最好的时代。数字产业蓬勃发展,传统云计... 查看详情

左耳朵耗子关于技术变现一文读后感

核心论点我完全没有必要通过打工听人安排而活着,而是反过来通过在公司工作提高自己的技能,让自己可以更为独立和只有地生活如何技术变现保持学习,掌握大多数人不能掌握的技能,先让周围的人有求于我关注有价值的东... 查看详情

云原生落地大爆发,企业和开发者如何把握先机?

...术标准等不断变化,企业应该如何落地云原生?开发者应掌握哪些能力?本文将为你一一解说。作者:伍杏玲随着云计算产业走向成熟,云原生改变传统的开发模式,加快程序应用的开发和运维效率,... 查看详情

云原生,开发者的黄金时代

...|叔同(阿里云云原生应用平台负责人)    对开发者而言,这是一个最好的时代。数字产业蓬勃发展,传统云计算产业走向成熟,大数据、物联网、人工智能、区块链各种新兴技术百花齐放,开发者大有... 查看详情

云原生,开发者的黄金时代

...|叔同(阿里云云原生应用平台负责人)    对开发者而言,这是一个最好的时代。数字产业蓬勃发展,传统云计算产业走向成熟,大数据、物联网、人工智能、区块链各种新兴技术百花齐放,开发者大有... 查看详情

左耳朵耗子:我看chatgpt,为啥谷歌掉了千亿美金(代码片段)

...icles/22398.html,可点击文末阅读原文直达!作者|左耳朵耗子    责编|梦依丹两个月前,我试着想用ChatGPT 帮我写篇文章《eBPF介绍》,结果错误百出,导致我又要从头改一遍,从那天我觉得ChatGPT生成的内... 查看详情

云原生时代,程序员应该掌握哪些能力?

云原生可以说是目前最火热的一个技术概念,它改变了我们对开发、部署和操作应用程序的思考方式。越来越多的编程语言、框架开始拥抱云原生,例如Spring推出了面向云原生的技术SpringNative、RedHat开源了Java云原生服务... 查看详情

左耳朵耗子履历(代码片段)

个人简历陈皓,coolshell.cn博客博主。14年以上软件开发相关工作经验,8年以上项目和团队管理经验。擅长底层技术架构,软件工程。对高性能,高可用,分布式,高并发,大规模数据处理系统有一定研究。技术擅长C/C++/Java和Unix/... 查看详情

云原生时代,微服务到底应该怎么玩儿?

...快速的开发和管理微服务,丰富的功能让其他语言体系的开发者们羡慕不已。在云原生时代,Kubernetes快速普及,除了解决微服务所需要的应用编排、伸缩、保活等功能外,Kubernetes里本身还带了服务发现、配置管理、负载均衡和... 查看详情

项目经理应具备哪些能力?

...点夸大,但项目经理的角色确实非常重要,项目经理需要具备哪些能力?3个关键技能PMI人才三角®这3个关键技能是PMI人才三角中对项目经理能力的要求,分别为:技术项目管理能力项目经理需要具备与项目、项目集和项目组... 查看详情

云原生时代的devops平台设计之道(代码片段)

...我非常希望你能先看一看引言中提到的扯淡的DevOps,我们开发者根本不想做运维!这篇文章。这篇文章从亚马逊云科技社区参与负责人EmilyFreeman的一条推特入手,观察了很多留言后,得出了文章标题这种类似咆哮一般的结论。从... 查看详情

深入解读应用可观测性

前言云原生时代,企业从单体架构发展到分布式架构,广泛采用微服务、容器、Serverless等部署方式,IT基础设施变得愈发不可控。这导致传统的监控技术和工具很难跟踪这些分布式架构中的通信路径和相互依赖关系,更别提排查... 查看详情

ai落地制造业:智能机器人应具备这4种能力

...09;智能机器人是智能产品的典型代表。智能机器人至少要具备以下三个要素:一是感知要素,用来认识周围环境状态;二是运动要素,对外界做出反应性动作࿱ 查看详情