Tuesday, December 28, 2010

SOA Composite for the New Year

For those of us who think in terms of "components", the SOA composite below sums up good wishes for the new year. Wishing you a fabulous 2011.

Saturday, December 11, 2010

History repeats itself... internet to cloud

When the internet moved beyond the hotmail phenomenon and become a serious contender in enterprise computing; there was the usual media hype about end of IT departments and the imminent move to internet based services. After almost two decades of enterprise grade internet applications, IT departments continue to run certain sets of applications while some applications have moved to the internet.

The value of in-house IT to maintain and run vital business processes was apparent with core applications being maintained in-house. These core applications moved from a client-server to an internet delivery model, but the "network computer" (although a great concept) never really took off. At the same time, internet based functionality provided a completely new level of access to applications, and created entirely new models of business and gave rise to yet unseen businesses (Ex: Webex)

Ultimately the internet was embraced by the enterprise where an appropriate blend of "intranet" and "internet" functions continue to co-exist.

In the cloud arena, similar hype is currently being played out. The end of enterprise IT is trumpeted by popular channels, with an "Everything-as-a-Service" model being proposed as the end-game. These propositions are similar to what the internet went through, and if history holds true, we will eventually end up with a hybrid mix of private and public cloud models of delivery.

The public cloud clearly has value as long as it not used as simply a cost-cutting mechanism. The private cloud would host the enterprise jewels, which would be too precious to host in a public space.

Thursday, December 2, 2010

Fusion Middleware design patterns

With the recent release of Oracle FMW 11g, the perception of the product has moved from being a "good" integration platform to being a robust application development platform. A recent book that caught my attention was Oracle FMW Patterns by Harish Gaur / Markus Zirn.
The book is based on 10 use cases and provides interesting guidelines on FMW patterns. Will provide more feedback once I have had a chance to read it cover-to-cover.

Monday, November 22, 2010

Business value from the cloud – Process Machines


Using the cloud as a Utility service has advantages. It enables computing on a pay-as-you-go-model. However, the advantages of Infrastructure/Platform are highly relevant to IT departments. From a business perspective this is still same old IT. The underlying delivery model may be different and the pricing may be attractive, but it does not bring any meaningful value to business operations, besides optimizing IT functions.

To make the Cloud relevant to the business, the pay-as-you go paradigm needs to be extended to business functionality. What if … business functionality could be enabled "on tap". A business function that currently needs to be designed and developed by the in-house IT team could instead be leveraged on-demand by a hosted provider of functionality.

In this scenario, the cloud becomes much more tangible to the business, as it provides the ability to enhance existing business processes, and use these enhancements on as as-needed basis. Of course, this concept applies equally to both private and public cloud environments. The granularity of the business function needs to be defined, but several industry examples are available:

  • Calculations based on federal standards that change regularly (Ex: FDA mandated formulae for calculating sugar content)
  • Widget functions that are regularly used (Ex: Geo mapping capability)
  • Complex but static business functions (Ex: Tax filing)
The ability to leverage functionality in a cloud based model is enabled by using a SOA based infrastructure in the cloud. The process/function is the utility that is made available. The infrastructure / platform are irrelevant from a functionality perspective. These pieces of functionality aka: PROCESS MACHINES are created as virtual images and are then deployed as one holistic unit. The diagram below lays out the concept and deployment model for these process machines:


Own / Lease / Taxi … Zip Car


Defining the utility computing model and explaining various layers and types of clouds has been an industry staple for a while. Attempts to define the cloud have been many, and they have been memorialized in the NIST definition as reproduced below:

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

A conceptual model for the cloud layers is as follows:
The definitions and descriptions although accurate and complete fail to provide a sense of realism. I was recently asked to make the cloud "real" for a group of business leaders and chose the metaphor approach to explain the cloud. In doing so I ended up extending the metaphor and stumbling upon a concept that can potentially further drive cloud adoption. The metaphor I used was the classic car-based analogy.
  
