Cloud Computing (beginning with notes from Wikipedia article) Cloud computing systems typically use REST-based APIs. Web services often used to loosely couple components (my guess interpretation). Multitenancy: A single provider instance is utilitized by multiple clients. HISTORY 2006 Amazon offers Amazon Web Services on utility basis. 2008 Eucalyptus offers AWS API-compatible open-source platform for private clouds. LAYERS Client Application. SaaS. Platform. PaaS = Platform as a Service. Infrastructure. IaaS = Infrastructure as a Service Like raw block storage and networking. Often virtualized. Usually metered. Server. Actual hardware and software components particularly designed or suited to Cloud operation. [Sometimes NaaS, Network as a service] Private clouds may be internally or externally hosted. Virtual Private Cloud = private cloud assembled from public cloud resources. Public Services Amazon AWS = Amazon Web Services. Amazon'd cloud computing platform Amazon EC2 = Elastic Compute Cloud. IaaS. Virtual private servers using Xen See separate file $HOME/doc/java/ec2.txt Amazon S3 = Simple Storage Service Provides storage through web service interfaces: REST, SOAP, BitTorrent Recently allow to host entire website. Like GAE can't do bare domain, but can do arbitrary subdomain. The Xen images canmount an S3 bucket as a FS using FUSE, incl. Hadoop FS. Many serivces, incl. Dropbox, use S3 for storage and transfer. Google App Engine = GAE = GAE/J. PaaS. Very dummied-down and restricted compared to EC2. GAE Java servlet container uses Jetty Web Server gae-filestore. Virtual FS. Only a subset of JRE may be used: "The JRE Class White List" Can only execute upon http requests. Cannot create new threads. SSL/HTTPS domain restriction. Only www.domain.name supported, not bare 'domain.name.' Dumb. Dummied down non-relation SQL alternative named GQL. As of 10/2011, offer MySql option. vCloud (by VMware) OpenStack (by Rackspace Cloud and NASA) Azure Services Platform. Microsoft in MS data centers.