Monday, September 7, 2009

Cloud Computing & Amazon -3

Amazon Simple-Db is a web service providing the core database functions of data indexing and querying in the cloud.

Build your data set

* Use CreateDomain, DeleteDomain, ListDomains, DomainMetadata to create and manage query domains
* Use Put, Batch Put, & Delete to create and manage the data set within each query domain

Retrieve your data

* Use GetAttributes to retrieve a specific item
* Use Select to query your data set for items that meet specified criteria

API Summary


Amazon SimpleDB provides a small number of simple API calls which implement writing, indexing and querying data. The interface and feature set are intentionally focused on core functionality, providing a basic API for developers to build upon and making the service easy to learn and simple to use.

* CreateDomain — Create a domain that contains your dataset.
* DeleteDomain — Delete a domain.
* ListDomains — List all domains.
* DomainMetadata — Retrieve information about creation time for the domain, storage information both as counts of item names and attributes, as well as total size in bytes.
* PutAttributes — Add or update an item and its attributes, or add attribute-value pairs to items that exist already. Items are automatically indexed as they are received.
* BatchPutAttributes — For greater overall throughput of bulk writes, perform up to 25 PutAttribute operations in a single call.
* DeleteAttributes — Delete an item, an attribute, or an attribute value.
* GetAttributes — Retrieve an item and all or a subset of its attributes and values.
* Select — Query the data set in the familiar, “select target from domain_name where query_expression” syntax. Supported value tests are: =, !=, <, > <=, >=, like, not like, between, is null, is not null, and every (). Example: select * from mydomain where every(keyword) = ‘Book’. Order results using the SORT operator, and count items that meet the condition(s) specified by the predicate(s) in a query using the Count operator.


Amazon Simple Queue Service
(Amazon SQS) offers a reliable, highly scalable, hosted queue for storing messages as they travel between computers.

Amazon SQS Functionality

* Developers can create an unlimited number of Amazon SQS queues with an unlimited number of messages.

* A queue can be created in the United States or in Europe. Queue names and message stores are independent of other regions.
* The message body can contain up to 8 KB of text in any format.
* Messages can be retained in queues for up to 4 days.
* Messages can be sent and read simultaneously.

* When a message is received, it becomes “locked” while being processed. This keeps other computers from processing the message simultaneously. If the message processing fails, the lock will expire and the message will be available again.

# Developers can access Amazon SQS through standards-based SOAP and Query interfaces.
# Developers can securely share Amazon SQS queues with others. Queues can be shared with other AWS accounts and Anonymously. Queue sharing can also be restricted by IP address and time-of-day.

Basic Queue Requests

Amazon SQS employs a simple interface that is easy to use and highly flexible. The following requests are provided:

* CreateQueue: Create queues for use with your AWS account.
* ListQueues: List your existing queues.
* DeleteQueue: Delete one of your queues.
* SendMessage: Add any data entries to a specified queue.
* ReceiveMessage: Return one or more messages from a specified queue.
* ChangeMessageVisibility: Change the visibility timeout of previously received message.
* DeleteMessage: Remove a previously received message from a specified queue.
* SetQueueAttributes: Control queue settings like the amount of time that messages are locked after being read so they cannot be read again.
* GetQueueAttributes: See information about a queue like the number of messages in it.
* AddPermission: Add queue sharing for another AWS account for a specified queue.
* RemovePermission: Remove an AWS account from queue sharing for a specified queue.

Cloud Computing & Amazon -2

Amazon Simple Storage Service (S3)
-----------------------------------
• S3 - store files on Amazon storage cloud
– Primarily used for backups, images, virtual machine snapshots
• Asynchronously replicates data to several data centers for HA
and scalability
– Typically in minutes
– Claim to never have lost any data, but no guarantees
– 99.99% uptime SLA
• Pricing
– Storage
• $0.15 to $.18/GB/Month (Higher price for data stored in Europe)
– Bandwidth – free if from EC2
• $0.10 - $.017/GB Transferred/Month

