In the report, entitled “The Top Five Changes for Application Development in 2010” by Forrester, the authors write that a tide of developer technology populism will continue to surge, and that program managers and enterprise architects should avoid treating developers as “a bunch of chaotic critters that must be fenced in for their own good.”

Lets face it, whether it’s a facebook application, an iphone application, or a suite of Websphere, JBOSS, or Spring-enabled Java applications, the application is what drives the business. As private PaaS platforms evolve, a marriage will occur between IT and Application Development. I believe IT staff will begin to bring on more application developer talent and domain expertise.

When talking to the CIO of VMware, Mark Egan, he’ll admit that his ability to better serve his “customers” is to understand their language and their needs better. He believes that he can do this by bringing more application development domain expertise into his IT group. I think he is absolutely right. And his vision is exactly where the IT industry in general needs to move. It’s one thing to talk to your application development teams on a regular basis. It’s another to hire application domain experts as part of the IT organization chartered with building up a standardized PaaS platform which automates the design, development, test, QA, staging, and production of critical business applications.

It begins with decoupling Application from Infrastructure

Lets use the example where the application is segmented into three tiers: 1) database tier, 2) application logic tier, and 3) presentation tier. The application is then mapped to a scalable and elastic infrastructure consisting of load balancers and compute nodes with associated storage and networking.

Now, how can we enable the application developer with an environment which allows them to create applications that operate regardless of how the infrastructure is configured? We need a metastructure which consists of a simple declarative language that defines the application requirements in terms of: 1) node size, 2) virtualized or non-virtualized platform, and 3) physical region of the application. Then let the private PaaS determine which resource pools in the cloud need to be provisioned.

Take the example of 1800flowers above. We have a number of web servers, “800-web-servers”, operating initially on three small VMware virtual machines in the US, China, Singapore, and India. Then the application servers, “800-app-servers”, consist of three medium sized Oracle OVM virtual machines (which consists of a dedicated pool of OVM servers at corporate). Lastly, the database tier operates on a bare metal cluster.

This type of configuration supports an application environment where the application tiers can move based on resource pool availability seamlessly. The critical parameters are defined using a declarative language which transcends the current methods where application and infrastructure are intertwined (traditionally, any changes to the infrastructure require changes to the application and visa versa.)

My crystal ball shows a future where the CIO and staff figures out how to truly enable application developers and works to provide them the ability to control how the infrastructure is used without having to understand any of the details….and in a more direct on-demand, usage-based model. This is truly the power of cloud.

Subscribe

About Jim Kaskade

Jim currently leads Janrain, the category creator of Consumer Identity & Access Management (CIAM). We believe that your identity is the most important thing you own, and that your identity should not only be easy to use, but it should be safe to use when accessing your digital world. Janrain [...]more →