云原生架构:从技术演进到最佳实践

博文小编

2021-10-29


在当今各类技术峰会、论坛演讲中,包括公众号文章里,“云原生”都仿佛成了一个绕不开的词,大家都喜欢在从事的技术前加上云原生这个前缀,如云原生应用、云原生数据库、云原生安全等。

小张作为刚入行的新人,担心面试的时候被问到“什么是云原生”;小王作为年富力强的架构师,担心不提云原生会让客户觉得方案不够前卫;老赵作为某领域的资深专家,觉得如果不将自己的领域向云原生靠拢,别人会觉得他技术落伍。

在这个技术爆炸的时代,各种新技术存出不穷。每当一项新技术出现后,它都会被吹得天花乱坠,仿佛有了它就可以解决应用开发过程中遇到的所有问题。但真正了解之后才意识到,其实这只是某个技术要点而已。出现这种让人无法判别新技术的窘境,其核心原因在于架构师们缺少一套可以涵盖软件开发方方面面的知识体系,从而无法清晰地认准新技术在整个知识体系中的定位。在这个“云原生”时代,这种情况尤为常见。

基于此,《云原生架构:从技术演进到最佳实践》一书诞生了!

本书的写作目的是希望架构师们能了解云原生技术的方方面面,了解技术的演进历程,以及技术与技术之间的关联,从而使他们建立一套完整的关于应用云原生化的知识体系。

从2012年Heroku提出著名的12因素,2013年Pivotal的CTO Matt Stone旗帜鲜明地宣传Cloud Naive开始,到本书问世,已将近十年。

在这十年里,云原生技术和社区经历了超高速的发展,从Docker到Kubernetes,再到云原生的存储、数据库、安全及配套的DevOps工具,云原生生态令人叹为观止。放长时间尺度来看,20世纪90年代末,那时完全依赖手动搭建、配置和管理服务器,相比现在的云原生技术,简直如刀耕火种一般。

云原生技术大发展的同时,对应的是数字化浪潮对各行各业的冲击和改造。云原生技术大大降低了数字化的门槛,使得研发和运维人员,以及他们所服务的企业能够专注业务本身,而无须花太多心力在IaaS和PaaS层面。解放了数字生产力之后,一些企业可以在几年内走完他们前辈们几十年走的路,迅速实现面向全国十几亿人,甚至全球几十亿人的服务能力。可以说,云原生是数字化这一时代大潮的技术推动力之一。

本书的定位是介绍云原生的技术演进和实践,有如下三个特点。

一是知识具有体系性。本书并没有局限于虚拟化和容器编排调度这两个多数同类书浓墨重彩介绍的议题,而是进一步覆盖了应用架构、应用设计与研发运维支撑,对随着云原生的到来而产生的应用研发和运维行为改变做了比较深入的介绍。这样不仅回答了“什么是云原生”及“云原生解决什么问题”,也回答了“云原生对我的工作有什么影响和改变”,而这才是多数读者都会关心的问题。

二是关注技术的演进过程。本书每提到一项技术,比如虚拟化、容器编排,都会从这类技术的起源说起,介绍整体的演进过程、每阶段面临的问题和对应的解决思路。这样的叙述方式一方面向读者交代了背景和上下文,能让读者知道技术的来龙去脉,更重要的是,能帮助那些对云原生缺少认知的读者从简单的技术开始慢慢增加认知,最后理解复杂的技术方案。

三是具有技术广度。本书不仅介绍当前最流行、最热门的技术,也覆盖了一些共存技术,并对它们做一定的比较,只是覆盖面很广。这样可以帮助各位读者根据具体业务情况选择适合自己的方案。技术归根结底是要服务于业务的,一定程度上也印证了“没有最好的技术,只有最适合的技术”这一观点。

谈到一个应用,我们首先考虑的是运行这个应用所需要的系统资源。其次,关于应用自身的架构模式也要考虑,从传统的单体架构模式到后来的微服务模式、服务网格,以业务功能为维度进行分拆更有利于应用的不断演进。最后,还需要从软件工程的角度来考虑云原生应用的设计、开发、部署、运维等不同阶段。

设计云原生应用需要从以上三个维度进行全方位的思考。所谓原生为云设计的应用,就是指从最初便被设计为在云上以最佳方式运行的应用,这种应用能充分发挥云平台的各种优势。

本书将从全栈视角出发,从系统资源到应用架构,再到软件工程,深入浅出地讲解计算机技术的演进,给架构师或想要成为架构师的人一个非常好的角度来看待不同时代的技术,以及其能解决的问题。本书还会介绍在现有的云原生技术下,如何以最佳的形态和方式来构建一个应用,使其能够真正发挥云的能力,从而达到1+1>2的效果。

