Cloud Computing
An Introduction and Overview
Tom Creighton
CTO, Family Search
tc@familysearch.org
Thanks to our Sponsors!
To connect to wireless
1. Choose Uguest in the wireless list
2. Open a browser. This will open a U...
Cloud Computing Definitions
• Essential Characteristics
– On-demand self-service
– Broad network access
– Resource pooling...
Cloud Computing Definitions
• Deployment Models
– Private cloud
– Community cloud
– Public cloud
– Hybrid cloud
NIST cloud...
Cloud Computing Definitions
ACM CTO Roundtables
What is Cloud Computing?
Cloud computing is about moving
services, computa...
Cloud Computing Definitions
• The term "Cloud
Computing" refers to
the on-demand delivery
of IT resources via the
Internet...
Cloud Conceptual Framework
Cisco Domain Ten Framework
AWS Regions and Edge Locations
Regions and Availability Zones
Not All Regions Have Same Number of
Zones
Cisco Domain Ten Framework
AWS Account Management
Cisco Domain Ten Framework
AWS Service Catalog
S3 Management Console
S3 Objects in a Bucket
An Example Cloud Use
Cloudbursting Example
• 1 Trillion pairs to classify
• 500 TB of data
• 10 TB result set
• CPU Bound
– Single core: ~ 1000...
Approach
• AWS c1.xlarge spot instances
– 8 core, 24GB RAM
– $0.075 on AWS spot market
– Best CPU/$ ratio
• HP Blades in f...
Issues to Address
• Machine Instability
– Machine death from AWS spot instance volatility
– Hardware failure (1000s of mac...
The Solution
• Single Queue Multiple Reader Pattern
– SQS with visibility timeouts to manage retries
– Dead letter queue f...
Claim Check - EIP
Results
• Work Completed
• 64 hours
• 1000 machines avg.; ~2500 peak
• $5000
– 6X cost savings over previous Hadoop based
...
Next Steps
• Better metrics
– Log aggregations via Splunk
– Performance counters
• Better deployment
– CloudFormation
• AW...
AWS For Real - Enterprise
Introduction to Autoscale
Configuration Example
CloudFormation Template - 1
"Resources" : {
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Propertie...
Cloudformation Template - 2
"LaunchConfig" : {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties" : {
"KeyName...
Cloudformation Template - 3
"WebServerScaleUpPolicy" : {
"Type" : "AWS::AutoScaling::ScalingPolicy",
"Properties" : {
"Adj...
Cloudformation - 4
"WebServerScaleDownPolicy" : {
"Type" : "AWS::AutoScaling::ScalingPolicy",
"Properties" : {
"Adjustment...
Cloudformation - 5
"CPUAlarmHigh": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"AlarmDescription": "Scale-up if CP...
Cloudformation Template - 6
"CPUAlarmLow": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"AlarmDescription": "Scale-...
New Stack Creation
Created One Scale Group
Making it Real
Vanilla Amazon
ELB
Internet
RDS RDS
ELB
Availability Zone 2Availability Zone 1
10.0.0.0/8
ELB
RDS
ELB
RDS
ELB
RDS
ELB
RDS
Virtual Private Cloud
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
VPC With Multiple Subnets
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
RDS RDSRDS
ELB
RDS
E...
VPC Gives Control of Networking
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
RDS RDS
Intern...
EC2 vs VPC
EC2
• Shared IP
• Single Network
• No network ACLs
• Internet access by
default
• Ingress only Security
Groups
...
Virtual Private Cloud
PaaS Subnet Groups
Availability Zone 2Availability Zone 1
VPC – 10.36.0.0/16
Subnet A Subnet B
Gateway Gateway
ACL
Subnet ...
Subnet Groups
DMZ
• SSH Bastions
• NAT Servers
• FS.ORG ELBs
Public
• DLBs
• fs.org web apps
and APIs
Private
• fsg.net we...
Internet/Datacenter Routing
DMZ
Public
Private
Data
Tools
Internet Gateway
Private Gateway
Direct Connect
VPC Setup
HA VPN Instances for VPN
Public Tier Details
Conclusion
• Cloud technology offers new opportunities in
scale and management.
• Properly using these tools is necessary ...
Utah Codecamp Cloud Computing
Utah Codecamp Cloud Computing
Utah Codecamp Cloud Computing
Utah Codecamp Cloud Computing
Utah Codecamp Cloud Computing
Upcoming SlideShare
Loading in …5
×

Utah Codecamp Cloud Computing

484 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
484
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Utah Codecamp Cloud Computing

  1. 1. Cloud Computing An Introduction and Overview Tom Creighton CTO, Family Search tc@familysearch.org
  2. 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. 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.
  4. 4. Cloud Computing Definitions • Deployment Models – Private cloud – Community cloud – Public cloud – Hybrid cloud NIST cloud computing reference architecture
  5. 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. 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.
  7. 7. Cloud Conceptual Framework
  8. 8. Cisco Domain Ten Framework
  9. 9. AWS Regions and Edge Locations
  10. 10. Regions and Availability Zones
  11. 11. Not All Regions Have Same Number of Zones
  12. 12. Cisco Domain Ten Framework
  13. 13. AWS Account Management
  14. 14. Cisco Domain Ten Framework
  15. 15. AWS Service Catalog
  16. 16. S3 Management Console
  17. 17. S3 Objects in a Bucket
  18. 18. An Example Cloud Use
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. Claim Check - EIP
  24. 24. Results • Work Completed • 64 hours • 1000 machines avg.; ~2500 peak • $5000 – 6X cost savings over previous Hadoop based solution • 300 lines of Java/bash code • 1 engineer / 1 week
  25. 25. Next Steps • Better metrics – Log aggregations via Splunk – Performance counters • Better deployment – CloudFormation • AWS Simple Workflow (SWF) for better server lifetime management • Investigate other OSS possibilities – Storm – Hadoop YARN – akka
  26. 26. AWS For Real - Enterprise
  27. 27. Introduction to Autoscale
  28. 28. Configuration Example
  29. 29. CloudFormation Template - 1 "Resources" : { "WebServerGroup" : { "Type" : "AWS::AutoScaling::AutoScalingGroup", "Properties" : { "AvailabilityZones" : { "Fn::GetAZs" : ""}, "LaunchConfigurationName" : { "Ref" : "LaunchConfig" }, "MinSize" : "1", "MaxSize" : "3", "LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ] } },
  30. 30. Cloudformation Template - 2 "LaunchConfig" : { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Properties" : { "KeyName" : { "Ref" : "KeyName" }, "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ]} ] }, "UserData" : { "Fn::Base64" : { "Ref" : "WebServerPort" }}, "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], "InstanceType" : { "Ref" : "InstanceType" } }},
  31. 31. Cloudformation Template - 3 "WebServerScaleUpPolicy" : { "Type" : "AWS::AutoScaling::ScalingPolicy", "Properties" : { "AdjustmentType" : "ChangeInCapacity", "AutoScalingGroupName" : { "Ref" : "WebServerGroup"}, "Cooldown" : "60", "ScalingAdjustment" : "1" } },
  32. 32. Cloudformation - 4 "WebServerScaleDownPolicy" : { "Type" : "AWS::AutoScaling::ScalingPolicy", "Properties" : { "AdjustmentType" : "ChangeInCapacity", "AutoScalingGroupName" : { "Ref" : "WebServerGroup" }, "Cooldown" : "60", "ScalingAdjustment" : "-1" } },
  33. 33. Cloudformation - 5 "CPUAlarmHigh": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "AlarmDescription": "Scale-up if CPU > 90% for 10 minutes", "MetricName": "CPUUtilization", "Namespace": "AWS/EC2", "Statistic": "Average", "Period": "300", "EvaluationPeriods": "2", "Threshold": "90", "AlarmActions": [ { "Ref": "WebServerScaleUpPolicy" } ], "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": { "Ref": "WebServerGroup" } } ], "ComparisonOperator": "GreaterThanThreshold" } },
  34. 34. Cloudformation Template - 6 "CPUAlarmLow": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "AlarmDescription": "Scale-down if CPU < 70% for 10 minutes", “MetricName": "CPUUtilization", "Namespace": "AWS/EC2", "Statistic": "Average", "Period": "300", "EvaluationPeriods": "2", "Threshold": "70", "AlarmActions": [ { "Ref": "WebServerScaleDownPolicy" } ], "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": { "Ref": "WebServerGroup" } } ], "ComparisonOperator": "LessThanThreshold" } },
  35. 35. New Stack Creation
  36. 36. Created One Scale Group
  37. 37. Making it Real
  38. 38. Vanilla Amazon ELB Internet RDS RDS ELB Availability Zone 2Availability Zone 1 10.0.0.0/8 ELB RDS ELB RDS ELB RDS ELB RDS
  39. 39. Virtual Private Cloud Availability Zone 2Availability Zone 1 VPC – 10.36.0.0/16
  40. 40. 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
  41. 41. 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
  42. 42. 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
  43. 43. Virtual Private Cloud
  44. 44. 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
  45. 45. 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
  46. 46. Internet/Datacenter Routing DMZ Public Private Data Tools Internet Gateway Private Gateway Direct Connect
  47. 47. VPC Setup
  48. 48. HA VPN Instances for VPN
  49. 49. Public Tier Details
  50. 50. 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.

×