IT人的架构书单:如何赋予软件以灵魂

简介: 未来,软件开发人员的作用也将变得更加重要,有句话叫做“不想当将军的士兵不是好士兵”,那么在IT界这句话就要换成“不想当CTO的软件工程师不是好程序员”,而对于一个开发人员而言,在成为CTO之前还需要经历无数的历练,其中重要的一步就是从程序员成长为架构师。

与在这个世界上已经存在了几千年历史的建筑业相比,IT业或者说软件业几十年的历史显得微不足道。但是IT行业或许已经成为目前对于世界影响最大的行业之一,我们的生活和工作中随处都是软件,可以说我们已经无法离开软件生活。清晨,伴随着智能手机的闹铃起床,通过天气软件获取今天的天气确定是否需要携带雨具,吃过早餐离开家,这时家中的智能扫地机就开始定时清洁卫生了,上班路上可能打开了社交软件看朋友们发布的动态或者新闻事件,达到公司通过智能打卡机打卡上班,到达工位你打开了电子邮箱,开始了一天的工作...可以说软件产品已经紧密地融入到了我们的生活和工作中。而且在未来,随着商业智能和人工智能的发展,软件的范围将会无限延伸。


未来,软件开发人员的作用也将变得更加重要,有句话叫做“不想当将军的士兵不是好士兵”,那么在IT界这句话就要换成“不想当CTO的软件工程师不是好程序员”,而对于一个开发人员而言,在成为CTO之前还需要经历无数的历练,其中重要的一步就是从程序员成长为架构师。我们无法给架构下一个简单的定义,因为任何定义都会束缚你对架构的无限想象。不可否认,架构师早已出现在人类几千年前的各项生产活动中,比如建筑、音乐。而在计算机软件领域,架构的设计直接影响着系统的生产,比如开发过程和效率、代码和组件复用性等,同时也影响着系统的可用性、可伸缩性、性能、容量可预测性等。在我看来,架构师其实就和建筑业中的建筑设计师一样,他们负责规划整个“产品”的“图纸”,验证各种设想的可能性,但是不会亲自去“搬砖”建房子。想要成长为一名合格的软件架构师,需要经过无数实战的历练,也需要在前行的路上不断学习和总结。本文就为大家整理一些关于软件架构的书籍,希望能够在走向架构师的路上伴你前行。


《设计原本:计算机科学巨匠Frederick P.Brooks的反思》 —— Frederick P.Brooks Jr.

8fd784acd84a1ed283a32f270f41b9da5a407c9b

如果说《人月神话》是近40年来所有软件开发工程师和项目经理们必读的一本书,那么《设计原本:计算机科学巨匠Frederick P.Brooks的反思》将会是未来数十年内从事软件行业的程序员、项目经理和架构师必读的一本书。它是《人月神话》作者、著名计算机科学家、软件工程教父、美国两院院士、图灵奖和IEEE计算机先驱奖得主Brooks毕生经验的结晶。这本书从工程师和架构师的视角深入地探讨了设计的和过程,旨在提高产品的实用性与有效性,以及设计的效率和优雅性。全书共分为6个部分:第一部分主要讨论了什么是设计、设计过程的思考、设计的类别、理性模型及其缺陷、以及对一些好的设计过程模型的探讨;第二部分主要讨论了协作设计与远程协作;第三部分全面总结了设计中的各种原则、经验和教训,包括设计中理性主义与经验主义、用户模型、资源预算、约束、设计中的美学与风格、设计中的范本、设计的分离、设计的演变途径和理由,以及专业设计者为何会犯错;第四部分探讨了建筑设计与计算机软硬件设计在设计思想和方法上的一些共同点和不同之处;第五部分探讨了卓越的设计和卓越的设计师之间的关系;第六部分通过各个领域的各种类型的案例进行了分析和研究,旨在深刻揭示隐藏在这些案例背后不变的设计过程和思想。


《架构之美》 —— Diomidis Spinellis, Georgios Gousios

c7c76173d9681f82e075932b2edb32f4f3ab8949

健壮、优雅、灵活和易维护的软件架构是怎样炼成的?《架构之美》通过一系列优秀的文章回答了这个问题,这些文章来自于十几位当今一流的软件设计师和架构师。在每篇文章中,作者都向们展示了一个著名的软件架构,并分析了什么让其具有创新性,让其极其符合设计目标。《架构之美》围绕5个主题领域来组织该书的内容:概述、企业应用、系统、终用户应用和编程语言。《架构之美》让优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。那么如何设计出美丽的架构呢?从代码逻辑到物理网络,从单机到分布式,无数的技术可供架构师选择,如分层、组件化、服务化、标准化、缓存、分离、队列、复制、冗余、代理等,不过它们仍然只是“术”的范畴,而何时何处如何恰到好处地使用它们才是“道”的范畴,比如顿悟变化的道理,在博弈中寻找平衡,以系统化的角度来分析问题,寻找相对与绝对的奥秘、开放的心态……


