« Celtix Milestone 4 Available - RSS for Services Demo included | Main | Autonomous Orchestration »

SOA Adoption: Think Big, Start Slow, Scale Fast

At IONA's Sales Kick-off event in January this year I heard a phrase that I instantly liked. The phrase aligns exactly to what I think about SOA Adoption: Think Big, Start Slow and Scale Fast. No doubt this is probably not an original catchy phrase - even in the world of middleware. But it makes a lot of sense, especially post-Internet Bubble era.

It is amazing though how many organizations get caught either in the trap of analysis paralysis - where they can't start a project "as big as SOA", or in the big bang trap - where they feel that to adopt to an initiative like SOA they must do everything from the start and have all the pieces in place. In the former they never get started; and in the latter they either never get finished, or they finish in failure (the dreaded but all too common cancelled project).

SOA is a big investment that will take large organizations years to fully implement. Service enablement, registries, policies, high availability, security, transactions, etc. are all important architectural components for building large scale SOA implementations. However SOA adoption doesn't necessarily require large up-front costs. Implementing SOA can be, and in most cases should be, incremental. Too often we get into a bureacratic, "big government", approach to rolling out this type of initiative. And we all know how well most governments both budget and spend resources!

So let's look at this catch phrase a little closer.

  • Think Big - This is about the fact that organizations should have big dreams about how SOA can be leveraged in their organizations. There is little point in having small aspirations for deploying SOA. So even though I caution on the approach to adopting SOA, I am not trying to discourage having big ambitions for SOA. On the contrary, Think Big!
  • Start Small - In my Java != SOA (abbrev.) post I talked about some lessons learned developing successful service oriented applications using CORBA. In it I said:
    ... not all SOA implementations need all the details that we "experts" debate about in forums, on blogs and in standards bodies. These standards need to be discussed, defined and ratified for maybe the top 5% (if even that) of organizations that need them all. But there are lots of organizations that need only the basics to implement SOA. If their needs grow then the standards will be there for them but they don't need it all immediately. I think the comprehensive nature of the standards causes paralysis for those implementing SOA. We all need to tell the market to START SMALL!!! (even if you're big).
    Obvioulsy for mature IT organizations with well defined processes and a history of successful deployment, and with lots of well managed resources, one can start perhaps bigger. Start small is relative. The point here is that if SOA is so completely new to your organization, don't assume that you should or can deploy an entire conversion of all your applicaitons and business processes to a SOA. Also don't assume that you require entire SOA governance infrastructure from the start. Identify what is required to make your 'Start Small Initiative' successful while keeping in mind that it may be required to scale fast as it's success grows. E.g. you may not need a full blown service registry, such as UDDI, for your first initiaitive, but some thought as to how you will get there as your services grow is required. Don't waste time and resources on a registry until you have enough services to justify the investment.
  • Scale Fast - If the right amount of thought has gone into the Think Big process, which is always ongoing, then scaling your SOA will come much easier. Education on the enterprise qualities of service, SOA governance, and understanding how important scalable service enablement is, will help you make the right decisions that will allow you to scale later (or sooner). Remember that not all service enablement is equal. A simple Web services approach with SOAP/HTTP might seem fine today but it might not meet the performance and throughput requirements of tomorrow. Using a EAI type hub might have made sense with a handful of services and thousands of transactions a day, but with hundreds of services and millions of transations it just won't scale. For me, I see so much effort put into how we're going to manage and monitor our SOA - this is without doubt VERY important, but less thought into the enablement technology itself. But, as I learned from talking to many people over the years, if you can't get services enabled due to legacy technology or if the enablement technology is weak, then when success comes your services aren't ready for prime time. All the monitoring tools in the world will mainly just tell you "your deployment is stressed and unhealthy" and there will be little you can do, fast, to change that. And chances are it's going to cost you lots of money. Which is why the Think Big process is so important.

So how to proceed assuming that the current hype around SOA is real - that there are large cost savings to be made and time to market opportunities to be gained: Organizations should analyze some of the key business drivers for their companies and then examine where value can be achieved through SOA with an incremental approach. Look not just for "low hanging fruit" but also for high yield, high value fruit.

At IONA we've recognized that some of our most successful SOA deployments are ones that addressed high value/yield opportunities as a way of getting started. Opportunities that made significant cost savings and/or significant time-to-market gains. Hitting a home run early helps generate momentum for the next SOA rollout initiaitive. It feeds the Think Big, Start Small, Scale Fast engine.

TrackBack

TrackBack URL for this entry:
http://www.ipbabble.com/blog/mt-tb.cgi/34

Comments

Do you think industry analysts contribute to the problem of customers with analysis paralysis? If so, fix the analyst community...

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Who is IP Babble?

William Henry IP Babble is the personal blog of William Henry. I have over 16 years experience in software development and distributed computing and hold a M.Sc from Dublin City University. I'm currently a Technical Director and Enterprise Architect at IONA Technologies Inc. This weblog is mine personally and is in no way funded by IONA. I will try to post independent views but understand that most likely I have a bias based on the influence of working with standards based middleware for about a decade. (See disclaimer below)

Disclaimer

The views expressed in this blog are solely the personal views of the author and DO NOT represent the views of his employer or any third party.