如何成为云原生时代的卓越架构师

简介: “软件开发需要面对本质困难和附属困难。云原生、DevOps大幅降低了附属困难,使得架构师可以全力聚焦于业务复杂性,而DDD恰是管理业务复杂性的有效方法。”

本文作者:张刚,阿里云云效资深技术专家,ALPD方法学核心成员。

立即学习:https://developer.aliyun.com/topic/course/alpd

软件开发的本质困难

1986年,软件工程巨匠Frederick Brooks撰写了一篇著名的论文《没有银弹》。他在文章的开篇写道:

在未来的10年以内,不存在任何单一的方法和技术,能够10倍以上的提高软件开发的生产力。

这个论断在当时就引发了巨大的争议。至今,《没有银弹》仍然是一个被经常拿出来讨论的话题。不过,这篇论文的真正价值远不限于此,继续读下去,就会发现,。停留在是否存在10倍以上生产率的讨论是不够的。真正值得关心的,是Brooks对原因的论断。我把其中的重要观点概括如下:

软件开发的困难有两类,一类是本质(Essential)困难,一类是附属性(Accidental)困难。

本质困难是和软件的本质紧密联系在一起的,所以这类困难无法通过工具或者语言等加以解决。例如,软件解决的问题是现实世界的问题,如果现实世界的问题本来就是复杂的,那么无论任何工具,都不可能消除这种复杂性。

附属性困难是和我们采取的工具或者方法相关的。例如,软件需要被通过某种语言实现,软件需要被编译、被部署,软件可能被实现为缺陷,这些都和具体的实现方法相关。这一类困难,可以通过工具、方法和技术的提升得以改善。

本质困难包括软件的复杂性,不可见性、可变更性和符合性(指软件开发还需要遵从诸如法律法规、外部系统等不受主观意志决定的因素)

作为一名在软件开发行业工作了20年的架构师,《没有银弹》关于本质困难和附属性困难的论述给了我巨大启发。

多年以来,我一直都把“管理本质困难、消除附属困难”作为软件开发活动的座右铭。特别有意思的是,最近我发现,作为一个主要工作在业务系统上的架构师,在云原生渐成趋势的时候,架构师的职责已然发生了改变。而这个变化,恰恰和“管理本质困难、消除附属困难”密切相关。

业务架构当然也是架构师的重要职责。业务和技术已经深度融合,业务对响应速度的要求和开发质量的要求越来越高,同时在云原生时代,服务化几乎成为必然选择。而无论是业务响应能力、开发质量和服务化,都和业务规划能力密切相关。这不就是最重要的“管理本质困难”的方面嘛!

领域驱动设计,虽然Eric Evans的同名书籍写于2004年,多年以来,在技术社区也有较大影响。但是为什么最近几年热度突然大幅上升,变得特别受关注呢?这是因为,我们的业务终于越变越复杂,到了如果没有恰当的方法,就不能很好的管理的地步——这也恰恰暗合了DDD一书的副标题“软件核心复杂性应对之道“。微服务和云原生在服务方面的划分等,也是关键的助推因素。

成为云原生时代的架构师

在今天的业务环境下,能更好地利用好云原生基础设施,更好地进行业务规划、高效高质地分析和管理领域模型,用领域模型指导架构设计和开发实践,是云原生时代架构师的重要技能。

这次云效和阿里云开发者学院联合推出的《ALPD云架构师系列——领域驱动设计》课程也正是围绕着这个主题展开。

ALPD全称Advanced Lean product development,它是阿里云云效团队提出的云原生时代的研发新范式,它整合了技术、工程、协作、创新4类实践,并提供高效解决方案。

image.png

image.png

上面2幅图分别是ALPD方法和支撑体系图,我们希望ALPD及其解决方案可以帮助企业和开发者,实现10倍效能提升——10倍的响应速度,10倍的过程质量,10倍的有效价值交付。

在本次课程中,我们将为大家带来 ALPD方法体系中的领域驱动的架构和实践 部分的内容。

