Cloud Computing: Page 3

Posted September 29, 2010
By

M. Tim Jones

M. Tim Jones


(Page 3 of 3)

APIs

Whether talking about managing a cloud compute environment, or reading and writing data into a cloud storage instance, a common protocol model exists. While these examples can be classified as web services, the ReST model is a common way to build the management and I/O protocols. ReST stands for Representational State Transfer, and is an architecture for distributed communication built over HTTP. The ReST architecture transforms HTTP into a powerful and scalable protocol for moving data and managing resources.

ReST is used in a number of cloud storage protocols, and also for managing cloud computing infrastructures. You’ll also find SOAP (or Simple Object Access Protocol) as a management protocol to implement remote procedure calls over the Internet.

A number of efforts are underway to define standard APIs for clouds. While not open, VMware’s vCloud API appears promising for IaaS. vCloud supports hybrid clouds, through which VMs can transparently migrate between sites containing virtualized infrastructure.

Cloud Implementations

Much of what we’ve covered thus far has defined some of the theory around cloud computing and storage. Let’s now explore some examples of the various cloud deployment models that exist today.

SaaS (Software as a Service)

Software as a service, once called application service providers, exist in a number of forms. Two of the leaders in this space are Salesforce and Oracle. Salesforce (force.com) provides a SaaS environment which provides a large number of business applications as well as the ability to develop and host custom apps within their data center infrastructure. Force.com provides a software stack to simplify the development process, even with point-and-click development, in addition to support for more complex applications. Oracle is also well established within the SaaS space, providing both cloud and on-premise solutions.

PaaS (Platform as a Service)

Platform as a Service provides a more specialized environment that may be restricted by language, or development environment. One prime example in the PaaS space is Google’s App Engine which permits the development and hosting of web-based applications in the Python or Java languages. App Engine provides a number of APIs to simplify complex tasks as well as providing an environment which provides automatic scaling and load balancing to support dynamic use models that are possible with the Web (such as defined by the ‘Slashdot effect’).

Another useful PaaS solution is Engine Yard. Engine Yard focuses on applications developed using the Ruby on Rails application environment, and permits hosting within Engine Yard’s private cloud or within Amazon’s EC2 (discussed shortly). Ruby on Rails is an open source web framework developed with the Ruby language.

IaaS (Infrastructure as a Service)

Infrastructure as a Service is one of the most interesting and includes a number of alternatives. The leader in this space is Amazon with their Elastic Compute Cloud (EC2). EC2 is Amazon’s shared compute infrastructure and provides a simple interface to their cloud. Within EC2, a user can host VMs that can scale to the desired capacity over a configurable set of resources (low end to high end CPUs, scalable memory, scalable network, and storage). Amazon even supports cluster compute instances, which enable HPC applications in the cloud.

Rackspace Cloud Servers is another IaaS solution which competes with EC2. Rackspace focuses on simplicity, making it very easy to get a VM up and running within their infrastructure. Like Amazon, you scan easily scale your infrastructure over a set of servers that very in size and performance (using either Linux or Windows VMs).

Each of the IaaS solutions operate in a pay-as-you-go model (both examples here rely on the Xen hypervisor). When your servers are running, you’re charged an hourly fee. If desired, your compute capacity can scale with demand, making it very simple, and in many cases, very cost efficient.

It’s also possible to build a private compute cloud that implements Amazon’s EC2 interface. Eucalyptus is an open source project that allows you to build private clouds, and also hybrid clouds that interface to Amazon for the public portion.

DSaaS (Data Storage as a Service)

Data Storage as a Service is the last cloud based service model that we’ll explore here. There exist a number of options in this storage space, each with their own advantages.

Mozy is one of the most popular in the consumer space. Rather than focus on generic storage, Mozy provides remote storage with a backup application that automatically copies data into their public cloud for storage. Within their infrastructure, Mozy implements encryption to protect your data.

One of the most well known cloud storage providers is Amazon, with their Simple Storage Service offering (called Amazon S3). Amazon provides an API in a variety of languages that permit programmatic access to their public storage cloud (using a ReST or SOAP API). A unique aspect of their storage is that access occurs through HTTP, such that stored objects can be accessed as HTTP URLs like any other web file (assuming a user is authorized to view the files).

The Nirvanix Storage Delivery Network is another example of a public storage cloud. Nirvanix implements an interesting set of features. In addition to implementing a public storage cloud, Nirvanix also provides a hybrid solution, permitting a fully managed private and public cloud storage solution.

Finally, EMC’s Atmos is a deployable cloud storage solution which may be used as private cloud storage, or to develop a public or hybrid cloud storage offering. Atmos was designed for massive scalability on a global scale, while providing cost effective storage for unstructured data.

Cloud Computing Summary

As the cloud grows, so do the options available to enable scalable compute and storage over the range of deployment models. But the cloud remains a solution with a specific domain of problems. While consumers have embraced the cloud, enterprise adoption is still restricted to the SaaS and PaaS models. Putting one’s compute infrastructure or private data in the cloud still represents its Achilles heel. But as with any problem, if it’s worth solving, it will be solved and open the gate to a broader set of applications both in the consumer and enterprise space. While momentum began building in the last few years, the cloud is new viewed in its various embodiments as a powerful platform for scalable computing and storage.

Cloud Computing Resources

Virtualization
http://itmanagement.earthweb.com/netsys/article.php/3884091/Virtualization.htm

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

Virtual Networking
http://www.theregister.co.uk/2008/09/16/cisco_virtual_networking_to_virtual_servers/

Representational State Transfer
http://en.wikipedia.org/wiki/Representational_State_Transfer

VMware’s vCloud API
http://www.vmware.com/products/vcloud/

Salesfore.com Software as a Service http://www.salesforce.com/saas/

Google App Engine
http://code.google.com/appengine/

Slashdot Effect
http://en.wikipedia.org/wiki/Slashdot_effect

Engine Yard Platform as a Service
http://www.engineyard.com/products

Ruby on Rails Web Application Environment http://rubyonrails.org/

Ruby Language
http://www.ruby-lang.org/en/

Amazon Elastic Compute Cloud (Infrastructure as a Service)
http://aws.amazon.com/ec2/

Xen Hypervisor
http://www.xen.org/

Rackspace Cloud Server (Infrastructure as a Service)
http://www.rackspacecloud.com/cloud_hosting_products/servers

Eucalyptus Private Cloud Software (Enterprise Edition)
http://www.eucalyptus.com/

Eucalyptus Open Source Cloud Platform
http://open.eucalyptus.com/

Mozy Online Backup
http://mozy.com/

Amazon Simple Storage Service
http://aws.amazon.com/s3/

Nirvanix Storage Delivery Network
http://www.nirvanix.com/products-services/index.aspx

EMC Atmos Cloud Storage
http://www.emc.com/products/detail/software/atmos.htm

About the Author

M. Tim Jones is a firmware and product architect and the author of Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming (now in its second edition), AI Application Programming (in its second edition), and BSD Sockets Programming from a Multilanguage Perspective. His background ranges from the development of software for geosynchronous satellites to the architecture and development of storage and virtualization solutions.

Page 3 of 3

Previous Page
1 2 3
 



Tags: cloud computing, Cloud, Cloud network, Cloud Hosting, cloud management tools


0 Comments (click to add your comment)
Comment and Contribute

 


(Maximum characters: 1200). You have characters left.