第2章 IaaS 与PaaS部署选项
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
Cloud服务主要分为三大类:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。根据美国国家标准与技术研究院(NIST)的定义,1旨在根据客户责任与云服务商责任划分云计算服务。其差异在云计算的责任共担模型中有所界定。我们稍后将探讨该模型,但首先从技术角度审视这些云计算资源类别的区别。
IaaS将最大责任赋予客户。简言之,IaaS本质上类似于云端运行的虚拟机——为终端用户提供预定义级别的资源(CPU、内存、硬盘空间等),用户可在这些资源上自由安装所需应用程序,包括操作系统在内的所有组件。终端用户需全权负责应用程序的安装、配置及维护工作。IaaS赋予用户对其所付费资源的最大控制权,但也要求用户投入最多精力来保障系统持续运行。例如,假设你在IaaS实例上运行加速网络功能。确保所有驱动程序和内核层正确且正常运行是你的责任。若驱动程序出现故障,修复工作也由你承担。若不及时处理,实例将陷入故障状态(且持续无法运行直至修复)。
从历史角度看,IaaS曾是云计算新手的首选入门方案——毕竟这种思维转换较为自然:您无需在本地数据中心运行虚拟机,而是将其作为IaaS实例托管在微软数据中心,完全免除了硬件更新的烦恼。
客户责任范围的另一端则是SaaS。SaaS本质上是您付费获取访问权限的完整构建、托管和配置的应用程序。您无需负责(也无法查看或配置)后端硬件、软件或数据存储。Office 365即为SaaS软件典范——订阅服务后即可使用Outlook、Excel、PowerPoint等应用。在SaaS供应商设定的权限范围内,您可管理用户、制定访问策略并优化用户体验。通常,要改变应用运行方式,唯一途径是向开发者提交功能请求并等待响应。
SaaS的核心价值在于让用户摆脱底层基础设施的束缚——无需管理任何与软件直接相关的环节。虽然本书不会过多探讨SaaS,但为求完整性仍需提及,同时有助于更清晰地理解其与PaaS的差异。
PaaS是介于IaaS与SaaS之间的中间形态。其概念较难阐释,因为该类别产品存在显著差异性。但通常而言,PaaS平台会提供预配置的基础设施层,供用户在其上部署应用程序。在PaaS部署中,您无需负责基础设施管理(服务器配置、补丁更新、网络配置等),但仍掌控应用层。您需要配置应用程序的运行时设置、扩展参数和部署规范。
数据库便是典型示例(我们稍后将深入探讨)。假设您希望在面向互联网的应用程序中使用 Microsoft SQL Server(MSSQL)作为后端。若采用IaaS模式,您需完成实例配置、操作系统安装、MSSQL部署、操作系统与应用程序的补丁更新,并通过所有安全扫描——这些准备工作完成后,数据库团队才能开始配置和创建数据库。而PaaS模式(Azure SQL)将为您处理所有这些环节。您只需为X数量的Azure SQL付费,系统自动为您完成配置,即可立即开始构建数据库并将其连接至应用程序.
PaaS 为领域专家提供专属平台,使其能专注于应用开发而无需顾虑底层基础设施。您获得的是数据库管理员级别的部署视图,其配置完全符合管理员需求(包括必要参数、数据库容量、冗余要求等)。对于数据库团队而言,这堪称理想方案:数据库管理员未必兼具系统管理员职责,也不愿承担运行完整IaaS虚拟机带来的额外责任。采用PaaS模式,他们完全无需承担这些职责。
在所有情况下,总有些责任属于客户,有些则属于云供应商。《共享责任模型》详细阐述了IaaS、PaaS和SaaS三种模式在控制权与责任划分上的差异。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access