能通过这一次的对外整理,将知识和经验分享给社区开发者小伙伴,也是非常开心的事情。

ALPD云架构师系列课程——DDD高手进阶

在课程整理中,我们把课程分成了如下章节:

01|领域模型的本质是业务认知
02|案例分析:高质量领域模型提升业务灵活性
03|高质量领域模型源自持续演进
04|案例分析:梳理业务概念,发现领域模型
05|从模型到代码:领域驱动设计的构造块
06|聚合:保证业务完整性的单元
07|领域驱动设计的分层模型和代码组织
08|核心域、通用域和支撑域
09|基于业务能力和业务场景拆分子域
10|守护领域边界,构建自治服务
11|限界上下文映射的模式
12|使用微服务构建领域资产

其中每讲都保持了15分钟左右的篇幅,以聚焦于一个比较内聚的主题。

1-4讲,讨论领域模型的一个基础概念,包括什么是领域模型?为什么要关心领域模型?如何进行基本的领域建模?
5-7讲,主要关心领域模型为中心的软件实现,具体对应于领域驱动设计的战术模式,例如实体对象、值对象,领域服务、领域事件构造块及聚合、资源库和工厂这些跟业务完整性密切相关的部分。
8-12讲,关心领域模型为中心的架构设计,具体对应于领域驱动设计的战略模式,比如说子域、限界上下文、限界上下文映射等方面的话题。最后的12讲,我们把微服务跟领域资产之间的关系也做了讨论,微服务是当前一个重要话题,如果对领域驱动设计关注不足,也会影响到微服务和云原生的实施。
在整个课程中,没有晦涩难懂的概念,我更希望能通过简明的案例让学员轻松理解领域驱动设计的核心思想和关键实践。希望你也能通过学习这个课程,可以从本质出发,更好地理解DDD并付诸实际项目实施。

点击下方图片或文末链接,加入《云架构师系列课程——DDD架构实战》的学习之路吧!

当然,领域建模和领域驱动设计仍然是需要长期刻意练习的技能,课程中的内容也还只是抛砖引玉,在后续的实际工作中希望你能持续应用和提升,不断精进,成为云原生时代的卓越架构师!

立即学习:https://developer.aliyun.com/topic/course/alpd

目录
相关文章
|
5月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
4月前
|
人工智能 Cloud Native 容灾
深圳农商银行三代核心系统全面投产 以云原生架构筑牢数字化转型基石
深圳农商银行完成第三代核心系统全面上云,日均交易超3000万笔,峰值处理效率提升2倍以上。扎根深圳70余年,与阿里云共建“两地三中心”分布式云平台,实现高可用体系及全栈护航。此次云原生转型为行业提供可复制样本,未来将深化云计算与AI合作,推动普惠金融服务升级。
306 17
|
4月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
234 3
|
9月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
196 13
|
9月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
10月前
|
Cloud Native 持续交付 云计算
云原生架构的演进与挑战
随着云计算技术的不断发展,云原生架构已成为企业数字化转型的重要支撑。本文深入探讨了云原生架构的概念、发展历程、核心技术以及面临的挑战,旨在为读者提供一个全面了解云原生架构的视角。通过分析Kubernetes、Docker等关键技术的应用,以及微服务、持续集成/持续部署(CI/CD)等实践案例,本文揭示了云原生架构在提高应用开发效率、降低运维成本、增强系统可扩展性等方面的显著优势。同时,也指出了云原生架构在安全性、复杂性管理等方面所面临的挑战,并提出了相应的解决策略。
|
10月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
225 3
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
308 12
|
9月前
|
弹性计算 运维 Cloud Native
云原生架构的崛起与未来展望
在数字化转型的浪潮中,云原生架构凭借其高效、灵活和可扩展的特性,正逐渐成为企业IT战略的核心。本文旨在探讨云原生架构的定义、关键特性、实施优势以及面临的挑战,同时展望未来的发展趋势。通过深入分析,我们期望为读者提供一个关于云原生架构全面而深入的视角,助力企业在云计算时代做出更明智的决策。
173 30

热门文章

最新文章