Cloud Computing

From BC$ MobileTV Wiki
Revision as of 17:07, 5 October 2012 by Joe (Talk | contribs)

Jump to: navigation, search

Cloud Computing is computing resources and access platforms which are stored, hosted and carried out in a foreign (3rd party) data server configuration.


With Cloud Computing, companies can scale up to massive capacities in an instant without having to invest in new infrastructure, train new personnel, or license new software. Cloud Computing is of particular benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large corporations who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. In both instances, service consumers use what they need on the Internet and pay only for what they use.

The service consumer no longer has to be at a PC, use an application from a powerful OS with large computing resources and processor speeds, or purchase a specific version that's configured for each smartphone, PDA, or other device on which they intend to subscribe to or utilize the service. The consumer does not own the infrastructure, software, or platform in the cloud. He has lower upfront costs, capital expenses, and operating expenses. He does not care about how servers and networks are maintained in the cloud. The consumer can access multiple servers anywhere on the globe without knowing which ones and where they are located.

While Cloud Computing eliminates many of the initial costs and complexities of buying, configuring, and managing the hardware and software needed to build and deploy applications, and the applications are conveniently delivered on-demand, as a service over the Internet (the cloud), there are other pitfalls and hidden costs associated with moving to a cloud-based solution. First and foremost (and probably most obvious of the "hidden" costs is the learning curve required to deploy an application to a cloud-based solution as opposed to on a locally controlled and managed server, or, a hosted solution (although this barrier is getting smaller and smaller every day, as the interfaces for controlling cloud-based solutions improve). Another big hidden cost to consider is the pricing model, in particular if a Cloud Computing service provider calculates billing based on storage, network bandwidth consumed, time deployed (all too commonly misleadingly referred to as "compute time"), or actual compute time (i.e. time spent utilizing memory and computing resources, accessing a database or transferring data over a network). Lastly, whether a provider charges more like a traditional utility (i.e. Electricity) based on actual usage, or, whether the meter is running regardless of the state of a deployment or its usage (like a taxi-cab from hell that has huge upfront/after-service fees and/or one that charges whether the person is in the car or not, or does not at least slow down the meter while idling).[1]


Architecture

Virtualization

Virtualization is probably the core component of Cloud Computing as offering a way to intelligently divide and manage the available resources on a given hardware/software configuration into specific representations for specific users, organizations or communities.

Cluster

Cluster computing is one subset of Cloud Computing. It is most commonly used for bursty, high bandwidth ativities (such as streaming a live video feed to thousands of users from several different temporarily replicated endpoints).

Grid

Grid computing is another main subset of Cloud Computing. Grid focuses on sharing (distributing) computing resources (for example, processing experiment data output by a highly advanced lab instrument). Grids tend to be more loosely coupled, heterogeneous, and geographically dispersed compared to conventional cluster computing systems. Forming a Grid is commonly done in Academia and in the Scientific Research community, as it helps to analyze and store massive amounts of data across a network of computing resources.[2] It is commonly done for intensive compute jobs such as crunching numbers (i.e. massive statistical analysis) or processing a massive amount of data output from a particular device (such as a Mass Spectrometer in a lab, underwater sensors on a submarine, etc).





Cloud APIs

Generally there are three types of Cloud API's.

1. Blind APIs - API's that don't tell you their restrictions. Amazon Web Services is the best example. (Personally I'd rather know what I can or can't do then not know at all)

2. Closed APIs - API's that do tell you their restrictions. Google App Engine is a good example using a highly restrictive license. The Google terms state in section 7.2. that "you may not (and you may not permit anyone else to): (a) copy, modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to extract the source code of the Google App Engine Software or any part thereof, unless this is expressly permitted" Which would make things like AppScale which is an open-source implementation of the Google AppEngine illegal under Google's terms of use.

3. OpenCloud APIs - API's that generally let you do whatever you want as long as you give attribution. Rackspace, GoGrid and Sun are the best examples. A major issue facing a lot of these so called open API's is although you maybe free to remix and use the API, you could be limited by the use of a company's name or trademark. Making the attribution clause a potential mine field.


Services

Google AppEngine

[3] [4] [5]

Amazon Web Services (AWS)

Windows Azure

Oracle MyCloud

SalesForce



Projects

OpenStack

Ubuntu

[8] [9]

Eucalyptus

Eucalyptus is an open-source system for implementing on-premise private and hybrid clouds using the hardware and software infrastructure that is in place, without modification. Eucalyptus adds capabilities such as end-user customization, self-service provisioning, and legacy application support to data center virtualization features, making IT customer service easier, more fully featured, and less expensive. Eucalyptus can be downloaded for free and used forever. It includes Amazon Web Services API (EC2, S3, EBS) and support for Xen and KVM, and allows you to build a cloud in 6 steps.

The Eucalyptus slogan is:

Your Hardware. Your Data. Your Cloud.

EyeOS

Unified Cloud Interface

Unified Cloud Computing is an attempt to create an open and standardized cloud interface for the unification of various cloud api's. A singular programmatic point of contact that can encompass the entire infrastructure stack as well as emerging cloud centric technologies all through a unified interface. One of the key drivers of the unified cloud interface is to create an api about other api's. A singular programmatic point of contact that can encompass the entire infrastructure stack as well as emerging cloud centric technologies all through a unified interface.

In this vision for a unified cloud interface the use of the resource description framework (RDF) is an ideal method to describe a semantic cloud data model (taxonomy & ontology). The benefit to an RDF based ontology languages is they act as general method for the conceptual description or modeling of information that is implemented by web resources. These web resources could just as easily be "cloud resources" or API's. This approach may also allow us to easily take an RDF -based cloud data model and use it within other ontology languages or web services making it both platform and vendor agnostic. Using this approach we're not so much defining how, but instead describing what.

OpenNebula

OpenNebula is a Virtual Infrastructure Manager that orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services (groups of interconnected virtual machines) on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies.

CloudLoop

cloudloop is a universal, open-source Java API and command-line tool for cloud storage, which lets you store, manage, and sync your databetween all major providers.

CloudFoundry

Cloud Foundry SpringSource Cloud Foundry is the first self-service, pay-as-you-go, public cloud deployment platform for full-feature Java web applications that unifies the entire build, run, and manage application lifecycle for Java.

vCloud

VMware (upon purchase of SpringSource) announced their own Cloud Environment with the following characteristics:

  1. RESTful with full programmatic control
  2. Open Virtualization Framework (OVF) standards based
  3. Platform independent
  4. Pure virtual
  5. Supports multi-tenancy

VMware also provides critical Virtualization software for partitioning your own Operating System and Hardware.

JoliCloud

NASA's Nebula Cloud

Xen

The Xen® hypervisor, the powerful open source industry standard for virtualization, offers a powerful, efficient, and secure feature set for virtualization of x86, x86_64, IA64, ARM, and other CPU architectures. It supports a wide range of guest operating systems including Windows®, Linux®, Solaris®, and various versions of the BSD operating systems




Tools

Dasein Cloud API

cloudtools


Resources


Tutorials


External Links


References

  1. Cloud .vs. Grid: http://www.ibm.com/developerworks/web/library/wa-cloudgrid/index.html?ca=drs-
  2. Difference - Cloud Computing vs Grid Computing: http://www.thepicky.com/tech/difference-cloud-computing-vs-grid-computing/
  3. Google App Engine for Java, Part 1 - Rev it up!: http://www.ibm.com/developerworks/java/library/j-gaej1/
  4. Google App Engine for Java, Part 2 - Building the killer app: http://www.ibm.com/developerworks/java/library/j-gaej2/
  5. Google App Engine for Java, Part 3 - Persistence and relationships: http://www.ibm.com/developerworks/java/library/j-gaej3/
  6. Microsoft needs to stop scamming MSDN Subscriber with Azure: http://social.msdn.microsoft.com/Forums/en-ZW/windowsazurepurchasing/thread/0edca3f0-874e-4e53-ae86-7ba2740a277c?prof=required
  7. Internet Information Services (IIS) 7.0 installation for working with Windows Azure: http://msdn.microsoft.com/en-us/library/hh403991.aspx#IIS
  8. Ubuntu promises DIY Amazon cloud: http://www.theregister.co.uk/2009/03/25/ubuntu_amazon_cloud/
  9. Why Microsoft should fear Ubuntu’s cloud efforts: http://www.ubuntu-news.net/2009/02/23/why-microsoft-should-fear-ubuntus-cloud-efforts/
  10. Oracle's Ellison nails cloud computing": http://news.cnet.com/8301-13953_3-10052188-80.html

See Also

CDN | SOA | SaaS | PaaS | IaaS | Energy