We start with the traditional ownership model where you outright purchase a car. You own the vehicle, and can choose the color, the trim and the accessories. The car costs you the same whether you keep it in the garage or drive it 12 hours a day. You are also responsible for the maintenance and insurance for the vehicle.


This is the on-premise model for traditional software, where-in you own the software, can modify it as you please and are also responsible for the maintenance of the software.

A more recent model for software delivery has been the hosted model. This is similar to leasing a car. You own the vehicle, can accessorize it within limits, and can drive it when and where you please. The maintenance of the vehicle is not your responsibility. However you are limited to how much change you can make to the vehicle. For ex: You cannot change the color or add additional trim to the vehicle.


This model reduces the amount of ownership you have for the software, but it also lowers the maintenance overhead. As a business you start leveraging the software for the business function it offers without having to get overly involved in the maintenance of the application.

If the intent is simply to get from place A to place B and you do not care about what you drive and how the ride feels then using a taxi is an ideal solution. You use the taxi to get where you want. You pay for the time that you use the taxi, and have no ownership and no maintenance overhead. This is the cloud model for service delivery.


Granular pieces of functionality are leveraged on demand, and you pay for what you use. This is a highly efficient model for leveraging specific business functionality. There is no ownership and no maintenance overhead. Also you get what is delivered, and have no control over the structure of the services, and have to adapt your business processes to accommodate these services.

What if…. You liked the on-demand model of the cloud, the pay-as-you go convenience of the cloud, but still wanted the ability to customize your experience. Essentially you wanted a taxi, BUT wanted to choose the model of the taxi… AND you wanted to drive it. You wanted all of this for short periods of time and did not want to have any of the liabilities that come with ownership. This is possible, and in the "car" analogy is provided by the Zip car providers in major metro cities.


  This confluence of pay-as-you-go with the flexibility of limited ownership is provided by layering a SOA based approach in a cloud environment. This approach provides for a pre-built process on the cloud that can be further orchestrated to work with existing business processes.

Wednesday, February 17, 2010

Mental Note - Cloud Examples

Type

Acronym

Example

Infrastructure as a Service

IaaS

Amazon - EC2

Platform as a Service

PaaS

Salesforce - Force.com

Software as a Service

SaaS

Google – Google Apps


 

Credit: Aaron Levie – CEO Box.net (link)

Tuesday, February 16, 2010

SOA Governance and AmberPoint

The tools and skill sets required in designing a SOA based system, are quite different from maintaining the same system once it is operational. This is different from traditional systems where the skills and tools to develop and maintain an application remain the same.

A SOA based system interacts with multiple applications and crosses multiple middle ware platforms. Tracing a transaction from source to destination is complicated. It is especially opaque when a transaction does not complete, and it needs to be traced to the point of failure.

Embedding "hooks" within the SOA code to help troubleshoot transactions is one approach, albeit expensive in terms of coding and maintenance. Several error handling frameworks have been developed to overcome this fundamental complexity of a SOA-based system.

Oracle's acquisition of AmberPoint is a good step forward in providing a comprehensive tool based approach to SOA Governance. It would be ideal if the tool is left as a stand-alone option without getting embedded into the Oracle Enterprise Manager product suite. A good UI with a solid set of well documented API's would go a long way in reducing the maintenance overhead if an operational SOA system.

Alliances in the Cloud

The cloud based approach necessitates a partnered approach.It is difficult for a single provider to have the breadth and depth of expertise across all cloud layers (infrastructure / software / functionality) to provide a meaningful service offering.

The 2 teaming agreements in the last couple of days highlights this approach:
Fujitsu + Canon - Provides a cloud based print offering.
Fujitsu + MindTouch - Provides a cloud based scanning solution

The rapid pace at which service providers are partnering to provide best-of-breed offering adds credence to the value that cloud computing provides.

Wednesday, January 13, 2010

Why Larry hates the term "cloud"

Larry Ellison is hilarious in this clip from his address to the Churchill Club. The key take away is the comment: "Our industry is so bizarre, they change a term and they think they have invented technology."

In Larry's opinion network computing is back and now instead of being called "SaaS" or "On Demand", it is called cloud.