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 条评论
登录 后参与评论

相关文章

来自专栏数据和云

Oracle 12.2中那些温暖人心的特性

在OOW 2015大会上,Oracle已经发布了12.2的Beta版本,其中的很多亮点新特性引人瞩目,包括在IMO和Multitenant方面,以及在Shard...

3616
来自专栏FreeBuf

BlackHat 2018 | 55款大会软件工具盘点

汇聚了全球信息安全业界精英的年度盛事”Black Hat”上周在美国拉斯维加斯落下帷幕,大佬们也带来了很多有趣的软件工具,其中有一些托管在GitHub上开放下载...

802
来自专栏性能与架构

服务器被入侵的教训

今天一台服务器突然停了,因为是阿里云的服务器,赶紧去阿里云查看,发现原因是阿里云监测到这台服务器不断向其他服务器发起攻击,便把这台服务器封掉了 明显是被入侵做...

3837
来自专栏北京马哥教育

60个DevOps开源工具,你在用哪些?

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 你喜欢免费的东西吗?获得开发者社区支持的自动化,开源的工具是大家梦寐以求的。这里列举了 60...

3399
来自专栏安智客

Android 8.0 中的安全增强功能

每个 Android 版本中都包含数十种用于保护用户的安全增强功能。以下是 Android 8.0 中提供的一些主要安全增强功能: 加密:在工作资料中增加了对...

19510
来自专栏FreeBuf

利用企业邮件系统构造命令控制(C&C)和数据窃取(Exfiltration)通道的思路探讨

本文通过对高度安全环境中,渗透入侵完成后,传统的基于Web和DNS管理控制目标系统不可行条件下,利用企业网页邮箱系统进行命令控制(C&C)和数据窃取(Exfil...

19610
来自专栏FreeBuf

Hacking Team间谍软件Soldier工程分析

Hacking Team这次泄露的信息包括很多监视代码。如Windows平台上的间谍软件工程Soldier(战士),用于非法监听用户的上网信息和本地信息。今天我...

17110

IAAS与PAAS的开发者视角

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

1897
来自专栏FreeBuf

PhEmail:基于Python的开源网络钓鱼测试工具

PhEmail简介 PhEmail是一款采用Python编程语言开发的开源网络钓鱼邮件工具,它可以帮助研究人员在进行社会工程学测试的过程中自动化地给目标发送网络...

2965
来自专栏FreeBuf

安全科普:流量劫持能有多大危害?

作者 gethostbyname 上一篇文章,介绍了常见的流量劫持途径。然而无论用何种方式获得流量,只有加以利用才能发挥作用。 不同的劫持方式,获得的流量也有所...

2046

扫码关注云+社区