Service-oriented architecture (SOA) and cloud computing to me are interesting topics from an architecture perspective.
SOA has the misfortune of having a name that has the architecture word in it. This was exploited by multiple vendors who would sell “a SOA” as a stack of infrastructure products, leading to a common misconception that SOA would provide the complete architecture for a system.
Fortunately, people are starting to accept and understand that SOA (or service orientation as I like to call it) is simply an architectural style that promotes interoperability and modifiability at the expense of other quality attributes such as security and performance. Any number of systems can be developed based on an architectural pattern, but it is the concrete elements and their interactions that really constitute the architecture of the system. In a way, this was also the point behind the controversial SOA is Dead blog post that also had the misfortune of having a bad name. The real message of that blog post was that we should not focus on SOA as a set of technologies but rather as a whole different mindset for architecting, implementing, and deploying services that add value to an organization.
Cloud computing is another interesting architecture topic. In my opinion, from a consumer perspective, cloud computing is simply an economic model—a different way of acquiring and managing IT resources. Unfortunately, it suffers from some of the same misconceptions as SOA; for example, that because the cloud resides outside of the organization, you don’t have to worry about architecture (“it comes for free, just as with SOA”). Cloud computing can also be seen as an architectural style; one that promotes scalability and availability at the expense of control over all system elements. Systems residing in the cloud or using resources from the cloud will have to be designed and architected to account for the inability to exercise full control over quality attributes that are important to the organization.
Both of these technologies have been at what Gartner calls the “peak of inflated expectations” of its hype cycle for emerging technologies. SOA is past that stage, but cloud computing is currently at the peak, just starting to come down to the ‘trough of disillusionment.” Cloud computing practitioners and researchers could largely benefit from the experiences of those who have lived through SOA hype and now finally understand the value of architecture in loosely coupled systems where there is often no control over all system elements—just like the cloud.
I really look forward to continuing these discussions at SATURN 2011.