300 likes | 452 Views
Amazon Web Services and EC2. Cloud Computing Systems. Lin Gu. Hong Kong University of Science and Technology. Sept. 26, 2011. Cloud Systems. Infrastructure as a Service (IaaS): basic compute and storage resources E.g., Amazon AWS/EC2 , VMWare vCloud
E N D
Amazon Web Services and EC2 Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 26, 2011
Cloud Systems • Infrastructure as a Service (IaaS): basic compute and storage resources • E.g., Amazon AWS/EC2, VMWare vCloud • Platform as a Service (PaaS): cloud application infrastructure • E.g. Google App Engine, Salesforce.com, Windows Azure • Software as a Service (SaaS): cloud applications • E.g. Google Docs, Microsoft Office Web Companions, Office 365
Commerce Department Statistics % of Utilized Server Capacityon Average? 6% % of Capital Equipment Budget spent on IT in 2000? 45% Economist Survey on IT, 2008
Elasticity – Provisioning for Peak Real World Server Utilization Is 5% to 20% • Provision for peak? • Painful to under-provision • Do we know the “peak”? Provisioning for Peak Without Elasticity, Waste Resources(Shaded Areas)During Non-Peak Times
Elasticity – Pay as You Go You pay ONLYfor what you use ONLY when you use it With the ability to SCALEup and down on-demand
Incremental Scalability • Traditional in-house IT services is difficult to scale • Large Up-Front Investment • Invest Ahead of Demand • Load is Unpredictable • The scaling process should be incremental • But sometimes you cannot predict the growth
Diurnal, seasonal, and occasional fluctuations “Every year, we take the busiest minute of the busiest hour of the busiest day and build capacity on that, we built our systems to (handle that load) and we went above and beyond that.” * “Yet something went terribly wrong. As procrastinating taxpayers came home from work on the East Coast on Tuesday and began to file their returns, the company's servers began to overload…”-- Scott Gulbransen Intuit Spokesman * http://news.com.com/2100-1038_3-6177341.html
Solution: Integrate users, logic, and data at larger scale Statistical Multiplexing, and more… • Scale capacity on demand • Turn fixed costs into variable costs • Always available, high reliability • Follow established APIs and conceptual models • Cost-effective • Reduced time to market • Focus on product & core competencies
Amazon Web Services A set of APIs and programming models which give developer-level access to Amazon’s infrastructure and business data • Infrastructure As A Service • Amazon Elastic Compute Cloud • Platform As A Service • Amazon Simple Queue Service • Amazon Simple Storage Service Then… • Data As A Service • Amazon E-Commerce Service • Amazon Historical Pricing • People As A Service • Amazon Mechanical Turk • Search As A Service • Alexa Web Information Service
Pay-as-You-Go • Commercially usable and available • Monthly billing • Self-serve model: • Sign up as developer • Choose services • Agree to service licenses • Enter payment info • Start coding
Amazon Elastic Compute Cloud $.10 per server hour • Virtual machine with various OS and pre-installed software packages • Elastic Capacity • 1.7 GHz x86, 1.7 GB RAM, 160 GB Disk, 250 MB/Second Network • Network Security Model $.10 - $.18 per GB data transfer
AMI and instances • Amazon Machine Image (AMI): • Bootable, pre-defined or user-built • OS: Fedora, Centos, Gentoo, Debian, Ubuntu, Windows Server • Software packages: LAMP, mpiBLAST, Hadoop • Instance: • Running copy of an AMI • Launch in less than 2 minutes • Start/stop programmatically
Other Available Configurations • Large Instance: $0.40 per instance-hour • 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 • Extra Large Instance: $0.80 per instance-hour • 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
Amazon EC2 At Work • Startups • Cruxy – Media transcoding • GigaVox Media – Podcast Management • Larger businesses: • High-Impact, Short-Term Projects • Development Host • Science / Research: • Hadoop / MapReduce • mpiBLAST • Load-Management and Load Balancing Tools: • Pound • Weogeo • Rightscale
Images: RegisterImage DescribeImages DeregisterImage Instances: RunInstances DescribeInstances TerminateInstances GetConsoleOutput RebootInstances Keypairs: CreateKeyPair DescribeKeyPairs DeleteKeyPair Image Attributes: ModifyImageAttribute DescribeImageAttribute ResetImageAttribute Security Groups: CreateSecurityGroup DescribeSecurityGroups DeleteSecurityGroup AuthorizeSecurityGroupIngress RevokeSecurityGroupIngress EC2 SOAP/Query API
Azure Node Structure • A node is a management unit of FC • Contains an FC Agent in Hyper-V root partition • Each role instance runs in Guest OS with GA • FA delegates GAs to handle VM status
Pros and cons • Cheap (to begin) • Scalable: as (reasonably) many servers as you need • Upgrade to more virtual processors • Fault tolerant: Failover machines • No hardware required, no up-front commitment However, … • Random IP Addresses • Costs accrue • Non-persistent storage
Amazon Simple Storage Service $.01 for 1000 to 10000 requests $.15 per GB per month storage • Object-Based Storage • 1 B – 5 GB / object • Fast, Reliable, Scalable • Redundant, 99.99% Availability Goal • Private or Public • Per-object URLs & ACLs • BitTorrent Support $.10 - $.18 per GB data transfer
Amazon Simple Storage Service (S3) • Objects: • Opaque data to be stored (1 byte … 5 Gigabytes) • Authentication and access controls • Buckets: • Object container – any number of objects • 100 buckets per account / buckets are “owned” • Keys: • Unique object identifier within bucket • Up to 1024 bytes long • Flat object storage model • Standards-Based Interfaces: • REST and SOAP • URL-Addressability – every object has a URL
S3 SOAP/Query API • Service: • ListAllMyBuckets • Buckets: • CreateBucket • DeleteBucket • ListBucket • GetBucketAccessControlPolicy • SetBucketAccessControlPolicy • GetBucketLoggingStatus • SetBucketLoggingStatus • Objects: • PutObject • PutObjectInline • GetObject • GetObjectExtended • DeleteObject • GetObjectAccessControlPolicy • SetObjectAccessControlPolicy
Windows Azure Storage The Windows Azure storage services provide storage for binary and text data, messages, and structured data • Blob service: storing binary and text data • Queue service: storing messages that may be accessed by a client • Table service: structured storage for non-relational data • Windows Azure drives: mounting an NTFS volume accessible to code running in your Windows Azure service • “Programmatic access to the Blob, Queue, and Table services is available via the Windows Azure Managed Library and the Windows Azure storage services REST API” -- http://msdn.microsoft.com/library/ee924681.aspx
Amazon Simple Queue Service • Scalable Queuing • Elastic Capacity • Reliable, Simple, Secure $.10 per 1000 messages $.10 - $.18 per GB data transfer
SQS • Queues: persistent, named message container • Messages: Up to 256KB of data per message • Messages are stored redundantly across multiple servers and datacenters • A reliable, highly scalable hosted distributed queue for storing messages • Scalable: • Unlimited number of queues per account • Unlimited number of messages per queue • Runs within Amazon's high-availability datacenters • Amazon's messaging infrastructure as a web service • Platform-agnostic, allowing any computer on the Internet to add or read messages through the defined API
SQS SOAP/Query API • Security: • AddGrant • ListGrants • RemoveGrant • Queues: • ListQueues • DeleteQueue • SetVisibilityTimeout • GetVisibilityTimeout • Messages: • SendMessage • ReceiveMessage • DeleteMessage • PeekMessage
Infrastructure as a Service Elastic Compute Cloud Compute Simple Storage Service Simple Queue Service Store Message
Azure Apps– Overview The Internet The Internet via TCP or HTTP Tables LB LB LB Storage Queues Web Site (ASPX, ASMX, WCF) Worker Service Web Site (ASPX, ASMX, WCF) Worker Service Web Role IIS as Host Worker Role Managed Interface Call Blobs Windows Azure Data Center