SOA and the Cloud
Ryan Boyles 100000UX41 firstname.lastname@example.org | | Tags:  cloud amywohl soa
0 Comments | 2,744 Visits
The cloud is neither something totally new nor something old, but rather something that technology now enables us to do computing remotely in interesting and economical ways.
An important element at something that shakes up our ideas about how to do things is to know what we will have to do. After all, if the cloud is available but we have to rewrite every line of code we already have and insure ourselves that every application can be rewritten and run in a new environment, I doubt that we’d be so enthusiastic.
SOA – services oriented architecture – is the tool that will allow us to make the transition. Already well established, it allows existing software to be connected together and new software to be written in a way that will support the new environment – data centers, private, and public clouds – and every kind of user device from a desktop PC to a laptop, a net book, a tablet, or a SmartPhone.
SOA is all about thinking of solutions (or applications, if you prefer) as a set of services. The services that have already been written and tested need not be rewritten, but simply redeployed. This means new solutions can be achieved more quickly and more reliably. It offers the organization much more flexibility in assigning resources and prioritizing projects and it provides help in reducing the complexity of a modern computing environment.
Moreover, SOA changes the way the software will be used. Instead of coding each change, selecting configuration choices will emerge from the development process. While few applications can be developed today based entirely on configuration, we are moving in that direction. Much crisper interfaces allow services to be integrated more easily and support good behavior: if it’s easier to use existing services than to write new code (that does the same thing), developers are less likely to write new code, no matter how alluring that might seem.
Cloud computing seems to me to be a perfect marriage for SOA. Just as cloud computing permits the organization to outsource much (or all) of its hardware deployment and management, SOA permits applications to be developed by employing existing services rather than writing new code.
In a new IDC study (April 2011), SOA was listed as the number two technology necessary for success in the cloud (web services was number one), named by 38% of respondents. SOA can help insure not only that the applications will be built easily and flexibly, but also that they will stand up to the cloud environment, meeting availability and reliability demands.
SOA provides an environment which grounds the cloud application development process, whether for ISVs or enterprises, and is a critical factor in cloud computing success.
Recent studies indicate that 70% or more of Fortune 500 customers are using or plan to use SOA. With over 8,000 customer deployments, it is clear that many of these companies have based their SOA implementation on IBM SOA offerings and integration solutions. It has become the de facto architecture of the enterprise and of the cloud.
In a future blog post we’ll talk about how governance and SOA are linked and about some of the broader implications of SOA for cloud success.