Home

Primary links

  • Home
  • Solutions
    • Software Development
    • Quality Assurance
    • Platform Migrations
  • Methodology
    • Project Management
    • Pricing Models
    • Methodologies
  • Development Centers
    • Costa Rica
  • Knowledgebase
  • Jobs
  • Contact Us
2010 Economy:  Outsourcing Provides a Competitive Edge
Eco-Tourism and Software Development
Web 2.0 Surf the Wave
Becoming an Agile Organization Through Outsourcing
Cloud Computing and Service Orientated Architectures:  A Practical Explanation
Home

Cloud Computing and Service Orientated Architectures: A Practical Explanation

Submitted by admin on Wed, 2010-01-06 21:34
Cloud Computing and Service Orientated Architectures:  A Practical Explanation

Cloud computing and SOA frameworks are two common buzz words today, that in some cases, are misunderstood or misused.  For example, some industry figures have made the following claims:

  1. "The cloud is ready for application development in 2010."  The internet has been ready in various capacities for low foot-print application development and deployment for many years now.  Some may argue about a decade.  For example, Siebel deployed a web-based version of its product in 2000.  Wtihin the Siebel Tools framework, one could develop entirely new and custom applications, unrelated to the packaged product, which could be deployed, hosted and supported via with web.  The only component not in the cloud would be Siebel Tools, which only ran on Windows desktops.  Technically speaking, this scenario is the predecessor of what we call "cloud computing" today.  Coincidentally, Siebel now also markets it's product as being in the "cloud".
  2. “My Cloud: Virtual Servers on the Horizon.”    This is akin to saying "My internet:  Internet servers are on the horizon."  In the 1990's you could equally say "My Desktop: a Microsoft Office installation is on its way."  Is it a false statement?  No.  However, can it lead to a misunderstanding?  Yes.  Coincidentally, this was one of IBMs initial marketing campaigns introducing cloud computing, which is now deprecated.

