IAAS与PAAS的开发者视角

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

我使用两个业内比较优秀的云计算服务平台进行说明:代表IAAS的Amazon Web Service和代表PAAS的Windows Azure平台。尽管如此,请注意,重点是服务模式,而不是实际的云端服务器。

基础设施即服务(IAAS)

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

如表1左侧所示,IAAS提供商将负责管理物理资源,例如网络,服务器和集群计算机。此外,他们通常还将管理虚拟化技术,使客户能够运行虚拟机(虚拟机)。当涉及到操作系统(OS)时,是否由供应商或客户管理经常是有争议的。在大多数情况下,IAAS提供商将负责预装OS的客户VM映像,但客户需要随后进行管理。以AWS为例,AMI(Amazon Machine Image)为客户提供多种类型的操作系统,如Windows ServerLinux SUSELinux Red Hat。尽管预装了操作系统,但AWS不会对其进行维护或更新。

其他一些软件包括中间件(如IISTomcat,Caching Services),运行时(JRE.NET Framework)以及数据库(SQL ServerOracleMySQL)通常不在VM Image中提供。这是因为IAAS提供商不会知道,也不会在乎客户要做什么。客户需要自己维护安装他们。当上面提到的所有软件都已经安装好后,客户将最终在虚拟机上部署应用程序和数据。

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

为了传达一个全面的解释,我将要一步步说明怎样在IAAS环境中设置应用程序。为此,我在BUILD会议上借鉴了Mark Russinovich的一个幻灯片。此图解释了典型的IAAS供应模式的工作原理。

考虑到完成开发多层应用程序时的一个常见情况,作为开发人员,我们通常需要将其部署到云中。应用程序将需要托管在Web服务器和RDBMS数据库上。对于IAAS,这里是必需的步骤:

1. 准备数据库服务器

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

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

从库中选择虚拟机映像以进行配置和启动。如果未安装Web /应用程序服务器/运行时,则需要自行安装。

3. 配置数据库及其对象

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

4. 部署应用程序

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

5.配置负载均衡器

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

6. 管理虚拟机和DMBS

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

平台即服务(PAAS)

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

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

按步骤:在PAAS环境中设置应用程序

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

1. 数据库供应

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

2. 部署应用程序

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

负载平衡器怎么样呢?以Windows Azure为例,它将全部自动进行配置并准备好接受流量,其他一切都将自动进行管理。您不必担心IP地址或负载均衡。

如何维护虚拟机?DBMS和Web服务器VM将由提供者维护。例如:

  • 如果托管应用程序的虚拟机存在任何硬件问题,提供商应该能够检测到故障并立即纠正,以确保您的应用程序能够保持正常运行。在Windows Azure中,Fabric Controller将是处理这类问题的组件。
  • 如果操作系统上有新的更新或修补程序,提供程序将确保您的应用程序所在的VM始终处于更新状态。例如:Windows Azure使用“ 客户操作系统版本 ”来区分服务更新。当然,你也可以选择坚持一个版本或自动更新。

概要

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

世界上没有一个适合所有人的东西。作为开发人员或架构师,您应该了解客户的需求,并确定正确的模式以获得最佳的结果。

本文的版权归 Shedray大数据专栏 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

IAAS与PAAS的开发者视角

在我以前的文章中,解释了云计算的基本概念,包括它的定义,特性和各种服务模式。在本文中,将从开发者的角度对基础设施即服务(IAAS:Infrastrqucture...

2287
来自专栏散尽浮华

Centos7下部署分布式跟踪工具Pinpoint的操作记录

一、Pinpoint简单介绍 Pinpoint是一款对Java编写的大规模分布式系统的APM工具,有些人也喜欢称呼这类工具为调用链系统、分布式跟踪系统。一般来说...

1272
来自专栏CSDN技术头条

外行人都能看懂的 Spring Cloud,错过了血亏!

这篇主要来讲讲 Spring Cloud 的一些基础知识。以下是 SpringCloud GitHub Demo ,看完文章的同学可以自己练手玩玩:

1313
来自专栏Java学习123

ESB企业服务总线

38414
来自专栏DannyHoo的专栏

iOS开发中使用DEBUG模式和RELEASE模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

672
来自专栏拭心的安卓进阶之路

Gradle for Android 系列:为什么 Gradle 这么火

Android 应用的构建过程 Android 应用程序的构建过程非常复杂,如图所示: ? 主要有以下几步: 主要的资源文件(layout, values 等)...

1958
来自专栏java架构学习交流

java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程

下面列出Spring Web方面的常见问题,除此之外,大家也可以自己不断收集,不断提升。 问题1,你们的项目是如何搭建Spring Web框架的,具体而言,如何...

2118
来自专栏Linyb极客之路

Spring Boot最佳实践

1182
来自专栏恰同学骚年

.NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

  互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI) => 持续集成指的...

794
来自专栏陈树义

数据库历险记(三) | 缓存框架的连环炮

最近在思考数据库以及缓存的问题,发现这些知识点其实是有一点关联的,于是这篇文章通过一个连环提问的方式将这些知识点串联起来。

913

扫码关注云+社区