Amazon Simple Storage Service (http://aws.amazon.com/s3) is part of the
Amazon Web Services (AWS) offering.Amazon S3 is storage for the Internet. Amazon S3 provides a simple web-services interface that can be used to store and retrieve any amount of data, at any time,from anywhere on the web. It provides users access to the same highly scalable,reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.

Amazon S3 is the first Cloud vendor that Oracle has partnered with to enable
database backup in the Cloud. This functionality may be extended to more Cloud
platforms/vendors in the future.

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.
* Each object is stored in a bucket and retrieved via a unique, developer-assigned key.
* A bucket can be located in the United States or in Europe. All objects within the bucket will be stored in the bucket’s location, but the objects can be accessed from anywhere.
* Authentication mechanisms are provided to ensure that data is kept secure from unauthorized access. Objects can be made private or public, and rights can be granted to specific users.
* Uses standards-based REST and SOAP interfaces designed to work with any Internet-development toolkit.
* Built to be flexible so that protocol or functional layers can easily be added. Default download protocol is HTTP. A BitTorrent™ protocol interface is provided to lower costs for high-scale distribution.

Cloud Computing & Amazon -1

Sign up for Amazon Web Services and EC2
------------------------------
– Can use your regular Amazon account
– Create your secure X.509 certificate and create key pair
for command line access to EC2
• Using tools like SSH and PuTTY

Features

* Amazon CloudWatch – Amazon CloudWatch is a web service that provides monitoring for AWS cloud resources, starting with Amazon EC2. It provides you with visibility into resource utilization, operational performance, and overall demand patterns—including metrics such as CPU utilization, disk reads and writes, and network traffic. To use Amazon CloudWatch, simply select the Amazon EC2 instances that you’d like to monitor; within minutes, Amazon CloudWatch will begin aggregating and storing monitoring data that can be accessed using web service APIs or Command Line Tools .

* Amazon Virtual Private Cloud – Amazon VPC is a secure and seamless bridge between a company’s existing IT infrastructure and the AWS cloud. Amazon VPC enables enterprises to connect their existing infrastructure to a set of isolated AWS compute resources via a Virtual Private Network (VPN) connection, and to extend their existing management capabilities such as security services, firewalls, and intrusion detection systems to include their AWS resources.

* Elastic IP Addresses – Elastic IP addresses are static IP addresses designed for dynamic cloud computing. An Elastic IP address is associated with your account not a particular instance, and you control that address until you choose to explicitly release it. Unlike traditional static IP addresses, however, Elastic IP addresses allow you to mask instance or Availability Zone failures by programmatically remapping your public IP addresses to any instance in your account. Rather than waiting on a data technician to reconfigure or replace your host, or waiting for DNS to propagate to all of your customers, Amazon EC2 enables you to engineer around problems with your instance or software by quickly remapping your Elastic IP address to a replacement instance.

* Auto Scaling – Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using scales up seamlessly during demand spikes to maintain performance, and scales down automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees

* Multiple Locations – Amazon EC2 provides the ability to place instances in multiple locations. Amazon EC2 locations are composed of Regions and Availability Zones. Availability Zones are distinct locations that are engineered to be insulated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other Availability Zones in the same Region. By launching instances in separate Availability Zones, you can protect your applications from failure of a single location. Regions consist of one or more Availability Zones, are geographically dispersed, and will be in separate geographic areas or countries. The Amazon EC2 Service Level Agreement commitment is 99.95% availability for each Amazon EC2 Region. Amazon EC2 is currently available in two regions: one in the US and one in Europe.

* Amazon Elastic Block Store – Amazon Elastic Block Store (EBS) offers persistent storage for Amazon EC2 instances.Amazon 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. Amazon EBS provides the ability to create point-in-time consistent snapshots of your volumes that are then stored in Amazon S3, and automatically replicated across multiple Availability Zones. These snapshots can be used as the starting point for new Amazon EBS volumes, and can protect your data for long term durability.

* Elastic Load Balancing – Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic. Elastic Load Balancing detects unhealthy instances within a pool and automatically reroutes traffic to healthy instances until the unhealthy instances have been restored. You can enable Elastic Load Balancing within a single Availability Zone or across multiple zones for even more consistent application performance.

Cloud Computing & Amazon

Amazon Web Services (AWS) -- http://aws.amazon.com
------------------------------------------------------
• Amazon Data Center in the Cloud
• Fast, easy, inexpensive renting of servers / storage
– Elastic Compute Cloud (EC2) – Rent Linux virtual machines
• 10-80 cents/hour
– Simple Storage Service (S3) – Store files
• 15 cents/GB/month (US)
• 18 cents/GB/month (Europe)
– Bandwidth Costs
• 10 cents/GB incoming
• 10 – 17 cents/GB outgoing (based on volume)
• Customers demand for Oracle products to run on AWS
EC2

Amazon EC2 Features
------------------
• Elastic (Static) IP Addresses
– Pre-assigned static IP addresses that can be associated with any
EC2 instance
• Elastic Block Storage
– Persistent “NAS” style storage
– Allows users to create volumes and snapshots
– Default EC2 storage is ephemeral – you loose everything the
moment you shut down an instance
• Availability Zones
– Spread your instances across multiple locations for business
continuity
• Security
– Private/Public key pair based, SSH-only administrator access
– Ability to configure firewall and network port settings

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.


To use Amazon EC2, you simply:


* Create an Amazon Machine Image (AMI) containing your applications, libraries, data & associated configuration settings.Or use pre-configured, templated images to get up & running immediately.
* Upload the AMI into Amazon S3.Amazon EC2 provides tools that make storing the AMI simple.Amazon S3 provides a safe,reliable & fast repository to store your images.
* Use Amazon EC2 web service to configure security and network access.
* Choose which instance type(s) and operating system you want, then start, terminate, and monitor as many instances of your AMI as needed, using the web service APIs or the variety of management tools provided.
* Determine whether you want to run in multiple locations, utilize static IP endpoints, or attach persistent block storage to your instances.

Service Highlights

Elastic – Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You can commission one, hundreds or even thousands of server instances simultaneously. Of course, because this is all controlled with web service APIs, your application can automatically scale itself up and down depending on its needs.

Completely Controlled
Flexible
Designed for use with other Amazon Web Services
Reliable
Secure
Inexpensive

Cloud Computing

Cloud Computing has emerged as the new industry buzzword.Cloud Computing allows users to tap into a

virtually unlimited pool of computing resources over the Internet (the Cloud).
Unlike traditional IT, Cloud users have little insight or control over the underlying
infrastructure, and they must interact with the Cloud via an API provided by the
Cloud vendors. The most exciting part of the Cloud, however, is its elasticity and
utility-style pricing. Users can provision resources dynamically in a self-service
manner and pay only for what they use – much like how we use utilities like
electricity or water.

CLOUD ANTI VIRUS IS LATEST TREND IN CLOUD COMPUTING

What Is Cloud Computing?

• Computing resources residing on
Internet (‘the cloud’)
• Underlying physical resources not
exposed
– Abstracted at various levels (virtual
machines, database as a service, etc.)
– No direct hardware control
• Infinitely scalable
• Billed by consumption
– Per hour, per GB, etc.
• Typical Interface: Web Services
– REST, SOAP

• Quick, Self-Service Provisioning
– Developers no longer waiting on IT to respond
– Eases and Speeds Up Application Development
• Elastic
– Scale up and down rapidly





Different Levels of Cloud Computing
---------------------------------
Cloud computing is typically divided into three levels of service offerings:
Software as a Service(SaaS),
Platform as a Service (PaaS), and
Infrastructure as a service (IaaS).
These levels support
virtualization and management of differing levels of the solution stack.

Software as a Service
---------------------
A SaaS provider typically hosts and manages a given application in their own data center and makes it available to multiple tenants and users over the Web. Some SaaS providers run on another cloud provider’s PaaS or IaaS service offerings. Oracle CRM On Demand,Salesforce.com, and Netsuite are some of the well known SaaS examples.

Platform as a Service
---------------------
Platform as a Service (PaaS) is an application development and deployment platform delivered as a service to developers over the Web. It facilitates development and deployment of applications without the cost and complexity of buying and managing the underlying infrastructure, 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. This platform consists of infrastructure software, and typically includes a database, middleware and development tools. A virtualized and clustered grid computing architecture is often the basis for this infrastructure software. Some PaaS offerings have a specific programming language or API. For example,Google AppEngine is a PaaS offering where developers write in Python or Java. EngineYard is Ruby on Rails. And sometimes PaaS providers have proprietary languages like force.com from Salesforce.com and Coghead, now owned by SAP.

Infrastructure as a Service
---------------------------
Infrastructure as a Service (IaaS) is the delivery of hardware (server, storage and network), and associated software (operating systems virtualization technology, file system), as a service. It is an evolution of traditional hosting that does not require any long term commitment and allows users to provision resources on demand. Unlike PaaS services, the IaaS provider does very little management other than keep the data center operational and users must deploy and manage the software services
themselves – just the way they would in their own data center. Amazon Web Services Elastic Compute Cloud (EC2) and Secure Storage Service (S3) are examples of IaaS offerings.