Software Architecture – A Cross Referenced Whitepaper on Cloud Computing

 

A Cross Referenced Whitepaper on Cloud Computing

                                                     By: Shahzad Sarwar

                                                     Dated: 14th July 2010

 

 

1           Definition:

According to wiki:

Cloud Computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.

According to National Institute of Standards and Technology:

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

2           Basic Elelments:

Basic Elements of cloud computing consist of:

  • SaaS:Software as a Service
  • PaaS: Platfom as a Service
  • IaaS: Infrastructure as a Service
  • Utility Computing

Lets review these concepts separately.

2.1          SAAS:

According to wiki:

Software as a service is software that is deployed over the internet and/or is deployed to run behind a firewall in your local area network or personal computer. With SaaS, a provider licenses an application to customers as a service on demand, through a subscription or a “pay-as-you-go” model. Also called “software on demand”.

Benefits:

  • Save money by not having to purchase servers or other software to support use
  • Focus Budgets on competitive advantage rather than infrastructure
  • Monthly obligation rather than up front capital cost
  • Reduced need to predict scale of demand and infrastructure investment up front as available capacity matches demand
  • Multi-Tenant efficiency
  • Flexibility and scalability

 

2.2          PaaS:

PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.

PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services may be provisioned as an integrated solution over the web.

2.3          IaaS:

Cloud infrastructure services or “Infrastructure as a Service (IaaS)” delivers computer infrastructure, typically a platform virtualization environment as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. The service is typically billed on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. It is an evolution of virtual private server offerings.

2.4          Utility computing:

Utility computing is the packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility (such as electricity, water, natural gas, or telephone network). This system has the advantage of a low or no initial cost to acquire hardware; instead, computational resources are essentially rented. Customers with very large computations or a sudden peak in demand can also avoid the delays that would result from physically acquiring and assembling a large number of computers.

3           Essential Characteristics:

  • On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.
  • Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
  • Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
  • Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
  • Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing

 

4           Must differentiate with:

  1. Autonomic computing — “computer systems capable of self-management“.
  2. Client–server modelClient–server computing refers broadly to any distributed application that distinguishes between service providers (servers) and service requesters (clients).
  3. Grid computing — “a form of distributed computing and parallel computing, whereby a ‘super and virtual computer’ is composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks”
  4. Mainframe — powerful computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.
  5. Utility computing — the “packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity“.
  6. Peer-to-peer – a distributed architecture without the need for central coordination, with participants being at the same time both suppliers and consumers of resources (in contrast to the traditional client–server model). Deployment models

 

5           Deployment Models:

According to National Institute of Standards and Technology, there are following deployment models. 

  • Private cloud. The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.
  • Community cloud. The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.
  • Public cloud. The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
  • Hybrid cloud. The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).

 

6           Intercloud

The Intercloud is an interconnected global “cloud of clouds” and an extension of the Internet “network of networks” on which it is based.

The Intercloud scenario is based on the key concept that each single cloud does not have infinite physical resources. If a cloud saturates the computational and storage resources of its virtualization infrastructure, it could not be able to satisfy further requests for service allocations sent from its clients. The Intercloud scenario aims to address such situation, in fact, each cloud can use the computational and storage resources of the virtualization infrastructures of other clouds. Such form of pay-for-use introduces new business opportunities among cloud providers. Nevertheless, the Intercloud raises many challenges concerning cloud federation, security, interoperability, QoS, monitoring and billing.

7           Cloud Plateforms:

Following are some of best Cloud computing plateforms availiable in industry.
·         Amazon’s Elastic Compute Cloud, or EC2, is probably the most generalized and best-known of the cloud computing service offerings.
·         IBM Computing on Demand or Blue Cloud is a highly enterprise-focused cloud computing offering that, because it is related to and built with the same technology sold to enterprises, can cross over between public and private cloud applications.
·         Microsoft’s Azure cloud computing, based on Microsoft Vista and .NET technology, includes both cloud computing and cloud-hosted extension services. It also supports public and private cloud computing plans.
·         Sun Cloud, like IBM’s offering, is available both in public and private cloud forms. Since Oracle is acquiring Sun, this offering may change over time.
·         Salesforce.com’s Force.com cloud is easily integrated with Salesforce.com’s application tools.
·         Google’s AppEngine cloud offering is targeted particularly to web developers and web hosting applications. 

8           Cloud Applications:

  • Mint: A Cloud based personal finance tool, to manage your money. It was launched in September 2007. All money related accounts viz. Bank Accounts, Credit Card, Loan, Stock Brokerage & other Investment are provided in one place.
  • Panda Cloud Antivirus: The first free Antivirus from the cloud. It has received many decent reviews.
    • No need to worry about regular updates.
  •  
    • Occupies very little system resources.
    • It uses collective intelligence servers for fast detection
    • Simple interface. 
  • Amazon.com
    Amazon.com’s Customer Experience Analytics Team uses Amazon Relational Database Service to store and query customer simulation data.
  • Net Applications
    Net Applications gains a competitive edge over other Web analytics solutions by using Alexa Web Information Service to deliver in-depth Web traffic information.
  • Channel Intelligence
    Using Amazon Mechanical Turk, Channel Intelligence was able to leverage human intelligence around the globe and decrease task-specific costs by 85%.
  • Online suite

     Google’s online suite of office applications is probably the best known but by no means the only solution on offer.Examples of online suite’s on offer include Ajax13, ThinkFree and Microsoft’s Office Live.

Using Google Wave you can create a document and then invite others to comment, amend, offer opinion, or otherwise join in with the creation of the final draft.

Other examples include Spicebird, Mikogo, Stixy and Vyew to name but a few.

9           Criticism:

Larry Ellison, CEO of Oracle Corporation has stated that cloud computing has been defined as “everything that we already do” and that it will have no effect except to “change the wording on some of our ads”. Oracle Corporation has since launched a cloud computing center and worldwide tour.

Richard Stallman said that cloud computing was simply a trap aimed at forcing more people to buy into locked, proprietary systems that would cost them more and more over time. “It’s stupidity. It’s worse than stupidity: it’s a marketing hype campaign”, he told The Guardian. “Somebody is saying this is inevitable – and whenever you hear somebody saying that, it’s very likely to be a set of businesses campaigning to make it true.”

General References:

http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc

http://www.whatissoa.com/whatiscloud/default.php

http://aws.amazon.com/solutions/case-studies/

What is Cloud Computing?

http://en.wikipedia.org/wiki/Cloud_computing

http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201_gci1287881,00.html

http://cloudcomputing.sys-con.com/

Videos:

http://www.youtube.com/watch?v=6PNuQHUiV3Q

http://www.youtube.com/watch?v=XdBd14rjcs0&feature=related

http://www.youtube.com/watch?v=hplXnFUlPmg&feature=related

http://www.youtube.com/watch?v=SgujaIzkwrE&feature=channel

http://www.youtube.com/watch?v=oA5z0V5yJJE&feature=related

http://www.youtube.com/watch?v=OIbkMjrrdjQ&feature=channel

Advertisements

One Response to Software Architecture – A Cross Referenced Whitepaper on Cloud Computing

  1. Mudasser says:

    Really Good work.Its really alot of Beneficial.
    Well done

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: