You are on page 1of 6

Issue LXXXVII November/December 2014

The Importance of SOA to Cloud Computing


by Gabriel Amorim
Introduction
Increasingly, SOA and Cloud Computing are assuming more prominent roles in large organizations for the purpose
of operational efficiency and cost reduction. These technologies already left behind the status of emerging
technologies to consolidate as mature and proven technologies. It is evident that a growing adoption of serviceoriented architectures and cloud platforms is taking place in all market segments. However, little is said, in fact,
as SOA and cloud computing are related. Are SOA and Cloud Computing approaches complementary to each
other, or should they be used separately? This article will clarify how these technologies are related, beyond
the advantages of adopting them together. But before you consider having an IT solution that is SOA- or cloud
computing-based, we should conceptualize what they mean.
Cloud Computing provides an abstraction layer between computing resources and its technical implementation
details, such as its servers, databases, and networks, in turn enabling computational resources to be used on
demand while avoiding efforts in infrastructure management.
In recent years, Cloud Computing is no longer a conceptual model and has become a model adopted by various
organizations. Cloud Computing is a broad term that involves virtualization, software, platform- and infrastructureas-a-service on demand.
Currently, most large organizations still have their own IT infrastructures. However, with the various possibilities
offered by cloud computing, this is no longer necessary. With the use of both hardware and software resources
on a large scale, providers are able to provide all the necessary processing power at a much lower cost than
could be achieved by any organization individually. Furthermore, especially in cases where the use of storage
resources and processing vary, it is advisable to use Cloud Computing. This model has been defined as utility
computing, which is delivered to users at their need. [REF 1]
SOA is an architectural pattern for the development of distributed systems that transforms resources into software
services. Benefits like increased agility and cost savings are already clear for companies around the world, and
inevitably, SOA will be the dominant architecture in most large organizations. The adoption of SOA today will
improve how IT is able to meet business in the future.
SOA and Cloud Computing can exist separatelyneither depends on the other. However, they are complementary
and can be very helpful to each other.
Cloud Computing provides a very flexible and scalable platform through processing external services, and not
only offers advantages such as low cost, but also provides the ability to connect with customers, partners, and
suppliers, as never seen before.
However, without SOA, organizations will face difficulties in using Cloud Computing because of the fact that the
applications do not have a solid architectural foundation. The complexity of migrating to the cloud environment
will be too great, both conceptually and physically. The high scalability of Cloud Computing comes up against the
application architecture and infrastructure available.
To analyze the importance of SOA in the Cloud Computing environment, this paper is organized into three
topics. The first presents the characteristics and difficulties of Cloud Computing, with an evaluation of the main

Copyright Arcitura Education Inc.

www.servicetechmag.com

Issue LXXXVII November/December 2014

