Showing posts with label Cloud Definitions. Show all posts
Showing posts with label Cloud Definitions. Show all posts

Wednesday, June 18, 2008

Re: Cloud Definitions


I think one of the problems here is that some cloud-based web services, particularly very scalable ones, such as databases are essentially defined by their limitations in material ways. Any standard that could be consistently and properly supported across most services may necessarily be so constrained that you lose most of your functionality or so broad that no one can reasonably implement the spec for fundamental architectural reasons. Finding a balance that people are happy with will be difficult, and at this stage in the game I think many types of services (like cloud database services) are so limited that it might be premature to define standards derived from the current weak implementations if the market is moving quickly -- you may lock out better ways.

Of course, standardization of interfaces does not imply practical portability, though it helps. There are plenty of examples where architectures behind the standard interface vary sufficiently that you end up writing for a specific architecture through the standard interface. (See: portability of SQL-based apps across databases that use different concurrency control models.) On the other hand, a lot of services should be effectively standardizable and it should be encouraged, but I think for some core services this will be harder than it sounds. Transparency of switching between cloud providers may be hard to come by even if the interfaces are the same.

Cheers,

Andrew


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cloud Computing" group.
To post to this group, send email to cloud-computing@googlegroups.com
To unsubscribe from this group, send email to cloud-computing-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.ca/group/cloud-computing?hl=en
-~----------~----~----~----~------~----~------~--~---

Tuesday, June 17, 2008

Re: Cloud Definitions

IMHO, you're clouding up the terms ;-). IMO, grid generally refers to
a flavor of technologies which usually has some kind of work
dispatcher that schedules work do be performed on various nodes.
Globus, platform lsf, datasynapse to name a few all share this common
pattern.

Over the years there was a new term spoken about called "enterprise
grid" which tried to stretch the term from the classic grid tools to
encompass broader dynamic infrastructures including rapid provisioning
etc. This never really seemed to stick, as a term - and the
technologies have been challenging.

When server virtualization made it to x86, many of these rapid
provisioning environments started to leverage the technology to
simplify and improve overall system reliability, predictability, and
manageability. In fact, I recall this being used by IBM for its
partners called the virtual loaner program back in 2003. The system
allowed partners to "borrow" a slice of a system-p server to test
their software. This was based on a hypervisor called p-hype.

Many adopters of this kind of rapid provisioning built self service
interfaces to allow end users to allocate and release resources on
demand. When Amazon offered this kind of service publicly, they
called it cloud computing.

The term cloud has been used to refer to web based systems and
services for some time. So cloud computing seems appropriate to
encompass some kind of virtual computing platform in the sky. To me
this means that the service running in the cloud must offer a means
for programmability - ok this gets vague. Virtual x86 machines are
certainly user programmable as is AppEx, Bungee, AppEngine, etc. What
about DabbleDB, QuickBase or Zoho? I think so. In fact, I think ning
or even g.ho.st are "programmable" computing platforms delivered as a
service running in the _cloud_.

In the end, this is just a word ;-). I think the more interesting
thing is to examine the services that are exposed/delivered from the
_cloud_. Infrastructure as a Service (IaaS) should include things
like storage, network and compute resources. Platform as a Service
(PaaS) would include slightly higher level services like bigtable,
simpledb, appex, or even SQS.

Sure the lines get blurred when we label them - but the key is the
service offering. IMHO, compute services that are highly reusable
should be standardized - e.g. VMs, Storage, SQS, bigtable, layer 2
partitioning (Vlans), router and firewall services, load balancing
services, caching services, storage volume services, SAN connectivity
services etc. In a sense, everything you find in a datacenter should
be virtualized and exposed programmatically. All this stuff is
already virtual and programmable - but all proprietary. Back in the
day, the OGSA might have created standardized interfaces for all these
data center resources. In fact there are products that expose this
kind of infrastructure as wsdm resources. Unfortunately WS_dum_ ;-)
got hosed and eclipsed by ws-man - oh well ;-).

So let's try again with restful http based, json, etc.

I'd like to see standardization work its way up the infrastructure and
application stack.

thoughts?

Re: Cloud Definitions

The following link also has provided me with a good view.

"IBM Google Announcement on Internet-Scale Computing : Cloud Computing Model"
http://user.chol.com/~forlinux/Library/20080219/03._Cloud_Computing_Oct_03_Ext.pdf






Some parts quoted from the above material:

What is Cloud Computing?
An emerging computing paradigm where data and
services reside in massively scalable data centers and
can be ubiquitously accessed from any connected
devices over the internet.

Characteristics of Cloud Computing:
+ Virtual: Physical location and underlying infrastructure details are transparent to users
+ Scalable: Able to break complex workloads into pieces to be served across an incrementally expandable infrastructure
+ Efficient: Services Oriented Architecture for dynamic provisioning of shared compute resources
+ Flexible: Can serve a variety of workload types - both consumer and commercial






