从开发者的角度比较IAAS与PAAS

时间:2022-04-22
本文章向大家介绍从开发者的角度比较IAAS与PAAS,主要内容包括基础设施即服务(IAAS)、平台即服务(PAAS)、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

在我之前的文章中,讨论了云计算背后的基本概念,包括其定义,特性和各种服务模型。在本文中,我将更加详细地讨论服务模型,特别是从开发者的角度来比较IAAS和PAAS。

注:本文仅讨论的重点是云服务模式,而不是具体的云服务供应平台。

1673-comparing-iaas-and-paas1-1024x754.png

基础设施即服务(IAAS)

IAAS指的是为客户提供按需的基础设施服务的云服务模式。基础设施可以指可租用资源,如计算能力,存储设施,负载均衡器等。

如图一左侧所示,IAAS提供商将负责管理物理资源,例如网络,服务器和集群计算机。此外,他们通常还将管理虚拟化技术,使得客户能够运行虚拟机(virtual machine,VM)。而当涉及到操作系统(OS)时,到底是由供应商还是客户来管理它,这个问题经常引起争议。在大多数情况下,IAAS提供商会负责客户的预装操作系统的虚拟机镜像,可是客户随后就需要对操作系统进行管理。服务商会为客户提供多种类型的操作系统,如Windows ServerLinux SUSELinux Red Hat。尽管预装了操作系统,但服务商不会再对操作系统进行维护或更新。

其他一些软件包括中间件(如IISTomcat,Caching Services),运行时环境(JRE.NET Framework)以及数据库(SQL ServerOracleMySQL)在虚拟机镜像中通常不会提供。这是因为IAAS提供商不知道,也不关心客户会用虚拟机做什么。由客户负责处理这些虚拟机。当上面提到的所有软件都已经安装好后,最后客户会在虚拟机上部署应用程序和导入数据。

循序渐进:在IAAS环境中配置应用程序

为了表述全面,我会说明在IAAS环境中搭建应用程序时所涉及的步骤。为此,我会借用Mark RussinovichBUILD会议上展示的一张幻灯片。此图阐释了典型的IAAS供应模式的工作原理。

1673-comparing-2-1024x593.png

考虑到多层应用程序的开发已经完成这个常见的情况,作为开发人员,你还将需要将其部署到云中。应用程序需要托管在Web服务器和RDBMS数据库上。对于IAAS,以下是典型的步骤:

1. 准备数据库服务器

从VM镜像库中选择VM映像。然后,VM Image将被分配并启动。如果没有提供DBMS软件,则自行安装。

2. 准备Web /应用程序服务器

从VM镜像库中选择虚拟机镜像以进行分配和启动。如果未安装Web或者应用程序服务器或运行时环境,则自行安装。

3. 配置数据库及其对象

下一步是配置数据库,包括配置数据文件,日志文件,安全等。然后创建数据表并向其添加数据。

4. 部署你的应用程序

接下来,将你开发的应用程序部署到Web服务器上。

5. 配置负载均衡器

当需要在多个实例上托管你的应用程序时,你可能还要再进行配置,比如每个实例的IP地址和负载平衡器等。

6. 管理你的虚拟机和DBMS

最后一步是管理虚拟机。例如,当操作系统有更新或服务包时,IAAS提供商不会自动替你进行更新。相反,你可能需要自己做。

平台即服务(PAAS)

现在,让我们转到另一种云服务,“PAAS”,看看它有什么不同。在PAAS中,供应模型涉及一种按需的应用程序托管环境。PAAS供应商不仅像IAAS供应商那样管理组件,还会帮助客户管理额外的职责,如操作系统,中间件,运行时,甚至数据库,正如表1右侧所示。

换句话说,你可以认为PAAS就是租用一堆软件,硬件和基础设施。客户只需带上应用程序和数据,然后就可以开始了。

循序渐进:在PAAS环境中配置应用程序

对于PAAS,考虑到数据库服务器,虚拟机和Web服务器虚拟机很容易配置,你只需要执行两个步骤,正如Mark Russinovich的另一张幻灯片所示。

1673-comparing-3.png

1. 配置数据库

你可能需要指出你的虚拟数据库服务器在哪里(哪个区域)进行了配置,但是不必自己亲自安装一堆DBMS软件。你只要配置数据库,创建表格和添加数据。

2. 部署您的应用程序

这是适用于IAAS的类似步骤,你仍然需要在PAAS云环境中部署自己的应用程序。

那负载均衡器呢?以某些服务商为例,它将全部进行自动配置并准备好接受流量,其他一切都将进行自动管理。你不必再为IP地址或负载平衡器操劳。

那虚拟机的维护呢?DBMS和Web服务器虚拟机将由供应商维护。比如:

  • 如果托管应用程序的虚拟机存在任何硬件问题,供应商应该能够检测到故障并立即纠正,以确保你的应用程序能够保持正常运行。
  • 如果操作系统上有新的更新或补丁,供应商会确保您的应用程序所在的虚拟机始终处于最新状态。当然,你也可以选择保持某个版本或自动更新。
1673-Comparing-4.png

总结

总的来说,我们探讨了IAAS和PAAS解决方案的不同服务模式和配置步骤。与IAAS供应商相比,PAAS供应商实际上承担了更多的责任。但另一方面,IAAS可以在更低层次上提供更多的灵活性(例如:公共IP地址,负载均衡器等)。

人无完人,事无完事。作为开发人员或架构师,你应该深入了解客户的需求,来确定合适的云服务模式以获得最佳的效果。