difficulties in implementing this approach. In the second topic, the presentation of the features and benefits of
SOA is made, explaining the strengths that the adoption of this architecture brings to the company. Finally, the
third topic shows the combination of these two technologies in obtaining a complete service solution.
Characteristics and Difficulties of Cloud Computing
Most companies evaluate or have already evaluated the ability to migrate their infrastructure to the cloud, and
many executives and infrastructure managers are excited by the benefits of Cloud Computing. Louis Columbus,
quoting results from Gartner Research Group in his article for forbes.com, says that the growth of infrastructure
services in the cloud reached 18.5% in 2013, and the average growth through 2017 will continue at around 18%.
[REF 2]
Cloud computing brings many benefits to a company, the main one being a decrease in cost and in the responsibility
of maintaining the infrastructure necessary for the operation of the company. The cost and responsibility are
transferred to specialized companies.
In an article for the Financial Post website, Karen Atkinson says that for small and medium businesses, the payas-you-use approach is much more attractive than install-and-own. [REF 3] However, both the Karen Atkinson
article and any other literature about cloud computing is possible to see warnings about the risks of migrating
a proprietary infrastructure for cloud infrastructure. These risks vary mainly between information security and
change management. The job of managing your own infrastructure no longer exists, but it becomes necessary
to manage the relationship with your supplier.
Among a lot of obstacles to implement projects of Cloud Computing there are three that deserve special attention:
1. Standardization of APIs: Due to the short time of existence there is still no standardization of APIs, so each
migration adopts procedures who think more appropriate at the time.
2. Vulnerability: Security in data traffic is always a critical threshold, but the migration to Cloud Computing
adds even concerns about the physical sharing of applications and data with other companies.
3. Cost: Migrate servers to Cloud Computing is not cheap, requires much time and specialists staff.
Besides these, another great difficulty in migrating to a cloud infrastructure is related to the maturity of the IT
architecture of the current organization.
Organizations that have no well-defined architecture often have difficulty even with simple maintenance or
updates to internal systems. This low level of maturity generates several difficulties, and companies in this
category will certainly not have a smooth transition to the cloud computing model.
Features and Benefits of SOA
SOA is a software architecture that determines the features that make up an application and should be made
available as services that communicate with each other through messages. That way, applications can be
developed into small parties, facilitating management of development teams. But SOA is more than thatit is a
robust architecture, focused on the integration of systems, whose main benefits are discussed below:
Integration between different platforms: With exchanging XML messages between services is possible to
integrate different platforms, such as Java and PHP. The XML language is widely used for data exchange,
XML is basically a text file with the data and its meta-information tags.

Copyright Arcitura Education Inc.

www.servicetechmag.com

Issue LXXXVII November/December 2014

Low coupling: As services are developed to meet a specific demand, the level of cohesion is relatively high,
so a program developed for SOA is composed of several parts that are well defined to be accounted for only
as functions that operate independently.
Code reuse: The low coupling and high cohesion allow each service to be used in several different systems
without rework or large efforts of the teams involved.
Ease of construction and maintenance: Save time by reusing services and the possibility of change within
a point of the system; in case of future maintenance or errors, correction dramatically decreases the time
unavailability in the system.
Ease distribution of functionalities: Its necessary to disclose the service descriptor, and features will be
available to any developer who needs to use them.
The Importance of SOA to Cloud Computing
Once you understand more about Cloud Computing and SOA, the remainder of this article will focus on the advantages of using these two technologies together and why this union can provide a complete services solution.
If an organization is interested in Cloud Computing, SOA is especially important. The best and perhaps the only
way to prepare an organization to successfully exploit the cloud is transforming its IT infrastructure for internal
use SOA. [REF 4]
To take full advantage of a Cloud Computing environment, it is necessary to assess various requirements and
make many decisions. However, if the company is already working with SOA, most of these decisions have been
made and are working properly.
One of the benefits of adopting SOA is the ability to display horizontal services that span the entire organization.
When we think about simply virtualizing our current IT environment, we are thinking of expanding this horizontal
view of current services to an off-site server, reducing both costs and workload. Still, thinking about virtualization
SOA environment, we get a great profitability due to reuse of services, so that multiple people can use a service
while being in the company network.
By having a flexible and modular approach to the delivery of services, SOA is a basic element in the model of
cloud computing. While SOA and Cloud Computing reduce costs for corporations, their main advantage is the
improvement in agility it provides, allowing it to respond to the increasing rate of change that occurs in almost all
companies around the world. [REF 5]
SOA facilitates the deployment of software-as-a-service to be deployed in the cloud while cloud computing provides processing power on demand so that services are robust and flexible, giving organizations more flexibility
in time to meet the operational needs of the same.
The use of SOA and Cloud Computing together brings many benefits, and the implementation of applications
under the two approaches should be considered. But it is important to understand that while Cloud Computing is
an approach to infrastructure, nothing prevents SOA applications from running on corporate servers. However,
beyond the usual infrastructure costs, theres concern about the scalability of the platform.
Cloud Computing ensures infrastructure, including hardware and software, to applications while SOA ensures
the delivery of software-as-a-service, considering that the two approaches are complementary and difficulties

