As you see, virtual host provides a layer of visualization on the resources being shared by the VMs. We will try to figure the risk on the paradigm..
A Cloud journal ..
National Institute of Standards and Technology, Information Technology Laboratory
Note 1: Cloud computing is still an evolving paradigm. Its definitions, use cases, underlying technologies, issues, risks, and benefits will be refined in a spirited debate by the public and private sectors. These definitions, attributes, and characteristics will evolve and change over time.
Note 2: The cloud computing industry represents a large ecosystem of many models, vendors, and market niches. This definition attempts to encompass all of the various cloud approaches.
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. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
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 transparency for both the provider and consumer of the utilized service.
Service Models:
Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
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).
Note: Cloud software takes full advantage of the cloud paradigm by being service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability.
If you are familiar with the conventional Grid Computing which unifies the processing power of the multiple machines as surface to collimated usage; inturn you should also appreciate that people will be looking for some ROI out-of-it.. And, that is fulfilled by the Utility Computing..
Cloud Computing goes one step ahead to warp them and present in a SAAS enabled model. Apart from grid & cluster; cloud added a fine grained control as middleware to the architecure. This works a brain for the Cloud building blocks. Typically Client Apps on Cloud use the Middleware to position themselves on the Cloud..
Cloud usage has two facet; the transient Cloud Apps and persistent Cloud Data (used by Apps).. And you also knew, to achieve Cloud Data persistency and failover always includes the cost of redundancy.
There're various interface softwares to provision and govern Cloud & its resources; mostly recalling & acknowledge EC2 as consumable.
Next post I will blog more about the Lifecycle of Cloud Apps and its operational Data..
Till then, stay tuned -: )
Amazon | Cloud Workbench | |
EC2 Functionality | ||
Create an Amazon Machine Image (AMI) | yes | yes |
Use pre-configured, templated images to get up and running immediately | yes | yes |
Upload the AMI into Amazon S3 | yes | yes |
Choose the instance type(s) and operating system you want | yes | yes |
Start, terminate, and monitor as many instances of your AMI | yes | yes |
Static IP endpoints | yes | not sure as hot requirement, but can be alloted by fix Mac |
Attach persistent block storage to your instances | yes | yes |
Elastic | ||
Increase or decrease Instance capacity | yes | yes |
Completely Controlled | ||
root access to instance | yes | yes |
Instances can be rebooted remotely | yes | yes |
access to console output of your instances | yes | yes |
Flexible | ||
The choice of multiple instance types, operating systems, and software packages | yes | yes |
select a configuration of memory, CPU, and instance storage | yes | yes |
Use with other Amazon Web Services | ||
Supports Amazon Simple Storage Service (Amazon S3) | yes | yes |
Amazon SimpleDB | yes | suggestions welcome how to replicate locally |
Amazon Simple Queue Service (Amazon SQS) | yes | suggestions welcome how to replicate locally |
Reliable | ||
Replacement instances can be rapidly and predictably commissioned | yes | yes |
Commitment is 99.95% availability | yes | yes |
Secure | ||
Interfaces to configure firewall settings that control network access to and between groups of instances | yes | yes |
Inexpensive | ||
Pay for the resources consumed, like instance-hours or data transfer | yes | its free as you own the complete infrastucture |
Amazon Elastic Block Store | ||
Off-instance storage that persists independently from the life of an instance | yes | yes |
EBS volumes are highly available, highly reliable volumes that can be attached to a running Amazon EC2 instance and are exposed as standard block devices | yes | yes |
Amazon EBS volumes are automatically replicated on the backend | yes | possible using a Cron job taking regular backup |
Snapshots of your volumes | yes | yes |
Multiple Locations | ||
Launching instances in separate Availability Zones to protect your applications from failure of a single location | yes | live migration possible |
Elastic IP Addresses | ||
Static IP addresses designed for dynamic cloud computing | yes | possible using fix Mac |
Amazon CloudWatch | ||
Resource utilization, operational performance, and overall demand patterns—including metrics such as CPU utilization, disk reads and writes, and network traffic | yes | possible thru commandline tools |
Auto Scaling | ||
Automatically scale your Amazon EC2 capacity up or down according to conditions you define | yes | welcome suggestions as how to replicate this feature locally |
Elastic Load Balancing | ||
Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances | yes | welcome suggestions as how to replicate locally |
Instance Types | ||
Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform | yes | yes |
Large Instance 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform | yes | yes |
Extra Large Instance 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform | yes | yes |
Amazon S3 Functionality | ||
Write, read, and delete objects containing from 1 byte to 5 gigabytes of data each. The number of objects you can store is unlimited | yes | yes |
Each object is stored in a bucket and retrieved via a unique, developer-assigned key | yes | yes |
REST and SOAP interfaces | yes | yes |
Features of Amazon EBS volumes | ||
Amazon EBS allows you to create storage volumes from 1 GB to 1 TB that can be mounted as devices by Amazon EC2 instances. Multiple volumes can be mounted to the same instance | yes | yes |
Each storage volume is automatically replicated | yes | yes |
EBS also provides the ability to create point-in-time snapshots of volumes | yes | yes |
Create new volumes | yes | yes |
Amazon SimpleDB Functionality | ||
CREATE a new domain to house your unique set of structured data | yes | yes |
Query your data set | yes | yes |
Amazon SQS Functionality | ||
Developers can create an unlimited number of Amazon SQS queues with an unlimited number of messages | yes | not yet thought |
Queues can be shared with other AWS accounts and Anonymously | yes | not yet thought |
Access to SQS through standards-based SOAP and Query interfaces | yes | not yet thought |
Amazon Elastic MapReduce Functionality | ||
Hadoop implementation of the MapReduce framework on Amazon EC2 instances | yes | envisage the feature to replicate locally |
Cross Virtual Machine Portability | ||
Instances portable to VMWare,XEN etc | no | yes |
Software Update Service to Instances | ||
Instances receive updates seemlessly | no | envisage the feature to implement |
The above table will give you an idea how far the other Amazon friendly implemnetaions are..
This also indicates how I'm defining that 60% Gap exists in the opensource world to deal with Cloud ready application development & testing end2end.
Next, I will define how can I really achive this, probably a Development Cloud Stack (just ready to use) for the opensource world..