由于越来越多的PaaS(平台即服务)提供商,云计算作为无缝地部署应用程序的开发机制的作用更为突出。而IaaS提供商提供基本的计算资源,SaaS供应商提供如在线CRM等在线应用,PaaS产品为开发人员提供一站式服务,让他们的应用程序得以快速启动和运行,无需再关注基础设施的问题。
作为一种提供的服务,PaaS平台上运行包括开发工具、中间件、数据库软件等,任何开发人员构建应用程序可能需要的功能的“应用平台”。以下是外媒评出的,在云计算的趋势下,开发人员需要尝试利用好以下9个PaaS产品。
1、微软Windows Azure
Windows Azure让开发人员在微软管理的全球网络数据中心中部署应用,提供了99.5%正常运行时间的SLA。应用可以通过如ASP.net,PHP和Node.js.这样的技术开发,开发人员还可以托管Apache Tomcat和JVM,为Java 定制的Azure SDK将允许Java开发。微软最近还添加了视频服务Windows Azure Media Services到其Azure库。Azure还突出了SQL Azure数据库服务,用于存储,业务分析,缓存,身份安全通信和内容分发等服务。Windows Azure HPC Scheduler简化了计算密集型的并行应用程序的开发。此外,开发人员还可以在Windows Azure Marketplace上列出Windows Azure的应用程序。
2、Google App Engine
Google App Engine允许开发人员在Google的基础设施上运行Web应用程序。它具有动态Web服务,查询、排序、业务的持久存储,自动缩放和负载平衡。它支持Java和使用基于JVM的解释器或编译器的语言,以及Python和谷歌的Go。开发环境允许开发人员能够在本地计算机模拟App Engine。应用程序运行在一个限制底层操作系统访问的安全沙箱中,并且Web请求可以分布在多个服务器。数据存储方面,App Engine Datastore提供一个NoSQL架构的对象数据存储,Google Cloud SQL关系型SQL数据库服务,而Google Cloud Storage用于存储TB级的对象和文件。App Engine对通过身份验证的用户提供API。
3、VMware Cloud Foundry
EMC Vmware的开源的Cloud Foundry的定位,已经类似Linux之于云,提供应用程序跨云的可移植性的服务水平。据Vmware表示, Cloud Foundry不会将开发者锁定到一个单一的框架,一套单一的应用服务,或一朵单一的云。Cloud Foundry可用于公共实例和私人分发。它提供的一些特性,CloudFoundry.com为托管环境,CloudFoundry.org用于合作和促进该项目,而Micro Cloud Foundry是一个运行于Mac或PC上的Cloud Foundry的VM版本。 CloudFoundry.com支持Spring Java,Ruby on Rails,Node.js,和其他JVM语言。同样,支持CloudFoundry.org合作伙伴使用PHP,Python和.Net,和其他。
4、Force.com
Salesforce.com的Force.com是被誉为社会化企业应用程序的平台。开发人员可以构建应用程序,通过社交和移动功能、业务流程、报告和搜索。数据自动备份,应用程序运行在Salesforce.com的数据中心。它提供覆盖数据库、安全、工作流程和用户界面的技术堆栈。 Force.com支持的Apex编程语言,开发人员能够在UI层编写数据库触发器和程序控制器。Salesforce.com表示,Apex语法的类、常量和注释等功能,Java和C#开发者会很熟悉。
5、Heroku
在2010年年底被Salesforce收购的Heroku,支持Ruby、Node.js、Clojure、JAVA、Python、和Scala。Heroku利用“dynos” - 任何类型的进程运行于平台上,如Web或工作进程。Dynos被隔离在他们自己的贮存器以获得安全和资源保障;他们还具有弹性,路由选择和流程管理。DYNO通过多方面的执行环境分布。根据Heroku文档,Heroku网页缩放提供即时加速,无限容量,和为应用程序的每一个组成部分和比例。部署应用程序到Heroku,Git是为主要手段,应用程序可以使用关系数据库服务,包括Heroku的Postgres产品,Amazon Web Services(AWS)提供的MySQL。
6、亚马逊Elastic Beanstalk
Elastic Beanstalk为在Amazon Web Services云中部署和管理应用提供了一种方法。AWS服务,如Amazon Simple Storage Service(亚马逊S3云存储服务),Amazon Simple Notification Service,Auto Scaling,作为基础设施应用,支持PHP和Java编程。该平台建立如面向PHP的Apache HTTP Server和面向Java的Apache Tomcat这样的软件栈。开发人员保留对AWS资源的控制权,并可以部署新的应用程序版本,运行环境或回滚到以前的版本。CloudWatch提供监测指标,如CPU利用率,请求计数,平均延迟。通过Elastic Beanstalk部署应用程序到AWS,开发人员可以使用AWS管理控制台Git,或像Eclipse的IDE。
7、Engine Yard 云
Engine Yard的特色是提供一个Ruby on Rails的技术栈,其中包括Web服务器,应用和数据库服务器,同时提供一个Rails优化的Linux发行版。组件因安全漏洞而被监测,应用的范围从小型的Web应用程序,到大型企业高可用性集群上运行的应用程序。开发人员可以从Git导入应用程序,并提供一个定制专门的环境的申请。容量管理功能以自服务为特色,资源的使用被追踪,当需要额外的容量时提醒开发人员。Engine Yard的仪表板允许开发人员配置环境、应用程序部署和监控。
8、Engine Yard Orchestra
Engine Yard Orchestra建立在Amazon Web Services上,提供部署PHP应用到云中的服务。开发人员可以以流行的PHP框架构建应用程序,通过Git或Subversion部署。通过内置的内容管理系统,如Joomla,Drupal,和WordPress,应用也可以部署。核心平台是建立在PHP 5.3和Nginx Web服务器上。应用随着流量和资源使用自动缩放。负载平衡器分发负载于可用的实例,而HTTP缓存网格功能允许更快的加载和响应时间。根据Engine Yard表示,该平台的API,Web服务,移动和Facebook应用程序都运行良好。
9、CumuLogic
CumuLogic是为Java开发人员而准备。它提供一个运行应用程序,并将它们迁移到云上的平台。企业可以在自己的数据中心内建立PaaS私有云,或使用CumuLogic建立公共云产品。一个虚拟环境或IaaS可以转化为一个具备监控,自我修复和管理能力的应用平台。开发人员能够部署移动、HTML5、Web或企业应用,他们可以使用像Eclipse或NetBeans的IDE,而CumuLogic提供了部署和管理应用的管理层。CumuLogic为开发人员更好地合作而设计。