《企业应用架构模式》 ——  Ma riin Fowler

7649c2a07404bc088fe50ce5765ea98477497ced

企业应用开发的实践得益于多种新技术的出现,多层的面向对象平台已经日渐平常。这些新工具和新技术有能力构建更强大的企业应用程序,但是在实现上还不太容易。由于开发人员未能充分理解有经验的对象程序开发人员在架构方面的经验和教训.因此企业应用中经常存在一些共同的错误。《企业应用架构模式》就是面向企业应用开发者的,可帮助他们迎接这种艰难挑战,这本书的作者Ma riin Fowler注意到,尽管技术本身存在变化——从Smalltalk到CORBA,再到Java和.NET,但基本的设计思想并没有太多变化,可以加以适当调整,用来解决那些共同的问题。在一组专家级合作者的帮助下,作者将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》涉及两部分内容。第一部分是关于如何开发企业应用的简单介绍。在阅读这部分时,读者可以从头到尾通读。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配有详细的Java代码或C#代码的示例。此外,整本书中还用了大量UML图来进一步阐明有关概念。


《恰如其分的软件架构》 —— George Fairbanks

7c2abe9717640ff8081614b40e5857dc513d2b5f

《恰如其分的软件架构》描述了一种恰如其分的架构设计方法。作者建议根据项目面临的风险来调整架构设计的成本,并从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型等。本书不仅介绍方法,而且还对方法和概念进行了归类和阐述,将软件架构设计融入开发实践中,与敏捷开发方法有机地结合在一起,适合普通程序员阅读。Fairbanks把笔墨聚集在“恰如其分”的软件架构上,这对于每一位想要使架构过程变得更容易的开发人员来说,都是极具吸引力的。《恰如其分的软件架构》通过详细的案例和建议,展示了如何用风险驱动来管理架构的建设和范围,重点突出,易于理解。同时,作者提供了软件架构学术方面的很多细节,这对那些对理论和实践都很感兴趣的开发人员非常有益。


《架构即未来:现代企业可扩展的Web架构、流程和组织》 —— MartinL.Abbott,MichaelT.Fisher

d1b4a4ff5018d4f16aeffccd56b335005a70d7f8

任何一个持续成长的公司最终都需要解决系统、组织和流程的扩展性问题。本书汇聚了作者超过30年的丰富经验, 全面阐释了经过验证的信息技术扩展方法,对所需要掌握的产品和服务的平滑扩展做了详尽的论述,并更新了扩展的策略、技术和案例。针对技术和非技术的决策者, MartinL.Abbott和MichaelT.Fisher详尽地介绍了影响扩展性的各个方面,包括架构、过程、组织和技术。通过阅读本书,你可以学习到以*大化敏捷性和扩展性来优化组织机构的新策略,以及对云计算(IaaS/PaaS)、NoSQL、DevOps和业务指标等的新见解。而且利用其中的工具和建议,你可以系统化地清除扩展性道路上的障碍,在技术和业务上取得前所未有的成功。《架构即未来》这本书凝聚作者多年来在不同的互联网公司工作和咨询过程中积累的丰富经验,从人、过程、技术三个角度深刻而广泛地讨论了技术管理和技术架构的具体实践经验,强调了组织、人员、过程和技术的*佳配合,深入浅出地分析了在技术管理过程中经常遇到的各种具体问题,既讲解理论,也佐以实例,让读者可以系统地获得关于技术管理和技术架构方面的知识和经验。


《大型网站技术架构 核心原理与案例分析 》 —— 李智慧

889faafc04c783a952c57f8b31ed3042e8a6329c

《大型网站技术架构 核心原理与案例分析 》 通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。这本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。

这本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历程。没有晦涩难懂的术语,没有诘屈聱牙的文句,没有故弄玄虚的观点……明明白白的语句,清清楚楚的文法,干净利落的建议——让读者直接体会网站架构的紧要处,不容马虎的关键点。


《亿级流量网站架构核心技术》 —— 张开涛

85b4ec71ee7ce39f0dab6c06b9e23b7fb7bfdb6b

