《云计算:原理与范式》一1.7 平台即服务供应商

简介: 本节书摘来自华章出版社《云计算:原理与范式》一书中的第1章,第1.7节,作者 (澳)Rajkumar Buyya James Broberg Andrzej Goscinski,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.7 平台即服务供应商

作为一个服务供应商的公共平台,通常会提供一个开发和部署环境,使用户能够创建和运行他们的应用。用户很少或者根本不会关注平台的低层次细节。此外,在该平台中可以使用特定的编程语言和框架以及其他服务,例如持久性数据存储和内存中的缓存。

1.7.1 特点

编程模型、语言和框架。IaaS供应商提供的编程模型定义了用户应如何使用更高级别的抽象来表达他们的应用,并在云计算平台上高效地运行这些应用。每种模型旨在有效地解决特定问题。在云计算领域,需要专门模型的最常见活动有计算机集群中大型数据集的处理(MapReduce模型)、基于请求的Web服务发展和应用、工作流形式的业务流程的定义和编排(工作流模型)与各种计算任务的高性能分布式执行。
为了方便用户,PaaS供应商通常支持多种编程语言。在平台上最常用的语言包括Python、Java(例如,Google AppEngine)、.NET语言(例如,MicrosoftAzure)和Ruby(例如,Heroku)。Force.com已经制定了自己的编程语言(Apex)和一个类似Excel的查询语言,它对重要平台的功能提供了更高层次的抽象。
各种软件框架通常提供PaaS的开发,这取决于应用的侧重点。专注于Web和企业应用托管的供应商提供了流行的框架,如Ruby on Rails、Spring、Java EE和.NET。
持久性选项。持久层是必不可少的,这允许应用记录它们的状态以及在崩溃的情况下将其恢复并存储用户数据。传统上,Web和企业应用开发人员选择了关系数据库作为其首选的持久性方法。这些数据库提供了快速和可靠的结构化数据存储及事务处理,不过,在处理商用计算机中存储的几个PB的数据时,可能会缺乏可扩展性[71]。
在云计算领域,已经出现了分布式存储技术。它们以关系结构和便捷的查询语言为代价,从而寻求高可扩展性。例如,AmazonSimpleDB和Google AppEngine的数据存储提供了schema-less、自动索引的数据库服务[70]。只有个别表可以进行数据查询,也就是说,为了扩展性尚不支持连接操作。

1.7.2 案例研究

在本节中描述了一些平台即服务(PaaS)产品的主要特点。VI管理器更加详细的直观功能比较请参见表1.3。
Aneka。Aneka[72]是以.NET为基础的面向服务的资源管理和开发平台。Aneka部署(称为Aneka云节点)中的每一台服务器托管在Aneka容器中,提供基本的基础设施服务,包括持久性、安全(授权、认证和审计)和通信(消息处理和调度)。云节点既可以是物理服务器、虚拟机(支持XenServer和VMware),也可以是租用Amazon EC2的实例。
Aneka容器也可以承载任意数量的可选服务,它们可由开发人员添加以增强Aneka云节点的能力,从而提供一种单一的、编排各种应用模型的可扩展框架。
image

