企业级云原生架构:技术、服务与实践epub电子书下载

简介: 基于多年的大型项目架构设计实践经验,紧贴主流技术趋势,深入浅出介绍云原生相关技术及产品。

第1章

云原生是一种软件开发方法,它充分利用了云计算,使用开源软件技术栈将应用程序部署为微服务。通常,云原生应用程序构建为在Docker容器中运行的一组微服务,在Kubernetes中编排,并使用DevOps和Git Ops工作流进行管理和部署。使用Docker容器的优点是能够将执行所需的所有软件及环境配置打包到一个可执行包中。容器在虚拟化环境中运行,从而将包含的应用程序与其环境隔离。

信息技术的发展日新月异,过去几十年,企业IT架构经历了单体架构、分布式架构和云计算架构3个阶段的技术演进。尤其是云计算技术的发展,让企业的整个IT基础设施以及应用运行模式发生了革命性的改变。云时代的第一个十年,作为技术的创新探索先锋,互联网公司引领了云计算技术的发展趋势,大多数互联网应用从诞生之初就生长在云端。随着云计算技术的成熟,以及以移动互联网为特点的创新业务的驱动,很多传统行业(如金融、零售、能源、制造以及政务等领域)的企业和机构也逐渐将各自的业务从互联网数据中心(Internet Data Center,IDC)机房迁移至云上,充分利用云的弹性优势,实现系统的动态伸缩与业务的创新。

企业应用上云,也经历了从云托管到云原生的架构演进过程。上云初始阶段,多数企业仅仅是把应用从传统的IDC机房搬迁到云上的虚拟机,这是云托管模式,或者叫作基础设施即服务(Infrastructure as a Service,IaaS)上云。但要真正用好云,不仅是基础设施和平台的升级,应用也需要摒弃传统的设计方法,从架构设计、开发方式到部署维护的整个软件生命周期管理,都要基于云的特点进行重构,从而构建“原生为云”而设计的应用,这样才能在云上以最优的架构、最佳的模式运行,并充分利用和发挥云平台的弹性以及分布式优势。采用基于云原生的技术和管理方法,可以更好地把业务生于“云”或迁移到云平台,从而享受“云”的高效和持续的服务能力。作为诞生于云计算时代的新技术理念,云原生拥有传统IT无法比拟的优势,可帮助企业高效享受云的弹性和灵活性,以服务化的形态获取各种资源,降低大规模分布式高并发的技术门槛,从而实现快速开发、平滑迁移、稳定可靠、运维简便的应用构建模式。云原生已经成为云时代的新技术标准。

云原生的概念最早是谁提出的,业界并没有统一的说法。比较有影响力的是Pivotal(Spring开源产品的母公司)的技术产品经理 Matt Stine,他在2015年发表的电子书Migrating to Cloud Native Application Architectures(《迁移到云原生应用架构》)中,提出了将传统的单体应用和面向服务的架构(Service-Oriented Architecture,SOA)应用迁移到云原生架构所需的文化、组织和技术变革。Matt Stine认为云原生是一组思想集合和最佳实践,包括敏捷基础设施(agile infrastructure)、微服务(microservice)、DevOps、持续交付(continuous delivery)等,主要涵盖如下重要的内容。

(1)十二要素应用程序:云原生应用程序架构模式的集合。

(2)微服务:独立部署的服务,每个服务只做一件事情。

(3)敏捷基础设施:快速、可重复和一致地提供应用环境和后台服务的平台。

(4)基于应用程序接口(Application Programming Interface,API)的协作:发布和版本化的API,允许在云原生应用程序架构中的服务之间进行交互。

(5)抗压性:系统具备良好的健壮性,能够抵抗外界非预期的流量冲击。

版权:人民邮电出版社