Channels ▼
RSS

.NET

The Many Flavors of Platform Services for Cloud Computing


Ken North is an author, consultant and industry analyst. He teaches seminars and chaired the XML Devcon 200x conference series, Nextware, LinkedData Planet and DataServices World 200x conferences.


Paradigm shifts in computing are sometimes marked by organic growth as new platforms and tools pop up. So it is with cloud computing as Platform-as-a-Service (PaaS) solutions help accelerate adoption of the cloud model. Without a capital outlay, PaaS enables developers to create social, business and other applications and enables independent software vendors (ISVs) to create Software-as-a-Service (SaaS).

PaaS solutions have particular appeal for startups, projects with ambitious deadlines, and organizations with a limited budget for capital expenditures. PaaS can remove the capital expenditure roadblock without the burden of diminished functionality. The richness and variety of development environments is one reason the PaaS model has appeal for system integrators and developers, particularly those building web applications. Suites such as SAP and Epicor will undoubtedly increase cloud adoption among business users, but PaaS has much to offer today to those who are building and integrating systems. PaaS users can create custom solutions and make full use of business process modeling, workflow tools, object modeling, data modeling and packaged applications.

Developers whose expertise is Service Oriented-Architecture (SOA), Web-Oriented Architecture (WOA), enterprise or Windows application development can find a cloud solution that lets them leverage their expertise. They can host existing tools and applications in a private cloud or use a cloud infrastructure provider such as Amazon EC2 and Terremark vCloudExpress. Some may choose the PaaS option because it can provide a rich tool set without a large capital outlay. PaaS can take several forms, including platforms for creating social, enterprise, database, analytics, reporting, office suite integration, and other applications. Companies such as NetSuite and Salesforce.com first released a SaaS product and then followed up by offering the underlying platform as a service. Other PaaS offerings include Aptana Cloud Connect, GigaSpaces XAP, Google AppEngine, LongJump, Microsoft Windows Azure, Rackspace Cloud Sites and Zoho Creator.

With a variety of application suites, development platforms and deployment environments, PaaS provides a range of choices for the public and private cloud. Some platform providers offer a catalog of existing applications and model-based or template-based creation of new applications. Others offer suites for business process modeling (BPM), customer relationship management (CRM), or enterprise resource planning (ERP). There are platforms that offer proprietary technology for development and deployment and various PaaS providers offer a Java, .NET, and Web 2.0 development environment.

Salesforce.com and LongJump are enablers of multi-tenant application development, with technology for application design, visual layout, modeling, workflow, integration and data sharing. Oracle offers a platform for SaaS, with software that enables an independent software vendor (ISV) or system integrator, such as CSC and Wipro Technologies, to offer the Oracle stack as a service. Oracle On Demand is more SaaS than PaaS, with application suites such as PeopleSoft, Siebel and J.D. Edwards. But it's possible to provide customization for Siebel CRM, for example, by developing gadgets similar to Web 2.0 mashups. NetSuite offers CRM and enterprise resource planning (ERP) suites online and its PaaS offering is base on its standards-based Business Operating System. Developers can use JavaScript when creating applets or suitelets. Like Salesforce.com, NetSuite licenses Progress DataDirect middleware to provide connectivity to the disparate data sources in its suites.

Notable differences between traditional enterprise computing and cloud deployments include elasticity, location independence and multi-instance or multi-tenant applications. Servers can be located in different locations, even different geographical regions and an application doesn't know the location of resources it uses. Implicit with a robust cloud application is elastic processing power and storage, load balancing, server failover and running in a virtualized environment. There are web services APIs for invoking cloud services and tools for monitoring applications in the cloud. Multi-level security should be integral to the architecture of cloud applications that require access to confidential data.

Beyond those defining characteristics of a cloud application, complexity, integration and run-time environments can vary. Some developers are doing ad hoc projects marked by little or no integration with disparate applications, services and data sources. For such projects, a developer might need only a minimalist PaaS for developing web (JavaScript, PHP, Perl, Ruby), Java or .NET applications. Building industrial-strength applications or an SOA for the cloud calls for a feature-rich PaaS with data modeling, process modeling, web services, workflow, collaboration and a services bus.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video