Copyright Arcitura Education Inc.

www.servicetechmag.com

Issue LXXXVII November/December 2014

are resolved by the benefits of the other and vice versa. While cloud computing provides options for deployment
and delivery of applications, SOA deals with the base architecture that makes it possible.
One of the main requirements for adoption of cloud computing for businesses is the guarantee of service as well
as the prices charged for these services. For this, SOA provides a standard process called Governance and
Services Management which serves as a basis for the virtualization of the IT environment.
The immediate benefit of combining SOA and Cloud Computing is time. Reaching out to the cloud for business or technology capabilities allows SOA initiatives to compress time to value. In the longer term, the benefits
include improved collaboration, customer satisfaction and business growth. By offering SOA-based business
capabilities to the cloud, businesses can improve interactions with business partners and existing customers,
and/or generate new revenue streams, says Brenda M. Michelson.
Among the technical benefits related to this combination, we can also mention the architecture of applications,
scalability, and development time from SOA to Cloud Computing. However, there are many other benefits that
are not only technical, but issues of governance and processes that make managing the environments more
connected with issues of corporate business through one of the requirements of SOA that is related to providing
improved governance and service management within a cloud environment.
Security in SOA
Along with the implementation of a Cloud Computing environment, there is a need for well-defined security
policies and access control. At this point, the policy of security and access control derived from the SOA
architecture will also increase the chances of success.
There are actions that can be taken to ensure that security risks are minimized when dealing with a serviceoriented environment. You can create policies that influence development patterns and the way the services
are consumed. Examples include mandatory username / password to access URL services, encryption of
data exchanged between the client and the server, and the joint work between developers and professionals
specialized in information security at development time to identify good practices and key standards to reduce
risks, among many other initiatives.
Furthermore, systems must be architected to exploit the advantages of public clouds with resilience. This
means that one should not simply transfer the applications to the cloud without due care. You must include
safety practices and proper recovery still in the process to operate in the cloud, and carefully evaluate the
clauses in these respects. In practice, the responsibility for risk management is shared between the cloud
provider and its customers.
BPM
The change in the business process becomes easier when we have the ability to put what will be changed over
time in a configuration layer. Cloud Computing platforms are placed where the processes and services reside,
so you can put what may change over time in a layer of the setup process and deal with things that probably
have not changed as services. For example, the launch of a new product to market can cause changes in the
pricing process, using processes we have the pricing policies in the configuration layer of a process so we would
not have to do maintenance on systems for this change. This makes the architecture be able to support a larger
number of changes, gaining more flexibility and creating more value to the IT organization.

Copyright Arcitura Education Inc.

www.servicetechmag.com

Issue LXXXVII November/December 2014