《亿级流量网站架构核心技术》全称《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》,这本书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。不管是软件开发人员,还是运维人员,通过阅读《亿级流量网站架构核心技术》都能系统地学习实现亿级流量网站的架构核心技术,并收获解决系统问题的思路和方法。如何构建高并发、大流量的系统,不是架构师闭门造车想出来的,是线上实际的用户流量检验的。本书通过大量的实践案例,告诉读者如何架构高并发,大流量的网站系统,书中不光有理论探讨,也有大量的实际案例。


《架构真经:互联网技术架构的设计原则》 —— Martin L.Abbott

dbc78e9c7075d827b78343b9a16cbc2a21be5be7

《架构真经:互联网技术架构的设计原则》 是经典著作《架构即未来》的姊妹篇,聚焦于技术架构本身,提供50条久经考验的互联网技术架构原则,几乎可以支持任何高速增长公司的扩展。硅谷著名互联网企业首席技术官和技术主管现身说法,生动形象地呈现“规则背后的故事”,便于读者理解并运用这些规则解决实际工作中所面临的挑战。该版全面更新以反映新的技术趋势和经验,而且更容易阅读、理解和应用。通过Etsy、纳斯达克、Salesforce、Shutterfly、Chegg、Warby Parker、推特等著名互联网企业首席技术官和技术主管现身说法,以易于理解的方式,生动且形象地呈现“规则背后的故事”。通过阅读本书,在完成并评价技术设计方面,架构师将学到有效的非技术洞见。开发人员会学到从数据库到会话状态的处理技巧。管理人员将在设定目标、做出决策以及与技术团队互动方面得到有益的帮助。无论什么角色,都会得到关于风险与利益平衡的实用指导,通过设置优先级,把计划付诸行动,从而以低成本获得比较大的可扩展性。


《DevOps:软件架构师行动指南 》 —— Len Bass,Ingo Weber

b1706169b46a2e5f8964a4c913edb29f7296835e

DevOps为加速新软件功能的发布和改善对生产环境系统的监控带来了希望,但是对软件架构师和软件架构来说,DevOps的关键意义却常常被忽视。《DevOps:软件架构师行动指南 》全面解决了这些问题,不仅剖析了软件架构师为实现DevOps目标必须要做出的决策,并且说明了DevOps的其他参与者有可能以哪种方式来影响架构师的工作,还详细介绍了高效部署DevOps所需要的组织、技术和运营环境,以及DevOps对每个开发阶段的影响。作者解决了把多个功能关联起来的横切关注点问题,提供了对合规性、性能、可靠性、可重复性和安全方面的切合实际的洞察。横看成岭侧成峰,远近高低各不同”。当我们愈是从不同角度和层面解读DevOps,就有机会愈加接近DevOps的本质,并正确地指导企业经营和技术实践。本书少有的从软件架构层面系统性地阐述DevOps,令人耳目一新并大呼过瘾。


《尽在双11 阿里巴巴技术演进与超越 》 —— 阿里巴巴集团双⒒技术团队

a6eb65ce5204e223fe6149e4f929c2cf42095463

“双 11”,诞生于杭州,成长于阿里,风行于互联网,成就于新经济,贡献于全世界。从 2009 年商城起,双 11 已历经八年。每年的双 11 既是当年的结束,又是走向未来的起点。技术的突破创新,商业模式的更替交互,推动着双 11 迈步向前。《尽在双11——阿里巴巴技术演进与超越》是迄今由阿里巴巴集团官方出品、全面阐述双 11 八年以来在技术和商业上演进和创新历程的书籍。内容涵盖在双 11 背景下阿里技术架构八年来的演进,如何确保稳定性这条双 11 生命线的安全和可靠,技术和商业交织发展的历程,无线和互动的持续创新与突破,以及对商家的赋能和生态的促进与繁荣。这本书主要面向广大互联网技术和商业从业者,内容包括基础设施、云计算、大数据、AR/VR、人工智能、物联网等技术领域的剖析,以及在电商、金融、客服、物流等商业层面的洞察;同时也可以作为了解科技与商业最新发展的一个窗口,供科研人员和高校在校师生参考。《尽在双11——阿里巴巴技术演进与超越》也包含丰富的双 11 发展历程中的故事性片段,生动有趣,可读性强,读者可以在由衷感叹双 11 背后艰辛的演进历程之余,更为透彻地体会到阿里人在技术和商业创新上坚韧不拔、矢志不渝的精神。


