Exploring Types of PaaS Environments in Cloud Computing
All Platform as a Service (PaaS) environments used in cloud computing aren’t the same. Vendors approach PaaS in a number of ways. Some platforms are intrinsically tied to an environment, whereas others are linked to a specific operating system. Other PaaS platforms aren’t linked to one cloud environment or one operating system. It’s important to understand the different approaches.
PaaS anchored to a SaaS environment
Some Software as a Service (SaaS) offerings have become core business services for their customers. Offerings such as Workday, Salesforce.com, and SugarCRM are replacing traditional on-premises systems of record.
To expand their capabilities and their brand, some of these SaaS vendors have created ecosystems that allow independent software vendors (ISVs) to develop applications on top of the vendor’s software. PaaS is what enables the ISVs to develop programs in the vendor’s ecosystem.
In the following list, each PaaS is anchored to a SaaS environment:
Force.com: A PaaS designed by Salesforce.com that allows customers to enhance their implementations by inviting ISVs into the Salesforce.com ecosystem. ISVs can sell their software directly to customers using their own channels or can rely on AppExchange, the Salesforce.com application marketplace.
Workday: Offers a PaaS specifically designed to help customers integrate applications with the Workday financial management and human resource SaaS solutions. Business users and IT developers can leverage services for building, configuring, testing, and deploying integrations.
Google App Engine: Allows ISVs to develop applications to work alongside Google Apps. The Google App Engine automatically scales — allocating additional compute power as more and more people implement an application. The Google Apps Marketplace allows users to search all the software that has been developed to work in the Google Apps environment.
AppScale: Offers an open-source cloud platform for Google App Engine and is maintained by the RACELab at the University of California, Santa Barbara. It can be deployed on both public clouds and private clouds. This allows organizations to run Google App Engine applications on their own clusters — utilizing unused on-premises compute resources.
Intuit Developer Network: A PaaS that allows ISVs to develop applications that integrate directly with QuickBooks, an on-premises and cloud accounting software aimed at small- to medium-sized businesses. Vendors can market their customized software through the Intuit Marketplace. The Marketplace gives end users access to software that enhances their QuickBooks implementation to fill niche areas for specific industries and circumstances.
PaaS tied to an operating environment
Tying a PaaS to an operating environment makes it easier to perform certain actions within that environment. Infrastructure as a Service (IaaS) providers have begun expanding their offerings up the software stack. Some no longer provide just the nuts and bolts (the operating systems, networking, and so on) but also give you the tools to create your application.
This approach makes sense if the customer is certain to use only a specific IaaS provider to run its applications and doesn’t require the depth of a dedicated PaaS provider. Companies like Microsoft and Amazon are offering their APIs and abstractions so that developers can build or deploy applications with this support.
Here are examples of PaaS tied to an operating environment:
AWS Elastic Beanstalk: A PaaS that Amazon offers for deploying applications on Amazon Web Services (AWS). Amazon doesn’t charge extra for use of its PaaS, but you must, of course, pay for the AWS resources needed to store and run your applications. Organizations using Elastic Beanstalk are able to auto-scale as demands shift. Elastic Beanstalk enables organizations to add a great deal of automation, while at the same time having overall control of the underlying IaaS resources.
Windows Azure: Based on Windows and SQL abstractions. Microsoft has abstracted a set of development tools, management, and services. For customers with deep expertise with .Net, the movement to the Azure-based PaaS is straightforward. The developer, in essence, ties the development and deployment to the Microsoft infrastructure.
AT&T Platform as a Service: Designed to easily deploy applications on the AT&T Synaptic Compute as a Service. Applications can be built from scratch on this platform or developed from already defined application templates.
IBM SmartCloud Application Services: An offering through IBM that allows organizations to run Java, web, and enterprise applications on their private cloud or on the IBM public cloud, IBM SmartCloud Enterprise. This offering is well suited for a hybrid environment because it easily allows deployment on a private cloud with the ability to transfer workloads to a public cloud as demand increases.
Open-platform PaaS is intended to promote an open process and environment that isn’t tied to a single cloud implementation. These PaaS vendors allow developers to bring their own platform to the cloud, which offers flexibility — but it can also add complexity and cost.
These platforms are well suited for a hybrid cloud environment because they allow deployment on both public and private clouds. Migration between clouds is eased by an open platform PaaS. These open platform PaaS offerings may support only one language or many — if you’re a Microsoft shop, for example, you’ll want to make sure the platform works well with .NET.
Here are several examples of open-platform PaaS:
Cloud Foundry: A VMware-led project for building, deploying, and operating cloud applications. Cloud Foundry supports a number of development languages, including Java, Scala, Ruby, and .NET. Cloud Foundry allows for development and deployment on a multitude of public clouds, not just the VMware public clouds — vSphere and vCloud. Cloud Foundry has seen increased adoption from public cloud providers, such as Hewlett Packard (HP).
OpenShift: An open-platform initiative by Red Hat. It supports Java, Perl, PHP, Python, and Ruby applications. OpenShift fully integrates the JBoss Application Server (AS) middleware layer into its offering.
Engine Yard: Gives developers writing Ruby on Rails and PHP applications a fully managed PaaS. Engine Yard can be used in conjunction with a number of public cloud providers, such as AWS and private clouds.
CloudBees: A Java PaaS platform that’s independent of the underlying platform and that’s intended to allow developers to cover the full application build, test, run, manage lifecycle, either on a public or hybrid cloud.
OrangeScape: A cross-cloud PaaS that’s targeted at nonprogrammers who want to create process-oriented business applications. Development is done through the OrangeScape Studio. Final applications can be launched in either a private or public cloud and can be easily migrated between clouds.
Apprenda: Gives organizations using .NET more flexibility. Instead of relying on Azure, developers can use the Apprenda PaaS to deploy .NET applications on any number of public clouds or on-premises.
DotCloud: Offers a multi-stack solution that allows developers to build applications in multiple languages. This gives developers greater flexibility by allowing them to choose different languages, databases, and caching and messaging components. Major scripts such as Java, Perl, Ruby, and PHP are supported.
CumuLogic: A Java PaaS vendor that offers a platform for both public and private cloud environments. CumuLogic includes cloud services automation, autoscaling, monitoring, resource management, and user management.