If well implemented, SOA creates a basis for management strategies of business processes, which in turn
influences the appropriate deployment of cloud computing. If the company is currently on SOA, have a way
designed to process architecture and information architecture, elements responsible for the foundation
technologies, and the integration.
Although SOA was initially sold for the reuse value it would bring or the ability to reuse services between the
various systems, one of the most important aspects of SOA is the ability to change business processes without
the need for major changes, testing, or implementation. SOA has the ability to promote a flexible architecture, or
an architecture that is constructed to change, with the following results:
Greater deployment flexibility with less expenditure of time.
Process management infrastructure that optimize the cloud.
New models of clouds, both public and private, to improve flexibility of process requirements.
Ease in understanding the distributed nature of the cloud, since it leaves completely visible and easy to
understand the processes of the organization that were migrated.
Cloud Computing is a solution for abstraction of physical resources, providing speed, processing power and
storage sized and flexibility for changes in the hardware architecture according to demand, while SOA provides
ease of software development, low coupling solutions and great possibility reuse of code.
Although both Cloud Computing as SOA have the possibility of independent use, the benefits of an integrated
architecture with these two solutions is shown as a largely favorable strategy in the categories of cost, speed of
development, ease of maintenance, and governance. This happens due to the unique characteristics of each
approach, which end up complementing each other. For example, cloud computing provides infrastructure,
development platforms, and applications-as-services, but without bothering to define the architecture and
management of applications. SOA provides guidelines, principles, and techniques to the development of services,
and strictly defines the architecture of service-oriented systems.
Disadvantages in the use of Cloud Computing without SOA are mostly related to security, management of services
developed, and breaking the paradigm of companies that do not have a culture focused on the reuse of code
and documentation. Among these issues, the latter appears more difficult to solve because the management of
features developed without SOA can become highly complex after a period of migration as the large amount of
services developed is likely that duplicate functionality or even maintenance impacting applications that share
the same service.
Each approach has its concerns and a focus on certain aspects of an IT solution. With SOA, we can make
managing cloud services implement and manage security policies and manage issues with business processes
concerns that are beyond the scope of Cloud Computing.
The combination of both approaches allows the company to focus their efforts on more relevant issues to the
business without giving adequate operation and without the organization losing flexibility in system maintenance
equipment, while allowing flexibility in the creation of new features.
Each of the presented approaches has values and utilities in different domains, as well as different problems.
But the use of both is critical to maximize quality in all aspects of an IT solution, in view of their complementary
characteristics to each other. As stated, Cloud Computing provides the infrastructure for an application and SOA
architecture and methods to manage the remaining issues for implementing the solution.
While it is possible to use either approach independently with reasonable results, both SOA and Cloud Computing
offer several implementation possibilities, and their union is one of them. The use of this solution depends on the

Copyright Arcitura Education Inc.

www.servicetechmag.com

Issue LXXXVII November/December 2014

current situation of the organization, as well as the maturity of the business and the team involved in the migration
of legacy systems. Due to the breadth of the subject, the aim of this paper was to obtain a reference that serves
as a starting point to begin further study in order to minimize risks and problems in case of implementation of a
SOA in the Cloud Computing model.
References
[REF 1] MULHOLLAND, A.; DANIELS, R.; HALL, T. The Cloud and SOA: Creating an Architecture for Today
and for the Future: HP, 2008.
http://www.hp.com/hpinfo/analystrelations/wp_cloudcomputing_soa_capgemini_hp.pdf
[REF 2] COLUMBUS, LOUIS. Gartner Predicts Infrastructure Services Will Accelerate Cloud Computing
Growth: Forbes, 2013.
http://www.forbes.com/sites/louiscolumbus/2013/02/19/gartner-predicts-infrastructure-services-will-acceleratecloud-computing-growth/
[REF 3] ATKINSON, KAREN. Cloud Computing: Why its good for your bottom line: Special to Financial Post,
2005.
http://business.financialpost.com/2012/10/18/cloud-computing-why-its-good-for-your-bottom-line
[REF 4] MULHOLLAND, A.; DANIELS, R.; HALL, T. The Cloud and SOA: Creating an Architecture for Today
and for the Future: HP, 2008.
http://www.hp.com/hpinfo/analystrelations/wp_cloudcomputing_soa_capgemini_hp.pdf
[REF 5] (ANDY MULHOLLAND, 2008; RUSS DANIELS, 2008; TIM HALL, 2008).
http://www.hp.com/hpinfo/analystrelations/wp_cloudcomputing_soa_capgemini_hp.pdf

Gabriel Amorim
Gabriel Novais Amorim is a software engineer certified in SOA (SOACP). He has worked for
5 years in large Brazilian companies as a developer. He is currently working on developing
SOA integration solutions in the telecommunications market and work daily on SOA solutions
developed in Java. The author is a techie in systems analysis and has an MBA in software
engineering. He follows with enthusiasm the development of the ideas that underlie service
orientation and is adept in the neutrality of technologies promoted by service-oriented
architecture.
Contributions
The Importance of SOA to Cloud Computing

Copyright Arcitura Education Inc.

www.servicetechmag.com

You might also like