Saturday, December 12, 2009

SOA +

Those were the days when we as Architects have to put effort on planning deployment architecture. Usually, in a typical System Architecture Definition document, ‘Physical View’ or ‘Deployment View’ will be one of the 4+ 1 views. Arriving at deployment architecture with the exact no. of infrastructure components like Servers, SANs, routers & switches, networks capable of handling a pre-defined bandwidth etc requires a series of activities that include capacity planning exercise, stress testing, load profiling analysis etc.

‘Application Agility’ is the driver behind many SOA and BPM initiatives. Applications were architected based on Service Oriented Architecture to respond to the changes in business rules or business processes because of market situations & regulatory compliance requirements, But ‘Application Agility’ will not alone provide true agility. Change is not only confined to business process / rules. Another dimension is ‘Volume’. Suddenly there can be a spike in no. of users buying products or browsing a web application. That type of change will pose a different challenge. An application architected based on SOA cannot respond to that type of change, unless it is deployed on appropriate infrastructure. That too, if the volume increase is beyond the estimated numbers that are considered during capacity planning exercise, then application will tumble. So, if there is a mistake happened in the capacity planning exercise or if the volumes are under estimated, and then there will be a business breakdown. Unless we have a capability where infrastructure components will be available even when the application faces unexpected demand so that it will survive under such peak loads, we cannot avoid applications breakdowns. That capability can be called ‘Infrastructure Agility’, where infrastructure will be available on demand.

With the advent of ‘Cloud computing’,   Infrastructure Agility can be easily achieved. Like SOA, Cloud computing achieved top buzzword status. In Aug’09, search for “cloud computing” returned 92 million hits!  In the context of cloud computing, the activities like capacity planning or even the role ‘Infrastructure Architect’ may cease to exist!

To assess an enterprise’s maturity in terms of SOA, we have many SOA maturity models provided by the product / platform / IT service vendors like IBM, Sonic, Pega, Infosys and Collabera. The highest level indicates that enterprise’s services are optimized and are well suited for partner integration. In the light of availability of cloud computing, one more level can be added which would indicate about enterprise’s capability in terms of deploying services in a cloud environment and leverage its benefits. They can be marked ‘SOA+’.

There are many vendors playing in the cloud computing arena: Microsoft, Google, Amazon, Akamai, Rackspace, Enki, Terremark etc.

Beauty of Microsoft’s Windows Azure is its capability to leverage existing expertise of .Net folks on Visual Studio. There is no any extra learning curve for the guys who know to do development based on visual studio. They can leverage their existing skills to develop cloud aware applications & services. This makes Windows Azure more attractive both from developers’ perspective and also from enterprises perspective.

Let us hope to have more ‘Windows Azure’ days.

Wednesday, December 2, 2009

Models & Maturity of an Enterprise

When it comes to embarking a larger initiative in an enterprise, it will not fly high unless it has a good, concrete buy-in from different stakeholders, especially from business. Whatever may be the approach either it is EA or SOA based initiative, business stakeholders should be convinced with proper justifications. 

In addition to business metrics oriented reports, if we use models extensively, it will also help in making stakeholders clearly understand what is planned to be achieved through big initiatives. Models also play a vital role in bridging the execution gap between strategy & operational infrastructure. Models will help in ensuring that the strategy that is envisioned is executed; it is transformed in terms of processes & operations.

Assessing the maturity of an Enterprise – in terms of business / technology, against the industry standards/benchmarks will be key driver for arriving at a strategy. Usually maturity models are considered to be the representation of standards / benchmarks. Different levels in a maturity model bring a quantitative dimension. One such maturity model is depicted here :