Utah Code Camp is a computer technology conference hosted annually by Utah Geek Events in Salt Lake City, UT. This presentation is an introduction to cloud computing and the Amazon AWS Cloud platform.
2. Thanks to our Sponsors!
To connect to wireless
1. Choose Uguest in the wireless list
2. Open a browser. This will open a Uof U website
3. Choose Login
3. Cloud Computing Definitions
• Essential Characteristics
– On-demand self-service
– Broad network access
– Resource pooling
– Rapid elasticity
– Measured service
• Service Models
– Software as a Service
– Platform as a Service
– Infrastructure as a Service
NIST defines five essential
characteristics, three service models,
and four deployment models.
5. Cloud Computing Definitions
ACM CTO Roundtables
What is Cloud Computing?
Cloud computing is about moving
services, computation and/or
data—for cost and business
advantage—off-site to an internal
or external, location-transparent,
centralized facility or contractor.
By making data available in the
cloud, it can be more easily and
ubiquitously accessed, often at
much lower cost, increasing its
value by enabling opportunities
for enhanced collaboration,
integration, and analysis on a
shared common platform.
Three divisions (areas):
• SaaS: WAN-enabled application services
(eg. Google Apps, Salesforce.com,
WebEx.)
• PaaS: Foundational elements to develop
new applications (eg. Coghead, Google
Application Engine.)
• Iaas: Providing computational and
storage infrastructure in a centralized,
location-transparent service (eg.
Amazon.)
6. Cloud Computing Definitions
• The term "Cloud
Computing" refers to
the on-demand delivery
of IT resources via the
Internet with pay-as-
you-go pricing.
20. Cloudbursting Example
• 1 Trillion pairs to classify
• 500 TB of data
• 10 TB result set
• CPU Bound
– Single core: ~ 1000-1500 classify ops/s
• 11.5 K core-days
21. Approach
• AWS c1.xlarge spot instances
– 8 core, 24GB RAM
– $0.075 on AWS spot market
– Best CPU/$ ratio
• HP Blades in familysearch.org datacenter
– 8 core, 24 GB RAM
– 300 servers
22. Issues to Address
• Machine Instability
– Machine death from AWS spot instance volatility
– Hardware failure (1000s of machines – certainty)
• Coordination
– Partitioning the work
– Different server clusters
• Different aws availability zones
• Fs.org datacenter
– Restart failed processes
23. The Solution
• Single Queue Multiple Reader Pattern
– SQS with visibility timeouts to manage retries
– Dead letter queue for messages failing > threshold
• Claim Check Pattern
– AWS S3 as data store
• Homogeneous, Idempotent work units
– 15-20 minute target completion time
– 0 side effects
– Work may get done multiple times
42. VPC With Multiple Subnets
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
RDS RDSRDS
ELB
RDS
ELB
Internet
ELB
43. VPC Gives Control of Networking
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
RDS RDS
Internet
Gateway Gateway
ACL
ELB
44. EC2 vs VPC
EC2
• Shared IP
• Single Network
• No network ACLs
• Internet access by
default
• Ingress only Security
Groups
• Tunnel/SSL proxy for X-
connects
VPC
• Private IP
• Isolated Subnets
• Network ACLs required
• Internet access by
design
• Ingress and Egress
Security Groups
• Direct Connect for x-
connects
47. PaaS Subnet Groups
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
Gateway Gateway
ACL
Subnet C Subnet DWide open
Subnet
Group
48. Subnet Groups
DMZ
• SSH Bastions
• NAT Servers
• FS.ORG ELBs
Public
• DLBs
• fs.org web apps
and APIs
Private
• fsg.net web apps
and APIs
• Support services
Data
• Databases
• NoSQL
Tools
• DNS
• Build tools
• PaaS army
54. Conclusion
• Cloud technology offers new opportunities in
scale and management.
• Properly using these tools is necessary to achieve
business goals.
• CapEx to OpEx is one reason to move to cloud
computing.
• A more important reason is the tremendous
flexibility that the environment offers.
• VPC provides the kinds of governance and
security an enterprise needs to be comfortable
with so much power under the hood.