本书分为“技术演进篇”和“最佳实践篇”两篇,涉及4个部分,共19章,大概的内容分布及简介如下。

技术演进篇

第1部分 系统资源(第1~5章)

基础架构解决的是一些通用性问题,主要涉及应用运行时所需要的系统资源,这些系统资源是设计任何类型的应用都需要重视的内容。针对不同的系统资源,应用的部署、运行方式也不尽相同。这一部分将首先介绍操作系统、虚拟化等基本知识,然后讲解云计算相关内容,以及容器与容器编排的核心知识。

第2部分 应用架构(第6~11章)

架构的重要性在于实现应用的非功能性需求。非功能性需求往往能决定一个应用运行时的质量,也能决定开发时的质量。这一部分将宏观介绍应用架构的定义、分类、目标等,列举主流架构视图,并按照技术演进过程介绍单体架构、分布式架构、SOA架构、微服务架构等内容。

第3部分 软件工程(第12~16章)

1968 年,世界各地的计算机科学家在德国的Garmisch召开了一次国际会议,在会上正式提出了“软件工程”一词。软件工程管理的核心目的是支撑新的演进式架构。软件工程的整个流程分为5个阶段:应用设计、软件开发、开发运维一体化、SRE运维、数字化运营。在这一部分中,我们将紧密围绕以上5个技术演进阶段,从软件工程角度讲解云原生应用架构的实现。

最佳实践篇

第4部分 架构、应用落地与中台构建(第17~19章)

在这一部分中,我们将详细剖析云原生架构,介绍其定义、涉及的关键技术,以及具体的实现过程。本部分还会介绍应用落地的最佳实践,涉及应用改造、应用拆分、API设计与治理等。此外,“中台”这个概念也与云原生密不可分,本部分还会阐述云原生应用与中台之间的关系,以及如何通过中台使应用的云原生化更加便捷。


要想一网打尽云原生架构技术精髓,掌握从技术演进到最佳实战的终极密码,欢迎阅读《云原生架构:从技术演进到最佳实践》

云原生之路,漫漫而修远,因为云在发展,应用也在发展。如何让应用充分利用云的特性焕发全新面貌,这是每个云原生应用架构领域的人应该思考的问题。本书分为两篇,从技术演进讲起,让你充分了解系统资源、应用架构和软件工程的发展历程,从而拥有技术角度的全局视野;然后介绍云原生应用的最佳实践,手把手教你设计一个云原生应用。

本书适合云原生应用开发人员、架构师、云计算从业者阅读,部分章节对产品团队、运维人员亦有一定的参考价值。

作者简介

贺阮

攻读博士期间的主要研究方向是云计算安全。毕业之后一直深耕于云计算领域,工作内容涉及虚拟化内核、容器、调度、安全、微服务、应用架构、软件设计开发等,工作岗位覆盖科研、开发、产品架构、售前解决方案、售中售后支持等。

曾先后任OpenStack基金会董事、ISO/IEC JTC1/SC38和ISO/IEC JTC1/SC27标样委员会委员、联合国国际电信联盟(ITU)云计算安全组副报告人,以及多个云计算学术会议、期刊编辑等职位,从各个维度见证了云计算行业的发展。

史冰迪

2015年毕业于中央财经大学计算机科学与技术专业,同年进入中国软件与技术服务股份有限公司,从事政务信息化相关工作。先后任软件系统研发工程师、需求经理、软件项目经理和集成项目大项目经理等多个职位,参与过软件系统开发生命周期全流程相关工作。2020年进入中国信息通信研究院从事政务信息化项目管理工作,从另一个方向继续在政务信息化方向发力,不断努力将电子政务、数字政府等工作与各类新技术结合。

(京东满100减50,快快扫码抢购吧!)

读者评论

相关博文

  • 社区使用反馈专区

    陈晓猛 2016-10-04

    尊敬的博文视点用户您好: 欢迎您访问本站,您在本站点访问过程中遇到任何问题,均可以在本页留言,我们会根据您的意见和建议,对网站进行不断的优化和改进,给您带来更好的访问体验! 同时,您被采纳的意见和建议,管理员也会赠送您相应的积分...

    陈晓猛 2016-10-04
    5437 739 3 7
  • 迎战“双12”!《Unity3D实战核心技术详解》独家预售开启!

    陈晓猛 2016-12-05

    时隔一周,让大家时刻挂念的《Unity3D实战核心技术详解》终于开放预售啦! 这本书不仅满足了很多年轻人的学习欲望,并且与实际开发相结合,能够解决工作中真实遇到的问题。预售期间优惠多多,实在不容错过! Unity 3D实战核心技术详解 ...

    陈晓猛 2016-12-05
    3302 36 0 1
  • czk 2017-07-29
    5874 28 0 1