informa
/
Feature

Platform As A Service: What Vendors Offer

Web app development will move to online platforms, despite the trade-offs that approach often requires.
WaveMaker Studio
WaveMaker is an open source platform meant to let developers write the kind of interactive Web apps Ajax is noted for, without locking developers into using more of a vendor's technology. WaveMaker uses standard Ajax, which runs across browsers without modifications and isn't dependent on a vendor's database or other services.

It features drag-and-drop assembly using Ajax widgets, Web services, database services, and the Dojo Ajax toolkit of user interface components. It also includes a drag-and-drop interface for managing images and files, and data widgets connect enterprise data sources to browser actions. For client-server developers used to working with visual tools, it's a familiar look. The platform supports single sign-on based on the JOSSO standard.

WaveMaker claims it cuts two-thirds of typical development costs through time-saving features, letting developers complete a Web app by writing only a few lines of custom code. A just-announced feature will let apps built with Studio be deployed in one click through RightScale's cloud management software, making it easier to run them on different cloud vendors' infrastructures.

Engine Yard
Engine Yard is a cloud service from a 3-year-old startup that offers Ruby on Rails, an open source scripting language largely used for Agile-oriented development in the Rails framework. As an Engine Yard service, Ruby on Rails gets an architected environment where applications can be built using Gems or Ruby modules. For example, Capistrano is an open source module written in Ruby that's frequently used to distribute a repeatable task, such as logging in, over many servers.

Using Engine Yard, a developer can deploy a Rails application with one click onto a cloud infrastructure. Engine Yard--which counts Amazon among its investors--offers customers the option of using Amazon infrastructure services as their runtime environment, or an Engine Yard-managed cloud.

App Engine
The Google App Engine is a service set up to run a Python or Java application on Google's infrastructure. Applications running there will find that the Google grid automatically handles issues of reliability and scalability.

President Obama conducted a virtual town hall meeting this spring using the Moderator application on App Engine, and it handled 700 hits per second, registering almost 93,000 people and 104,000 questions. App Engine's appeal is that it's designed to scale up with consistent, fast user response times, so most apps on it will be externally facing.

But staying fast means sacrifices, and that might nix some enterprise development. Google bans standard relational database operations, such as SQL Joins, that invoke procedures across multiple machines of the Google grid. It also bans searches through an entire database, restricting a query to returning 1,000 rows.

Google doesn't apologize for making developers architect for GQL, its version of SQL, and Big Table, its database system. "When they do, they get incredible power and performance," says Chris Beckmann, a product manager for App Engine. Google App Engine runs a subset of Python, plus scripting languages Groovy, Ruby on Rails, and JavaScript that run in Java virtual machines. Google has no plans to add languages.

App Engine includes APIs for storing data and loading pictures into an application without further programming, and it recently added the Pub Sub Hubbub protocol to prompt Atom and RSS feeds, and near-real-time notices of new blog postings.

Blue Cloud
IBM has a broad initiative dubbed Blue Cloud, though it has been vague about how platform-as-a-service offerings will be part of that, and when. Some clues, however, lie in China.

For thousands of small businesses around the city of Wuxi, in eastern China, IBM is providing a shared online development environment that's part of an effort for the region to transition its manufacturing economy to services. IBM's also deploying a cloud platform for the city of Dongying, in China's oil-producing Yellow River Delta, that will serve as an e-government and business services platform, says Kristof Kloeckner, CTO of IBM cloud computing.

Some of the technologies IBM is implementing as cloud platforms in China will become beta versions of products in the next few quarters and generally available before the end of next year, says Kloeckner.

IBM envisions developers using cloud versions of Rational tools to more easily build a Web application that's supported by IBM's DB2 database and WebSphere middleware to manage scaling issues. For IT teams already using Tivoli for systems management, providing automation, provisioning, and monitoring in the cloud would be an extension of the familiar Tivoli management interface.

The development platform will offer "pre-defined deployment choices," says Kloeckner--meaning developers will eventually be able to create apps in any virtual machine image to fit the cloud infrastructure in which they'll be deployed. Initially, they'll be VMware images. Kloeckner says businesses expect to interact with customers using apps in public clouds but do transactions and collect sensitive data inside the firewall.

These vendors, with varying degrees of readiness, provide examples of development platforms in the cloud. Distributed software development is a natural activity for cloud-based development, as is building Web apps that will be deployed on cloud infrastructure, ready to scale up to hundreds of thousands of users if they attract users and meet with success. As they get established, these platforms are likely to offer more sophisticated services, with less painful trade-offs between automation and customization, making them the go-to place to build any Web app.

Continue to the sidebar:
The Risks And Benefits Of Platform As A Service