目录
相关文章
|
1月前
|
运维 Cloud Native 安全
云原生技术:重塑现代IT架构的引擎
在当今数字化时代,企业正面临着前所未有的挑战与机遇。随着云计算技术的不断发展,云原生技术作为其核心驱动力之一,正在彻底改变企业的IT架构和运营模式。本文将深入探讨云原生技术的内涵、特点及其对企业数字化转型的影响,揭示其在现代IT架构中的核心地位和作用。同时,我们还将分析云原生技术面临的安全挑战,并展望未来的发展趋势,为企业在云原生领域的实践提供有益的参考。
|
2月前
|
人工智能 运维 虚拟化
完善多云平台软件体系,VMware再探索下一代企业IT架构
完善多云平台软件体系,VMware再探索下一代企业IT架构
|
1月前
|
Cloud Native Devops 持续交付
云原生技术:引领未来IT架构的变革
本文深入探讨了云原生技术的崛起,及其如何通过容器化、微服务架构和DevOps实践等核心原则,推动现代IT基础设施向更加敏捷、高效和可扩展的方向演进。通过分析云原生技术的发展趋势和挑战,揭示了其对业务模式、开发流程和文化的深远影响,为读者呈现了一个全面而深刻的云原生世界视角。
58 4
|
1月前
|
Kubernetes Cloud Native 持续交付
深入理解云原生技术及其在现代IT架构中的应用
【9月更文挑战第18天】云原生技术,作为推动企业数字化转型的引擎,正以它独特的魅力重塑着信息技术的未来。本文将带你一探究竟,从云原生的基础概念出发,逐步深入到其核心组件、设计理念以及如何在实际应用中发挥巨大作用。你将了解到容器化、微服务架构、持续集成与持续部署(CI/CD)等关键实践,并见证它们如何帮助企业构建更加灵活、高效和可靠的应用。
|
1月前
|
运维 Cloud Native Devops
云原生技术:重塑现代IT架构的新引擎
在当今数字化转型的浪潮中,云原生技术以其敏捷、高效和可扩展的特性,正引领着一场IT架构的革命。本文旨在深入探讨云原生的概念、核心组件及其在现代企业中的应用价值,揭示其如何助力企业实现更快的创新速度、更高的资源利用率以及更优的用户体验。不同于传统的云计算模式,云原生从一开始就为云环境量身打造,通过容器化、微服务、DevOps等关键技术,解锁了软件开发和运维的新范式。
|
1月前
|
Cloud Native 持续交付 云计算
云原生技术在现代IT架构中的革新角色
随着数字化转型的浪潮席卷全球,企业对信息技术的需求日益增长。本文将探讨云原生技术如何推动现代IT架构的创新和优化,包括容器化、微服务架构、持续集成与持续部署(CI/CD)等核心概念。通过实际案例分析,我们将了解这些技术是如何帮助企业提升灵活性、加速产品上市时间并降低运营成本的。文章旨在为读者提供云原生技术的全面视角,揭示其在现代IT战略中不可或缺的地位。
|
2月前
|
Kubernetes Cloud Native 开发者
云原生技术在现代IT架构中的应用与挑战
【8月更文挑战第27天】 随着云计算的飞速发展,云原生技术已经成为推动企业数字化转型的重要力量。本文将深入探讨云原生技术的核心概念、优势以及在实际应用中遇到的挑战,并通过具体代码示例展示如何利用云原生技术优化IT架构。
|
2月前
|
边缘计算 物联网 5G
软件定义网络(SDN)的未来趋势:重塑网络架构,引领技术创新
【8月更文挑战第20天】软件定义网络(SDN)作为新兴的网络技术,正在逐步重塑网络架构,引领技术创新。随着5G、人工智能、边缘计算等技术的不断发展,SDN将展现出更加广阔的应用前景和市场潜力。未来,SDN有望成为主流网络技术,并在各行各业推动数字化转型。让我们共同期待SDN技术带来的更加智能、安全和高效的网络体验。
|
2月前
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
98 0
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:Ansible在现代IT架构中的应用与实践
【8月更文挑战第30天】随着信息技术的飞速发展,企业对运维效率和可靠性的要求日益增高。传统的手动运维方式已难以应对复杂多变的IT环境,自动化运维因此成为行业新宠。本文将深入探讨Ansible这一流行的自动化工具,如何通过其简洁的配置管理和强大的多节点部署能力,助力现代IT架构实现高效、可靠的运维管理。我们将从Ansible的核心概念入手,逐步解析其在配置管理、任务执行、应用部署等方面的实战应用,并结合代码示例,展示如何利用Ansible简化日常运维工作,提升运维质量和效率。无论你是运维新手还是资深专家,这篇文章都将为你提供宝贵的洞见和实操技巧。