Cloud Computing and Amazon Web Services Gary A. McGilvary edinburgh data.intensive research 1
OUTLINE 1. An Overview of Cloud Computing 2. Amazon Web Services 3. Amazon EC2 Tutorial 4. Conclusions 2
CLOUD COMPUTING What is Cloud Computing? The delivery of hosted services or computational resources over the Internet!!!Internet! - Services or resources accessible by Internet connection - Unknown location or mode of operation/architecture - Resources rented when required (you don t have a personal hairdresser!)
CLOUD COMPUTING The Three Service Models of Cloud Computing - Software as a Service (SaaS) - Delivery of applications over a browser - Platform as a Service (PaaS) - Delivery of a computing platform to develop and utilize applications - Infrastructure as a Service (IaaS) - Delivery of computer infrastructure as a service - X (anything) as a Service (XaaS) unbounded list of services...
CLOUD COMPUTING Software as a Service (SaaS) Service hosted on the vendor s web servers, accessed via browser Applications easy to use, simply log on Reduced licensing problems Collaboration No control over service functionality: to consume or not to consume!
CLOUD COMPUTING Platform as a Service (PaaS) Platform and solution stack provided for application development Application creation typically easy and fast (must use tools from provider!) Underlying computation and storage match application demand (if paid for!) More control over application functionality
CLOUD COMPUTING Infrastructure as a Service (IaaS) Infrastructure outsourced: processing, storage, networking etc User selects/installs OS and application Scalable and elastic in nature Most flexible service model Virtualization a major enabler
CLOUD COMPUTING Virtualization Create a virtual version of a resource or device (e.g server, network, OS) One of the more important techniques for the separation of hardware, operating system and applications Virtual Machine instances Allows multiple OS s on same hardware Server Each Virtual Machine thinks it has the hardware resources (e.g RAM) to itself Serveral computers for the price of one!
CLOUD COMPUTING Why Cloud Computing? 1. A major argument for Cloud Computing is pricing! - We could buy our own machines and pay for... - electricity - room provision - cooling - disks for storage - maintenance/upgrades - switches for Internet - system administration - racks - And allocate enough capacity to deal with peak demand! - machines rarely operate at more than 30% capacity - paying for wasted resources - Instead rent resources (per hour) from the cloud if and when you need them! (exception: SaaS typically charged monthly)
CLOUD COMPUTING Why Cloud Computing? Pay-as-you-go Rental Model Rent virtual machines (instances) by the hour Pay for storage by space/month Pay for bandwidth by amount transferred No other major costs Similar to the utility model of using electricity and gas! Portrayed to be cheaper than owning infrastructure (up to a point!) No upfront cost: Capital Expenditure turns to Operating Expenditure Time to service/market reduced dramatically
CLOUD COMPUTING How much would it cost to rent a Super Computer for an hour? Amazon Web Services charge $0.52 per hour for an extra large instance - a 1728 instance cluster would cost $898.56 Data costs $0.12 per GB to upload and we wish to upload 1TB - this would cost $122.88 The resulting setup would be #146 in the world s top-500 supercomputers Total Cost: 1021.44 (per hour)
CLOUD COMPUTING Why Cloud Computing? 2. Scalable and Elastic Provisioning In cases where demand fluctuates, we want to adjust the number of instances accordingly. Animoto: produces trailors from photos, videos and music Used Amazon s EC2 cloud to provision servers according to demand Increase in demand for service unpredicatable
CLOUD COMPUTING Why Cloud Computing? 2. Scalable and Elastic Provisioning In cases where demand fluctuates, we want to adjust the number of instances accordingly.
CLOUD COMPUTING Why Cloud Computing? 3. Flexibility - access to resources from any machine with an internet connection - deploy infrastructure from anywhere at anytime, on demand! - unlimited resources available 4. Availability and Reliability - fault tolerance managed by the provider - high levels of uptime 99.95% Amazon 5. Maintenance - reduce support staff required 6. CO2 Footprint - consolidation of servers - higher utilization overall - reduce power usage
CLOUD COMPUTING Drawbacks of Cloud Computing 1. Availability - organizations many require 99.999% uptime - what it a providers goes bust? 2. Data Lock-in - Some provider hosts our data but we can only access it via provider APIs - Lock-in makes customers vulnerable to price increases 3. Latency/Network-Dependent - High Performance Computing (HPC) requires low latency - Network performance typically poor compared to HPC resources 4. Security and Privacy - government and provider can potentially access your data! - public users on a public platform; potentially malicious!
CLOUD COMPUTING Legal: If the intruder goes on to conduct illegal activity on or from your server, parties who suffer damage may hold you liable. Financial: Bandwidth consumed by your instances will be billed to your account. For example, if the intruder were to host a download site for (say) illegal software or music downloads and advertise the address on an underground mailing list, thousands of like minded downloaders may start downloading from your server, running up your usage charges.
CLOUD COMPUTING Types of Cloud Public Private Hybrid
CLOUD COMPUTING Types of Cloud Public Private Hybrid - An external cloud available to all who wish to pay for its services - Hosted by commercial provider - Concerns: reliability, availability, security, service level agreement (SLA)
CLOUD COMPUTING
CLOUD COMPUTING
CLOUD COMPUTING Types of Cloud Public Private Hybrid - An internal cloud hosted on a private network (e.g within a business) - Offer greatest level of control and security - Business still required to purchase infrastructure to host cloud upon
CLOUD COMPUTING Types of Cloud Public Private Hybrid - Extend the Private Cloud(s) by connecting it to other (public) clouds - Business takes benefits and disadvantages of both models! - Cloudbursting: use local cloud and burst into the public cloud when more resources are needed - Performed by utilizing cloud provider API s and open source solutions
Questions? 23
OUTLINE 1. An Overview of Cloud Computing 2. Amazon Web Services 3. Amazon EC2 Tutorial 4. Conclusions 24
AWS Amazon Web Services (AWS) Collection of remote computing services that make up a computing platform Amazon Elastic Compute Cloud
AWS Amazon EC2 A public IaaS cloud computing platform allowing users to rent virtual resources Features: - provides scalable and elastic compute capacity in the cloud - complete control over resources - pay-as-you-go model - use 10 minutes, pay for the hour! (common among providers) - most popular cloud provider
AWS Amazon EC2 Concepts Amazon Machine Image (AMI) - a disk image template containing an operating system and/or software EC2 Server Instance AMI Launch instances of any type Instance Instance EC2 Server EC2 Instance - Virtual machine with CPU and memory resources as well as some storage
AWS Amazon EC2 Concepts Instance Types: - On-demand instance: no initial cost, pay for what you use (per hour) - Reserved instance: subscription cost, pay less for what you use (per hour) - Spot instance: bid on spare EC2 instances Sizes Micro Small Medium Large Extra Large Double Extra Large Quadruple Extra Large Eight Extra Large Types Standard 1st Generation Standard 2nd Generation High-Memory High-CPU Cluster Compute High Memory Cluster Cluster GPU High I/O High Storage Based on: number of cores, memory, storage, I/O
AWS Amazon EC2 Concepts Instance Types: - On-demand instance: no initial cost, pay for what you use (per hour) - Reserved instance: subscription cost, pay less for what you use (per hour) - Spot instance: bid on spare EC2 instances Size Memory Storage Compute Cores I/O Cost $ Small 1.7 GB 160 GB 1 ECU 1 Moderate 0.065 Medium 3.75 GB 410 GB 2 ECU s 1 Moderate 0.13 Large 7.5 GB 850 GB 4 ECU s 2 High 0.260 XLarge 15 GB 1690 GB 8 ECU s 4 High 0.52 EC2 Compute Unit: 1.0-1.2 GHz Xeon 2007 processor
Amazon EC2 Instance Costs AWS
AWS Networking - Regions
Networking - Availability Zones AWS
AWS Amazon EC2 Data Costs Regional Data Transfer (within a region) Internet Data Transfer (to/from another region) AZ Data Transfer (free!)
AWS Amazon EC2 Data Costs Data charged for both in to and out of Amazon EC2
AWS Amazon EC2 Data Costs Data charged for both in to and out of Amazon EC2
AWS Amazon Storage Simple Storage Service (S3) - online storage providing: - scalability - high availability - low latency - commodity cost - Accessed via REST and SOAP interfaces Elastic Block Store (EBS) - additional attached instance storage - off-instance persistence - one instance can have many EBS volumes - automatic AZ replication - Snapshot: backup to S3 36
Amazon EC2 Storage Costs AWS Storage charged per GB. Request charges differ per service
AWS You can try all of these services for free! Amazon Free Tier: http://aws.amazon.com/free/ http://aws.amazon.com/grants/
OUTLINE 1. An Overview of Cloud Computing 2. Amazon Web Services 3. Amazon EC2 Tutorial 4. Conclusions 39
TUTORIAL How to configure EC2 instances Deploy instances Use another AWS Service: RDS Install web application: WordPress Available at: http://garymcgilvary.co.uk/ec2-tutorial.pdf Ensure you use a Micro instance!!
OUTLINE 1. An Overview of Cloud Computing 2. Amazon Web Services 3. Amazon EC2 Tutorial 4. Conclusions 41
CONCLUSIONS The delivery of hosted services or computational resources over the Internet (Internet connection only required!) Three models of Cloud Computing each offering different layer of abstraction - SaaS, PaaS and IaaS Three types of Clouds each with their own benefits and disadvantages - Public, private and hybrid Virtualization typically used behind the scenes of all models and types of Clouds No initial infrastructure costs, pay-as-you-use and elasticity major enablers of Cloud Amazon EC2 most popular provider and will likely have everything you need! - free to use: Free Tier - Students and researchers can apply to obtain credits for AWS Try Cloud Computing!!
THANK YOU! Questions? gary.mcgilvary@ed.ac.uk 43