Proofpoint, Inc. (http://www.proofpoint.com/), the leading provider of SaaS email security, email archiving and data loss prevention solutions, and Osterman Research found that a large number of IT professionals are still confused about the term "cloud computing." Nearly 40 percent of IT professionals answered "yes" to the question, "when I hear the term 'cloud computing,' I am generally confused given the many definitions" (52 percent answered "no"). Thirty-three percent believe cloud computing is more hype than substance, while 24 percent "weren't sure." 1

 So, if the marketing hype has caused confusion for you, then you certainly are not alone.


Cloud Computing in Practical Terms

Lets take a step beyond marketing hype and ask - What really is cloud computing or "the cloud"?  In simple terms, it is internet based computing, where all components and services are hosted and accessed via internet.  In essence, your business can deploy an application to customers via cloud computing and not own a single server.   So, it is a paradox to both client-server and mainframe/mini-frame based computing where a large investment in-house server infrastructure is required.  Is cloud computing really new?  The answer is no.  It is another retronym that became a large marketing campaign, slogan or differentiator for many large software companies.  Cloud computing has existed in its most basic form since 1991 and the public emergence of the world wide web.  It has simply envolved to a point that now computing-via-internet has become the new standard for both developing and deploying enterprise applications. 

What are some key points about cloud computing or internet based computing?

  • You can now think of enterprise applications as services which are available via the internet.  Much like connecting yourself with phone or cable in the past, you can connect your business with CRM to run your call center via the internet.  You can even develop and customize your product via web-based tools.  So, essentially the development team, quality assurance team and operations team are all running your Call Center via the cloud. Typically, when  you purchase a managed service via the cloud, you are delivered a vanilla product, along with a web-based developer module that provides tailoring core functionality to your business model.  This first point leads into what we call Service Oriented Archicture or SOA.
  • Some companies have taken the cloud to the next level.  For example, Amazon and EC2 provides a concept of elasticity.  Meaning you only pay for what you use.  There are also third-party providers that have abstracted Amazons Web Services API to a point where you can download a GUI application to manage backups via the cloud.  So, instead of investing tens of thousands in a giant SAN, you pay for only the amount of disk space you use and essentially share Amazon's SAN which resides in the cloud.  Your monthly bill technically can be broken down into components such as gigabits or gigabytes of bandwidth or hard disk space. In other cases, companies offer grid-based platforms that are incrementally sizeable and thus more cost effective.  Think - I only want to pay for what I actually use.  This is also a large paradox to the mainframe era where you investmented millions of dollars in one large box, with giant computing capacity, of which you only use a small percent.  When, your computing needs increases, a support representative would come to your site and literally insert a key in the box and turn-up your MIPS or computing capacity.
  • Cloud computing provides costs savings for large enterprise and new opportunities for startups.  Instead of investing millions of dollars in data centers, which require redundancy and disaster recovery, purchase your enterprise application as a service.  This might sound pretty much like a no-brainer, but there are also many caveats that need to be considered such as data privacy laws.  For startups, service based enterprise applications alllows small players to compete with bigger players at a lower cost of ownerhsip.

The Definition of Service Orientated Architecture Depends on the Context

Like many concepts, the defintion of Service Oriented Architecture or "SOA" depends on the context, in which it is used.  First, we must look at its granular definition, and then apply this to real world practical applications. 

SOA is defined by a system where services are a loose coupling of producers and consumers which interact over a common set of protocols.  In a practical application, producers and consumers are software agents, and the communication occurs over a standard protocol such as web services.  Since web services are defined in XML, this model is infiinitely extensible.    In the former generation, SOA did not exist.  Software agents were typicall properietary and operated in silos.  For example, the Object Orientated Architecture closely binds process with services and thus there is no native interface betweeen disparate software agents.  In SOA archiecture, there is a standard integration and communication protocol.

For an explanation, in a different context, we can reduce SOA's definition to the absurd.  Let's use and example of GSM cellular phones and the GSM network.  Each phone has different properties and different capailities.  However, they all communicate with via the GSM network via a similiar protocol.  The integration is abstracted by the protocol.  To make a call, one simply dials a number and talks without giving any thought to the mechanics.  Using the Object Oriented Model, each phone would have its own unique interface.  In order to communicate from one phone to the other, you must expose the interface to the other phone or provide an API.  You then would have to write a program based upon this API to establish communication.

In the most granular sense, SOA abstracts communication between disparate software agents.  Thus, in a JAVA architecture one can use JBOSS and Apache MQ message bus to achieve on SOA architecture.  You can develop disparate software agents as java beans, which commmunicate over the message bus via web services and XML.   Java beans can be producers or consumers or both, depending on context.


Connecting the Cloud and SOA

Cloud computing and SOA are instrinsically complimentary.  Now, the entire infrastucture can be hosted and accessed via a standard such as web services.  We can now consume Amazon web services or become producers and only pay for what we use.

For a practical explanation of both the cloud and SOA at work.  Let's say we have a business which runs its CRM system and its ERP system in the cloud using an SOA architecture.  In this model, we create several services:

  1. CRM - CustomerAddress (producer and consumer)
  2. ERP - AccountBalance (producer and consumer)

Now, lets say the Accounting Department needs to run invoices.  A software agent would need to produce Account Balance in ERP and consume Customer Address from CRM via the enterprise message bus which uses web services to generate invoices.  In this case, there is a loose coupling between CustomerAddress and AccountBalance which are completely disparate software agents, but connected via a standard protocol over the enterprise data bus.  Properly defining the SOA in this organization, one would need to define all services and each services function as consumer or producer or both.

 

 


Benefits of Cloud Computing Via a Service Oriented Architecture

Although service oriented architectures and operating your enterprise systems via the cloud are relatively new trends, big enterprises see benefits in using both.

  • Cost - the reduced datacenter footprint and economy of pay-per-use services make cloud computing and SOA an obvious costs savings.
  • Performance - by using a large provider such as Amazon, Microsoft or Google, you are able to achieve high throughput and the ability to run services in parallel.
  • Reliability - implementing SOA on the cloud immediately brings your up-time to a factor higher than 99%.  This benchmark alone can be very expensive and sometimes unattainbale a corporate datacenter.
  • Scalability - auto-scaling or elasticity is an inherent features of cloud computing. One also may consider scaling in terms of scaling services.  SOA and the cloud offer the ability to purchases bolt-in services which are developed by third-party service providers and allow you to theoritically scale your inventory of services. 

Delta airlines has been developing a service oriented architecture for nearly a decade.  The ability to remove redundancy and establish a one-to-one mapping between business process and service is viewed as a large benefit.  For example, today the check-in process at Delta is defined by a single business service that is implemented via the cloud on web sites, ticketing kiosks, ticket counters and gate systems.  For the same reason, other airlines such as Lufthansa and United are also migrating away from their 40 year old legacy system to implement a similiar service oriented architecture.2


References

1  Unknown Author (2009).  "Cloud Computing Confusion Continues",  Proofpoint.

2 Joe McKendrick  (2008). "From Web to Boarding Area: Delta's SOA is Ready".  www.ebizq.net.

 

 

  • Login or register to post comments
  • Thumbnail
  • Printer-friendly version
  • Send to friend

Current Positions

Top Openings

  • Oracle PL/SQL Developer
  • QA Tester
  • Senior Level PHP Developers
More jobs

News and Events

News

  • Costa Rica Rides High-Tech Wave
  • The New Outsourcing Kid On The Block: Costa Rica
  • Costa Rica: Cultural Similarities Make It An Outsourcing Favorite
  • Outsourcing gets closer to home with CAFTA
  • Top Offshore Outsourcing Trends to Watch in 2009

Events

Forums

New forum topics

  • 2010 Predictions for the Outsourcing Industry
  • The cloud-SOA connection
  • Gartner reveals top 30 outsourcing locations
  • Top 10 SOA posts for 2009
  • Where SOA and cloud computing intersect: the loosely coupled business
more

CIO.com Off-Shoring

  • Satyam Sets Up Testing Center for MasterCard
  • Infosys Served US Subpoena on B-1 Visas
  • Satyam Returns to Loss Because of U.S. Settlement
  • Offshoring: 7 Tips To Prepare for India's Proposed Privacy Rules
  • IT Outsourcing in China: What CIOs Need to Know About New Data Privacy Guidelines
more

Copyright: All rights reserved. 2008