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

相关文章

来自专栏运维小白

Linux基础(day66)

19.1 Linux监控平台介绍 Linux监控平台介绍 监控存在的原因 站点出了问题,没有人知道,等用户发现了,才提醒供应商;对公司影响很大 常见开源监控软...

20310
来自专栏SeanCheney的专栏

《Python分布式计算》 第7章 测试和调试分布式应用 (Distributed Computing with Python)概述常见错误——时钟和时间常见错误——软件环境常见问题——许可和环境常见

无论大小的分布式应用,测试和调试的难度都非常大。因为是分布在网络中的,各台机器可能十分不同,地理位置也可能不同。 进一步的,使用的电脑可能有不同的用户账户、不同...

2275
来自专栏SDNLAB

Kubernetes正式支持Containerd 1.1版

1614
来自专栏格子的个人博客

JMeter安装配置和分布式

前段时间公司的新项目上线了一段时间之后,随着运营规模的变大,老大要求对系统进行一个摸底,那么肯定有人要为这个伟大的工作献身了,是的,那个人就是我。谁让我是就是打...

642

IAAS与PAAS的开发者视角

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

1837
来自专栏idba

有赞MySQL自动化运维系统--ZanDB

有赞作为"新零售"的软件服务供应商,随着业务的不断发展,从第一批几十家商户到现在300万商家,涉及零售,美业,餐饮,自媒体等众多商家,业务规模以及访问量爆发式...

1202
来自专栏CSDN技术头条

无网不通,有网则顺:OpenStack Neutron解析

Neutron是OpenStac环境的核心组件之一,了解Neutron的功能和部署方式,是企业OpenStack系统的规划、部署和运维需要修炼的内功。在本文中,...

2738
来自专栏北京马哥教育

Python运维中20个常用的库和模块

1、psutil是一个跨平台库(https://github.com/giampaolo/psutil) 能够实现获取系统运行的进程和系统利用率(内存,CPU,...

4797
来自专栏A周立SpringCloud

微服务部署:蓝绿部署、滚动部署、灰度发布等部署方案对比与总结

在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 目前有很多用于部署的技术,有的简单,有的复杂;有的得...

4889
来自专栏杨建荣的学习笔记

巧用外部表备份历史数据(r5笔记第62天)

在很多的系统中,随着时间的推移,都会沉淀大量的历史数据。一般数据量达到一定程度都会考虑使用分区表来处理。根据业务规则,可能有些历史数据隔一段时间就需要做清理了,...

35112

扫码关注云+社区