Archive for June, 2009

Historical engineering patterns can predict the future of cloud computing, SaaS and SOA

Monday, June 29th, 2009

I’ve been thinking about some examples of the correlations between the engineering of hardware versus software.  Because the engineering processes themselves have matured along different paths, there are some historical patterns that can be used to predict how some future innovations could unfold, in particular some of considerate interest at the moment, such as cloud computing, SaaS and SOA.  For over a decade, when an engineer designs hardware through schematic capture, the AND and OR gate level isn’t the only area an EE lives in.  Long ago, the art of loosely coupled components accessible from libraries was mastered in the design of an ASIC (Application Specific Integrated Circuit).  As a result, most ASIC’s are built as a composite of a bunch of reusable components, and it works really well.  Each component has a precise behavior with defined inputs and results.

With the advent of SOA, the world of software is finally realizing truly reusable, loosely-coupled components from registries of services.  SOA provides the architecture for the realization of this, allowing the development of software applications to behave much the same way ASIC development has for a long time.

Perhaps another pattern can be leveraged to assist with peering further into the future.  The assembly and distribution of computing hardware is bound to change as cloud computing becomes more pervasive (people buying computing cycles today, instead of hardware, for instance).  The utility model for computing (CPU-as-a-Service) is already here, as well many canned-applications in a subscription model (the salesforce-flavor of SaaS model).  Still to come (following the hardware pattern) are components-as-a-service or whole composite applications made-to-order.

For example, consider how Dell delivers hardware (you order your computer, configure it on line, and buy it there… in a week you have your custom-computer) versus how IBM and others distribute hardware (more like a retail scenario, you see something on the shelf that’s close enough, and you place an order to obtain it).  The procurement model and on-demand configuration model of Dell is likely a pattern for how software may be delivered, (application vendors to look more like orchestrators of made-to-order composite solutions using pre-built software components).

Since this on-demand model is provided through the web, it fosters more collaboration with the vendor, forcing more rapid iterations and better quality offerings.  Integration between components is getting easier and will continue to do so (through standards and industry collaboration such as Web 2.0, Enterprise 2.0, SOA, etc).  The mega-installation projects of the past are coming to a conclusion at some point in the future in lieu of composites due to the visibility composite yields relative to its parts.  And, lastly, the business users can finally be more involved in building the solutions they require due to loosely coupled component maturity.

SOA in the Clouds

Tuesday, June 16th, 2009