Cloud offering its computing technology on service based architecture has key features i.e. elasticity, self service provisioning, standard interfaces and pay as you go. This type of functionality requires the cloud to have the foundation level that is well designed and well architected.
The service and cloud structure should be built on modular architectural approach that enables flexibility and reuse. Service Oriented Architecture(SOA) is used as technological and methodological approach for cloud solutions.
Service Oriented Architecture works as a collection of services and communicates as well co-ordinates with each other. SOA provides a way for people to use services, such as web based applications. The web services that uses SOA supports machine to machine interaction over a network. So Web services or cloud services provide us with certain architectural characteristics and benefits - specifically platform independence, loose coupling.
SOA is not just an architecture of services seen from a technology perspective but the policies, practices and frameworks by which we ensure the right services are provided and consumed.
Cloud services benefit the business by taking the best practices and business process focus of SOA to the next level. These benefits apply to both cloud service providers and cloud service users.
This approach lets companies leverage existing assets and create new business services that are consistent, controlled, more easily changed, and more easily managed. SOA is a business approach for building business applications that implement business processes or services to deliver a well defined level of service.
Never confuse SOA with Web Services. Web Services are about technology specifications whereas SOA is a software design principle. Few benefits of SOA includes better reusability of existing assets, lets you create applications that can be built on top of new and existing applications, it enables changes that happens in service implementation without affecting the clients or service consumers, supports individual upgrades rather than rewriting the entire application and also provides better flexibility in building applications.