What is the relationship between Cloud Computing and Service Orientated Architecture (SOA)?
According to the publication from Mitre, Cloud Computing and Service Orientated Architecture (SOA), cloud computing has many services that can be viewed as a stack of service categories. These service categories include Infrastructure-as-a-Service (IaaS, Platform-as-a-Service (PaaS), Storage-as-a-Service, Components-as-a-Service, Software-as-a-Service (SaaS) and Cloud Clients. The following figure shows the service categories stack as depicted in the Mitre publication:
Service Orientated Architecture is a framework that allows business processes to be highlighted to deliver interoperability and rapid delivery of functionality. It helps system-to-system integration by creating loosely coupled services that can be reused for multiple purposes. The concept of Service Orientated Architecture is similar to Object-Orientated Programming where objects are generalized so that they can be reused for multiple purposes.
Now that we have an understanding of the various types of Cloud Computing services and Service Orientated Architecture, lets explore how Cloud Computing and Service Orientated Architecture are similar and different.
Similarities between Cloud Computing and Service Orientated Architecture:
- Reuse — Conceptually speaking, the idea of reuse is inherent both in Cloud Computing and Service Orientated Architecture.
- As needed basis — In Cloud Computing, the services are provided to the users on demand and as needed. Service Orientated Architecture is similar to this since the system-to-system services are on demand and as needed as well.
- Network Dependency — Cloud Computing and Service Orientated Architecture both require an available and reliable network. If a network does not exist then the cloud services provided over the Internet would not be possible. Similarly, if a network does not exist then the communications between systems would not be possible. Thus, both Cloud Computing and Service Orientated Architecture are dependent on a network.
- Cloud Contracts — In Cloud Computing, contracts entail the mutual agreement between an organization and cloud service providers. In cloud contracts, there is a cloud service provider and a cloud service consumer (the organization). In the case of Service Orientated Architecture, contracts are important and can be either external (e.g., Yahoo! Pipes) and/or internal (e.g., organizational system integration). In Service Orientated Architecture contracts, there are service producer(s) and service consumer(s) that are conceptually similar with cloud contracts.
Differences between Cloud Computing and SOA:
Despite the similarities between Cloud Computing and Service Orientated Architecture, they are not the same. Following are some of the differences between them:
- Outcome vs. Technology — In Cloud Computing, we are paying for the outcome but in Service Orientated Architecture we are paying for technology.
- External vs. External and/or Internal Point-of-View — In Cloud Computing, the services that organizations get are from external organization but in Service Orientated Architecture these services can be either from external organizations (e.g., Yahoo! Pipes) and/or internally (e.g., system-to-system integration between two or more systems).
- IaaS, PaaS, SaaS vs. Software Components — In Cloud Computing, the services provided can go up and down the stack but in Service Orientated Architecture the services are software components.
If you like what you read be sure to ❤️ it below — as a writer it means a lot
Stay in touch by subscribing to my blog here
Originally published at arsalankhan.com on July 13, 2015.