这种工作模型使传统的高性能计算应用和MapReduce支持多种编程模型,从而启用各种数据挖掘和搜索应用。
用户通过客户端预定Aneka主节点的服务管理器来请求资源,负责管理所有的云节点,并包含将调度服务分发请求到云节点。
App Engine。Google App Engine使用户在Google提供的弹性基础设施上运行其Python和Java Web应用。App Engine允许应用动态改变,为流量和数据存储的要求增加或减少规模。在Python栈和Java之间,它为开发人员提供了一个选择。App Engine引人注目的服务架构允许实时自动缩放,没有许多常见Web应用类型的虚拟化。然而,这种自动缩放依赖于每个平台上应用开发人员使用有限的本机API子集。在某些情况下,需要使用特定的Google API,如URLFetch、Datastore,并用memcache缓存替换某些本机API调用。例如,部署的App Engine应用不能直接写入到文件系统(必须使用Google的Datastore),或者打开一个套接字或直接访问另一台主机(必须使用Google的URL获取服务)。Java应用还无法创建一个新线程(thread)。
Microsoft Azure。MicrosoftAzure云计算服务为开发人员提供了一个托管的.NET堆栈(C#、VB.NET、ASP.NET)。此外,也可以使用基于.NET服务的Java和Ruby软件开发包(SDK)。Azure系统由若干要素组成。Windows Azure结构控制器(Fabric Controller,FC)提供自动缩放和可靠性,并管理内存资源和负载均衡。.NET服务总线(Service Bus)注册应用并将这些应用连接在一起。.NET访问控制身份验证提供者的企业目录和Windows LiveID。最后,.NET工作流允许构建和执行工作流实例。
Force.com。与Salesforce.com服务相结合,Force.com PaaS使开发人员能够创建附加的功能,将其整合到主要Salesforce CRM的SaaS应用中。
Force.com为开发人员提供了两种方法创建应用,这些应用可在其SaaS平台上部署:一个托管的Apex或Visualforce应用。Apex是一个专有的类似Java的语言,可用于创建Salesforce应用。Visualforce构建的用户界面类似HTML、AJAX或Flex中XML的语法,使其覆盖在Salesforce托管的CRM系统上。它还提供了一个所谓的AppExchange应用商店,以提供有偿和免费的应用目录。
Heroku。Heroku是一个即时部署Ruby on Rails的Web应用平台。在Heroku系统中,服务器是不可见的管理平台,用户无法接触。应用自动分散在不同的CPU内核和服务器上,最大限度地提高性能和减少内容。Heroku有先进的逻辑层可以自动绕过故障路线,以确保在任何时候都无缝和不间断地提供服务。

相关文章
|
3月前
|
存储 人工智能 大数据
云计算平台:AWS、Azure和Google Cloud的比较与选择
在当今数字化时代,云计算平台成为了企业和个人的首选。本文将重点比较三大主流云计算平台:AWS、Azure和Google Cloud,从性能、功能、可用性以及定价等方面进行综合评估,帮助读者更好地选择适合自己需求的云计算平台。
|
3月前
|
机器学习/深度学习 存储 人工智能
云计算平台选择之路:AWS、Azure和Google Cloud的比较与抉择
在当今数字化时代,云计算平台扮演着企业转型和创新的关键角色。本文将对三大主流云计算平台——AWS、Azure和Google Cloud进行比较分析,为读者提供选择指南。我们将从性能、可靠性、生态系统、服务和定价等方面综合评估,以帮助读者做出最适合他们业务需求的决策。
95 0
|
26天前
|
边缘计算 Cloud Native 安全
未来云计算平台的发展趋势与挑战
随着数字化时代的到来,云计算作为一种关键的信息技术基础设施正在发挥着越来越重要的作用。本文将探讨未来云计算平台的发展趋势与面临的挑战,分析在日益复杂多变的技术环境下,云原生技术的应用将如何推动云计算平台迈向新的高度。
|
25天前
|
人工智能 安全 物联网
在云计算时代,各种云服务和平台为我们提供了无限的机遇和挑战
【2月更文挑战第33天】在云计算时代,各种云服务和平台为我们提供了无限的机遇和挑战
20 7
|
2月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
51 0
|
3月前
|
存储 边缘计算 监控
探索未来科技趋势:虚拟化技术与云计算平台OpenStack的概念与实践
在迅猛发展的信息技术时代,企业和组织对于高效、可扩展的计算资源需求日益增长。虚拟化技术和云计算平台OpenStack应运而生,为企业提供了一种灵活、可靠的解决方案。本文将深入探讨虚拟化技术与OpenStack的概念和实践,展示它们在现代科技领域中的重要性和应用前景。
62 3
|
3月前
|
存储 监控 搜索推荐
构建无边界的数字未来:虚拟化技术与云计算平台OpenStack的概念与实践
在当今数字化时代,虚拟化技术和云计算平台已经成为企业和组织实现数字化转型的关键驱动力。本文将介绍虚拟化技术的概念和作用,并重点探讨了开源云计算平台OpenStack在实践中的应用和优势。通过深入了解虚拟化技术和OpenStack平台,读者将能够更好地理解如何利用这些技术构建无边界的数字化未来。
|
3月前
|
存储 人工智能 调度
虚拟化技术与云计算平台 OpenStack:解锁数字化时代的无限潜能
在数字化时代,虚拟化技术和云计算平台已经成为企业和组织加速创新、提高效率的关键工具。本文将介绍虚拟化技术和OpenStack云计算平台的基本概念,探讨其在实践中的应用,以及它们如何协同作用,为企业带来无限的潜能与机会。
|
3月前
|
人工智能 云计算
AI Earth作为一个基于AI与云计算的地球科学计算平台
AI Earth作为一个基于AI与云计算的地球科学计算平台【1月更文挑战第16天】【1月更文挑战第77篇】
38 3
|
4月前
|
Kubernetes 持续交付 云计算
云效是一个强大的云计算平台,提供了许多高级功能和工具
云效是一个强大的云计算平台,提供了许多高级功能和工具
37 2