On Wed, Jun 18, 2008 at 9:44 AM, Brian MyungJune JUNG wrote:

Pretty good to re-visit the definition of Cloud Computing.

In addition to that of the previous mail,
I think it may also be helpful to consider the following definition of Cloud.
(quoted from IBM white paper on Cloud Computing -
http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/Cloud_computing_wp_final_8Oct.pdf)


-----BEGIN QUOTE-----

What is a cloud?
Cloud computing is a term used to describe both a platform and type of application.

A cloud computing platform dynamically provisions, configures, reconfigures, and deprovisions servers as
needed. Servers in the cloud can be physical machines or virtual machines. Advanced clouds
typically include other computing resources such as storage area networks (SANs), network
equipment, firewall and other security devices.
Cloud computing also describes applications that are extended to be accessible through the
Internet. These cloud applications use large data centers and powerful servers that host Web
applications and Web services. Anyone with a suitable Internet connection and a standard
browser can access a cloud application.

Definition

A cloud is a pool of virtualized computer resources. A cloud can:
• Host a variety of different workloads, including batch-style back-end jobs and interactive,
user-facing applications
• Allow workloads to be deployed and scaled-out quickly through the rapid provisioning of
virtual machines or physical machines
• Support redundant, self-recovering, highly scalable programming models that allow
workloads to recover from many unavoidable hardware/software failures
• Monitor resource use in real time to enable rebalancing of allocations when needed

Cloud computing environments support grid computing by quickly providing physical and virtual
servers on which the grid applications can run. Cloud computing should not be confused with
grid computing. Grid computing involves dividing a large task into many smaller tasks that run
in parallel on separate servers. Grids require many computers, typically in the thousands, and
commonly use servers, desktops, and laptops.
Clouds also support nongrid environments, such as a three-tier Web architecture running standard
or Web 2.0 applications. A cloud is more than a collection of computer resources because a
cloud provides a mechanism to manage those resources. Management includes provisioning,
change requests, reimaging, workload rebalancing, deprovisioning, and monitoring.

-----END QUOTE-----

Is this enough to make it clear?
Or could/should we add more?



Best regards,
Brian.




On Wed, Jun 18, 2008 at 7:34 AM, trevoro wrote:

There have been some awesome discussions on this group and many
others, and every time I read or talk with someone I feel like things
are congealing into something more solid.

One thing that seems to be confusing a lot of different people are
some of the definitions regarding cloud computing, specifically
regarding the difference between, cloud, grid, rapid provisioning, and
cloud storage.

I would define Cloud Computing as the overarching concept of all of
the outsourced,rapid provisioning,pay-per-use services that exist
today - Ideally with a low barrier to entry and the ability to
automate your environment.

Grid Computing seems to be services that are extremely granular or
'lightweight clouds'. Pay per usage on a per request model, rather
than an hourly model. Eg: AppEngine

Rapid Provisioning would be services that are more 'heavyweight'. Pay
per usage on a time model, with the real benefit being getting your
service online quickly, and being able to turn it off when possible.
Eg: EC2.

Many providers fall in between these or combine each of their
elements. Do we attempt to define this scale, or simply keep
everything abstracted as a 'cloud'?

-Trevor

http://layerboom.com






--
Brian M. JUNG # Peace Love Empathy & a Rose @}`-,--

brian.m.jung@gmail.com
http://blifelog.blogspot.com/




--
Brian M. JUNG # Peace Love Empathy & a Rose @}`-,--

brian.m.jung@gmail.com
http://blifelog.blogspot.com/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cloud Computing" group.
To post to this group, send email to cloud-computing@googlegroups.com
To unsubscribe from this group, send email to cloud-computing-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.ca/group/cloud-computing?hl=en
-~----------~----~----~----~------~----~------~--~---

Cloud Definitions

There have been some awesome discussions on this group and many
others, and every time I read or talk with someone I feel like things
are congealing into something more solid.

One thing that seems to be confusing a lot of different people are
some of the definitions regarding cloud computing, specifically
regarding the difference between, cloud, grid, rapid provisioning, and
cloud storage.

I would define Cloud Computing as the overarching concept of all of
the outsourced,rapid provisioning,pay-per-use services that exist
today - Ideally with a low barrier to entry and the ability to
automate your environment.

Grid Computing seems to be services that are extremely granular or
'lightweight clouds'. Pay per usage on a per request model, rather
than an hourly model. Eg: AppEngine

Rapid Provisioning would be services that are more 'heavyweight'. Pay
per usage on a time model, with the real benefit being getting your
service online quickly, and being able to turn it off when possible.
Eg: EC2.

Many providers fall in between these or combine each of their
elements. Do we attempt to define this scale, or simply keep
everything abstracted as a 'cloud'?

-Trevor

http://layerboom.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cloud Computing" group.
To post to this group, send email to cloud-computing@googlegroups.com
To unsubscribe from this group, send email to cloud-computing-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.ca/group/cloud-computing?hl=en
-~----------~----~----~----~------~----~------~--~---