The Importance of Cloud to Cloud Computing

Embed Size (px)

Citation preview

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    1/61 www.servicetechmag.comCopyright Arcitura Education Inc.

    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 efciency 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 service-

    oriented 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 infrastructure-

    as-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 dened as utilitycomputing, 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. Benets 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 wil

    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 exible and scalable platform through processing external services, and no

    only offers advantages such as low cost, but also provides the ability to connect with customers, partners, andsuppliers, as never seen before.

    However, without SOA, organizations will face difculties 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 rst presents the characteristics and difculties of Cloud Computing, with an evaluation of the main

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    2/62 www.servicetechmag.comCopyright Arcitura Education Inc.

    Issue LXXXVII November/December 2014

    difculties in implementing this approach. In the second topic, the presentation of the features and benets 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 Difculties 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 benets 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 benets 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 pay-as-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 trafc 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 difculty in migrating to a cloud infrastructure is related to the maturity of the IT

    architecture of the current organization.

    Organizations that have no well-dened architecture often have difculty even with simple maintenance or

    updates to internal systems. This low level of maturity generates several difculties, and companies in this

    category will certainly not have a smooth transition to the cloud computing model.

    Features and Benets 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 benets 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 le with the data and its meta-information tags.

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    3/63 www.servicetechmag.comCopyright Arcitura Education Inc.

    Issue LXXXVII November/December 2014

    Low coupling: As services are developed to meet a specic demand, the level of cohesion is relatively high,

    so a program developed for SOA is composed of several parts that are well dened 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 systemswithout 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 ad-

    vantages 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 interna

    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 benets 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 horizonta

    view of current services to an off-site server, reducing both costs and workload. Still, thinking about virtualizationSOA environment, we get a great protability due to reuse of services, so that multiple people can use a service

    while being in the company network.

    By having a exible 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 al

    companies around the world. [REF 5]

    SOA facilitates the deployment of software-as-a-service to be deployed in the cloud while cloud computing pro-

    vides processing power on demand so that services are robust and exible, giving organizations more exibility

    in time to meet the operational needs of the same.

    The use of SOA and Cloud Computing together brings many benets, 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 difculties

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    4/64 www.servicetechmag.comCopyright Arcitura Education Inc.

    Issue LXXXVII November/December 2014

    are resolved by the benets 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 wel

    as the prices charged for these services. For this, SOA provides a standard process called Governance andServices Management which serves as a basis for the virtualization of the IT environment.

    The immediate benet of combining SOA and Cloud Computing is time. Reaching out to the cloud for busi-

    ness or technology capabilities allows SOA initiatives to compress time to value. In the longer term, the benets

    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 benets 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 benets that

    are not only technical, but issues of governance and processes that make managing the environments moreconnected 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-dened 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 service-

    oriented environment. You can create policies that inuence development patterns and the way the services

    are consumed. Examples include mandatory username / password to access URL services, encryption ofdata 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 ove

    time in a conguration 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 conguration 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 exibility and creating more value to the IT organization.

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    5/65 www.servicetechmag.comCopyright Arcitura Education Inc.

    Issue LXXXVII November/December 2014

    If well implemented, SOA creates a basis for management strategies of business processes, which in turn

    inuences 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 withou

    the need for major changes, testing, or implementation. SOA has the ability to promote a exible architecture, or

    an architecture that is constructed to change, with the following results:

    Greater deployment exibility with less expenditure of time.

    Process management infrastructure that optimize the cloud.

    New models of clouds, both public and private, to improve exibility 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 exibility 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 benets 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 dene the architecture and

    management of applications. SOA provides guidelines, principles, and techniques to the development of services

    and strictly denes 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 difcult 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 exibility in system maintenanceequipment, while allowing exibility 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

  • 8/10/2019 The Importance of Cloud to Cloud Computing

    6/66 www.servicetechmag.comCopyright Arcitura Education Inc.

    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-accelerate-

    cloud-computing-growth/

    [REF 3] ATKINSON, KAREN. Cloud Computing: Why its good for your bottom line: Special to Financial Post,

    2005.http://business.nancialpost.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 Novais Amorim is a software engineer certied 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

    Gabriel Amorim