I just returned from attending the Gartner Research Application Architecture, Development and Integration Summit. One of the key themes at this event was the rapid adoption and evolution of Cloud Computing and a reaccuring theme was how SOA is contributing to the realization nof Cloud solutions -- both Services and Platforms that are becoming ready for prime time. Also, recently, in the eBizQ SOA Forums, the question was asked "What are the Top Issues Companies Face as Cloud Computing and SOA Converge?" This topic - SOA and Cloud - may sound like a technical discussion but I believe it's well worth discussing in the context of business and IT alignment.
Keeping with the spirit of IT-Business alignment, I'll risk stating the obvious. I'm assuming that any significant decision to invest in the adoption of SOA as a key architectural approach for delivering IT solutions, or to adopt a model of cloud computing is based on a desired business-driven outcome and supported by underlying IT execution. In other words, I do believe a majority of IT organizations are avoiding the pitfall of "technology for technologies sake". Business-driven initiative examples may be to make IT more agile in rapidly responding to business requirements driven by customer requests or compliance requirements, or to more quickly enable a new IT capability that will bring competitive advantage to the business while aligning with longer term IT architectural strategies.
However, the buzz is so loud right now around SOA, Cloud and what the two have to do with each other that I want to dive into some specific thoughts of mine on the subject at the risk of sounding like a technology discussion. I'll start by paraphrasing and adding to my previouls response in the eBizQ forum question. I actually broke the forum question into two parts:
1. What is meant behind the statement "cloud computing and SOA converging"? and
2. What does one imply to the other?
When I hear cloud computing and SOA converging it's kind of like saying a looming rain storm and a forecast for large surf are converging --both will impact my day on the beach and both may amplify the felt effects of the other, but one does not take the place of the other. In my opinion, SOA is being adopted widely in the market, with or without cloud, as SOA is an architectural approach that makes sense for certain infrastructure and application projects. (note that I said "certain", while SOA is being widely adopted, it doesn't make sense for all solutions as, as Gartner Research stated at the conference, building solutions based on SOA brings a cost premium of approximately 20%. That said, the costs are offset by the benefits that come with agility and re-use for solutions that require such... food for another blog)
David Linthicum puts it well in a recent post on his Real World SOA blog: Moving to the clouds or already there: "SOA is a pattern of architecture that's more about what you do than platforms and technology that you're looking to leverage. That is a fundamental truth that many have missed, and SOA will always be an approach that leads to more agile and efficient architectures. In other words, SOA will always be systemic to do good architecture, which will be independent of evolutions of technologies going forward, including cloud computing."
In addition, I fully believe cloud is going to happen (yes, it will survive the marketing hype machine), as it's a delivery style and business model for sourcing applications, infrastructure and platform capabilities that also makes economic, time-to-service, and core vs. context (to paraphrase Geoffrey Moore in Dealing with Darwin) sense driving certain business outcomes. And, there are key practices we can leverage from SOA and aspects of SOA methodology that significantly help IT in the development, delivery and management of cloud-based services. SOA has the potential to make the integration of existing data, infrastructure and applications with newly provisioned cloud services much easier to initially implement and more change resilient. SOA also has the potential to help with on-going consumption of cloud services via governance and management. The notion of becoming a "service provider" can only help IT continue to deliver what is demanded by the business while changing the ways in which they deliver it without disruption!
Joe McKendrick, in his Service Oriented Blog titled: Anne Thomas Manes: SOA can be resurrected, here's how reports on Anne Thomas Manes of Burton Group's presentation at the International SOA Symposium in Rotterdam and supports these thoughts: He quotes Anne in observing that current cloud computing initiatives bear a striking resemblance to SOA efforts. "All the discussions I hear about cloud are the same discussions we had about SOA four to five years ago," she says. "How are applications in the cloud going to talk to the applications back home without intrinsic interoperability?" The bottom line in my opinion...SOA is good for cloud.
Now, I'll move onto the second point. What does one imply to the other? The industry is proving that we see better outcomes when we put in place a way to govern the creation and consumption of services in the context of SOA. Governance helps with consistency of implementation through adoption of standards and best practices, reduces interoperability issues, eases integration and lowers on-going maintenance costs. Governance also supports visibility to reduce redundancy across distributed teams, lowering applications and maintenance costs and helps with tracking and management of service use or consumption, ensuring that IT can proactively keep applications performing and delivering against end-user and business expectations.
What happens when we take these concepts and apply it to the cloud? Cloud providers may offer up their services to many different types of customers (consumers) under different sets of business and technical expectations. And, the impact of shades of compliance to these expectations may be minor inconveniences or major, revenue impacting results (loss of customers, legal implications, financial penalty, loss of brand credibility and so forth). Having in place a system of governance for all the different levels of consumption and to manage the different aspects of service delivery against explicit or implicit contractual expectations will be key to any cloud provider that wants to scale beyond the scope of WYSIWYG gadget provider. And getting that service which can "infinitely" scale is one of the fundamental reasons to adopt a cloud-based service..
Quoting Joe McKendrick again, in the following blog in Service Oriented titled Survey: cloud interest grows triple-fold; cost may not be main factor A new study commissioned by Avanade shows a 320% increase over the past nine months in respondents reporting that they are testing or planning to implement cloud computing. Avanade claims this is the first time a survey has documented a global embrace of cloud computing in the enterprise.
Joe goes on to speak of the need for IT to embrace a service model for preparing for Cloud and also SaaS in the enterprise: "Speaking of greater flexibility and agility, the Avanade survey suggests that the service model is taking over as the prevailing IT value proposition. As Avanade puts it, the "online services model is beginning to fundamentally change how IT services are consumed and provisioned in large organizations. More than half of respondents report that they are currently using Software as a Service applications. In the
So what does this have to do with aligning business and IT? IT is embracing models such as SaaS, Cloud and SOA for applications to become more responsive and to optimize their resources for better business results. The time is now to think of the benefits of applying a SOA-based approach to cloud and SaaS as you look to on-board new applications and providers. Managing the consumption of services and applying governance will ensure that IT gets the results they need from all their services, whether internally delivered or sourced from the cloud.
A longwinded blog but this topic provides a lot of future food for thought. Let's continue this conversation and become more specific and prescriptive... How are you, as an IT person in the role of service provider or consumer of , applying SOA best practices and governance in cloud models? Let's hear from those who cut their teeth on the first chapter - ASP's and SaaS providers from the early 2000's. What does SOA bring that makes this round of cloud service providers' life easier and potentially a more mature experience for customers?
More to come...