当前位置:网站首页>左耳朵耗子:云原生时代的开发者应具备的5大能力
左耳朵耗子:云原生时代的开发者应具备的5大能力
2022-07-21 09:04:00 【CSDN资讯】
【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为架构的云原生服务化架构。这种演变就是为了解决一个问题:分布式微服务架构极度复杂,对运维能力提出高度挑战。
因此,需要一整套技术门槛很高的控制系统、调度系统以及全面的观测性系统。这些系统不应该再耦合或是侵入到业务逻辑中,而是由专门的基础架构或平台团队打造,企业才可能在进行数字化转型时更专注地解决业务问题,并使所有的业务团队享有统一且标准的技术能力。
于是,在此方向的指引下,作为云时代的开发者,我们需要具备如下知识与能力。
微服务拆分及分层。业务拆分其实是一种业务架构能力,需要熟悉业务并对业务进行抽象、解耦和提取公共功能。这是一个从代码库到软件包,再到数据库的全面拆分,并分层堆叠;
API接口化。所有的程序模块都要通过服务化接口API将其数据保护起来,并随时做好对外开入的准备;
无限伸缩随时迁移能力。所有的应用服务和中间件都需要被设计成具备可无限伸缩的属性,与传统的Iaa层云进行联动;
服务治理。包括服务注册发现、服务流量路由调度、配置管理、健康检查、服务间通信、服务的弹力容错(隔离、限流、重试、幂等、熔断、降级……),以及服务观测性(日志、指针、调用链追踪、性能排名等);
分布式的中间件。包括分布式数据库、分布式缓存、分布式消息队列、分布式大数据处理等。
揭开云原生技术为企业和个人带来的影响与机遇
《新程序员003》从云原生时代下开发者的角度,重点分析新一代的云原生软件架构及云原生技术的现状与趋势,多位云原生技术亲历者从不同角度分享容器与Kubernetes、服务网格、分布式框架与服务治理、云原生化有状态服务等技术的实践经验,以及云原生技术在金融、电信、互联网等行业的应用实例,从而揭开云原生技术为企业和个人带来的影响与机遇,希望能为云原生时代下的开发者提供借鉴和参考。
《新程序员003》云原生专题目录
《新程序员003》即旨在为所有开发者拨开迷雾,讲透云原生时代的开发者。
首先,如何准确地定义云原生?它究竟包含了哪些关键技术?阿里云容器服务技术专家、《多云和混合云:云原生多集群和应用管理》作者郝树伟针对这两个问题进行了清晰明确的梳理,通过他的文章,对云原生技术便可了然于胸。
明确了定义和技术,那么对于云原生时代的开发者而言,需要具备哪些知识与能力?左耳朵耗子解答了这个问题。他建议,云原生开发者需要掌握微服务拆分及分层、API 接口化、无限伸缩随时迁移、服务治理、分布式中间件等。
在技术趋势上,Kubernetes 诞生 7 年发展迅猛,已经成为云原生时代的「Android」系统。在这期专题中,Kubernetes 联合创始人 Brendan Burns 深入分享了 Kubernetes 的技术变革和未来演进,是值得所有开发者一读的文章。
《新程序员001-004》已全面上市
现在订阅即有机会获取『CSDN夏季定制T恤』一件
欢迎扫描下方二维码或点击进入立即订阅
即可畅享电子书及精美纸质书。
边栏推荐
- Microsoft will slow recruitment in security software and cloud business units
- 美国经济持续疲弱,微软冻结招聘:云业务和安全软件部门成重灾区
- Aruba learning notes 03 Web UI -- Introduction to monitoring panel
- Celebration code
- 动态规矩-数组压缩优化
- PageHelper paging plug-in learning
- IDE(集成开发环境)是什么
- linux服务器安装了图形界面,但是在安装数据库时显示初始化图形界面失败
- HCIP前期总结
- Leetcode 206反转链表、3无重复字符的最长子串、912排序数组(快排)、215数组中的第k个最大元素、53最大子数组和、152乘积最大子数组
猜你喜欢
随机推荐
URLEncode. The difference between encode (string, string) and new string (byte[], string)
Codeforces Round #808 (Div. 2) - A,B,C
MySQL 5.7 configuration replication
IDE(集成开发环境)是什么
m在simulink进行DS-CDMA建模,然后通过MATLAB调用simulink模型进行误码率仿真
Database transaction isolation level
NepCTF2022 WP
What is deep cloning, shallow cloning? (detailed explanation of the case)
过滤概念(可行性分析)
m基于中继协助的认知无线电频谱切换机制的matlab仿真分析
[Pengcheng cup 2022] baby_ re
Chapter 3 business function development (to display the main page of clues and query the data of each drop-down box of the form)
如何使用订单流分析工具(上)
动态规划多重背包——庆功会(一维)
[paper reading] deep video analog detection: opportunities and challenges
如何用Go实现一个异步网络库?
C getting started series (XXVI) -- assemblies and namespaces
十年架构五年生活-04第一个工作转折点
M carry out DS-CDMA modeling in Simulink, and then call Simulink model through MATLAB to simulate the bit error rate
Dynamic programming multiple knapsack one dimension