拨得云开见日出:解构一个典型的云计算系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 本书的特点与结构

相比于市面上的各种云计算相关的著作,本书主要关注一个问题:一个典型的云计算系统是如何构成的,其结构是什么?在源代码级别如何去构建一个云计算系统?

这是目前很多系统架构师、软件工程师以及系统领域的研究人员最关心的问题。针对该问题,本书在构思和写作的整个过程中,始终围绕以下几个原则开展,并由此体现本书的特色。

① 要实战,要落实。本书使用大量篇幅,详细讲述了在源代码层面上一个云计算系统是如何构成的,各个主要的子系统有哪些典型功能,目前都有哪些主要的开源组件可以用于构建一个云计算系统,如何对云系统进行单元测试,如何添加新的功能或进行定制。从而让读者通过对本书的理解,能够方便地上手。

② 要起到抛砖引玉、举一反三的作用。本书主要解构了一个云计算系统,但是我们希望体系结构、代码结构、主要的组件、关键代码等,能够为解构和应用其他云计算系统所借鉴。为此,本书选择基础设施云作为研究对象,这是因为基础设施云是其他所有形式的云计算的基础。另外,在基础设施云上能体现云计算的独有特点,如资源虚拟化、多租户、虚拟机隔离、云存储等。更具体地,本书讲解的是Eucalyptus的代码结构和实现机制,但是通过对本书的学习,读者可以理解和解构其他的主流云平台,如OpenStack、CloudStack、OpeNebula等。

③ 不涉及玩具。本书不分析玩具系统或原型系统,而是真实应用于工业生产的产品系统。本书选择的 Eucalyptus 已经被世界 500 强中 25%的企业所部署和使用。读者以此为基础,可以实现和构建具有商业意义和价值的关键技术与功能点。