SlideShare a Scribd company logo
1 of 22
Real World AWS
              Deployment
Deploying MongoDB with Fabric, Boto, and Cloud Formation

{dixon.whitmire@pokitdok.com}, @nixonhughes
Who Am I ?


Software Engineer @ Pokitdok
Tasked with scaling out infrastructure
Developed custom provisioning
 process for AWS (Boto, Fabric, Cloud
 Formation)
What we’ll cover . . .


Amazon Web Services Overview
 (EC2, ESB, Regions, etc)
REALISTIC provisioning
Building a provisioning solution with
 Boto, Fabric, and Cloud Formation to
 deploy a MongoDB Replica Set
AWS Overview


Cloud Computing and Infrastructure
 as a Service (Iaas)
AWS Regions and Availability Zones
Amazon Machine Images (AMI)
AWS Overview (continued)


Core Services
 Elastic Compute (EC2)
 Elastic Block Storage (EBS)
 Elastic IP
Tagging
Security Groups
Accessing Instances
Realistic Provisioning


Base process off of configuration
 standards: directory layouts, users,
 etc.
Processes are repeatable (scripted)
 but may not be 100% automated
Iterate to improve automation %
the alternative . . .
Boto – Python Interface for AWS


Hosted on github
Activate developer community on
 Google Groups
Supports additional services such as
 OpenStack, Eucalyptus, and Google
 Storage
Boto Examples


Stop all instances in us-west-2




Get all running Mongo Instances
Fabric – Python SSH Library


Hosted on github
Encapsulates common ssh/scp
 operations
Executable tasks are plain ‘ol Python
 functions decorated with @task
Fabric Examples


Start services




Command line task execution
AWS Cloud Formation


Declarative provisioning and
 deployment tool based on JSON
 templates
Supports composition/aggregation
 with template references
Templates are parameterized, may
 include scripts, and support updates
AWS Cloud Formation Snippet
The Dark Side of Cloud Formation
User Data, BASH, and JSON
The Design


Cloud Formation is used for
 provisioning not configuration
Boto creates AMIs and configures
 instances
Fabric as an execution framework
The Process


Create AMIs In the appropriate
 regions
Upload Cloud Formation templates to
 S3
Spin up instances using Cloud
 Formation
Configure instances with Fabric
Create AMIs


Use the command:
fab create_ami
Supports saving AMI to multiple
 regions
Differentiates between general and
 specific functions using ami_type
Update CF Templates with AMI ID
Upload to CF Templates to S3


Publish templates using:
fab push_cf_templates_to_s3
Templates are stored in S3 buckets
 per region
Publish for changes/updates to
 templates
Cloud Formation
Wrap-Up


Does this scale?
Python/Boto ease of us vs Cloud
 Formation’s declarative verbosity
Next iteration – fabric toolchain
 wrapping boto APIs
FREE CODE !!!!!
 No copyright
 No terms of use
 No strings attached
 https://github.com/dixonwh/aws-provisioning
Questions?

More Related Content

What's hot

What's hot (20)

Intro to batch processing on AWS
Intro to batch processing on AWSIntro to batch processing on AWS
Intro to batch processing on AWS
 
Introduction to Batch Processing on AWS
Introduction to Batch Processing on AWSIntroduction to Batch Processing on AWS
Introduction to Batch Processing on AWS
 
How to create aws s3 bucket using terraform
How to create aws s3 bucket using terraformHow to create aws s3 bucket using terraform
How to create aws s3 bucket using terraform
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWS
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
Aws meetup building_lambda
Aws meetup building_lambdaAws meetup building_lambda
Aws meetup building_lambda
 
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
 Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC... Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
 
AWS Update from AWS User Group UK July Meetup
AWS Update from AWS User Group UK July MeetupAWS Update from AWS User Group UK July Meetup
AWS Update from AWS User Group UK July Meetup
 
Deep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at ScaleDeep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at Scale
 
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
 
Container Orchestration with Amazon ECS
Container Orchestration with Amazon ECSContainer Orchestration with Amazon ECS
Container Orchestration with Amazon ECS
 
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
 
Scaling your web app horizontally and vertically (ahmedabad amazon aws cloud...
Scaling your web app  horizontally and vertically (ahmedabad amazon aws cloud...Scaling your web app  horizontally and vertically (ahmedabad amazon aws cloud...
Scaling your web app horizontally and vertically (ahmedabad amazon aws cloud...
 
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
 
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
 
Serverless cat detector workshop - cloudyna 2017 (16.12.2017)
Serverless cat detector   workshop - cloudyna 2017 (16.12.2017)Serverless cat detector   workshop - cloudyna 2017 (16.12.2017)
Serverless cat detector workshop - cloudyna 2017 (16.12.2017)
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015
 

Viewers also liked

Sec 1 Express Rain Gauge
Sec 1 Express Rain GaugeSec 1 Express Rain Gauge
Sec 1 Express Rain Gauge
chua.geog
 
18.2[1] cloud formation
18.2[1] cloud formation18.2[1] cloud formation
18.2[1] cloud formation
Tamara
 
cloud formation,types,causes.
cloud formation,types,causes.cloud formation,types,causes.
cloud formation,types,causes.
Hira Sumbal
 
Cloud Types Presentation
Cloud Types PresentationCloud Types Presentation
Cloud Types Presentation
Maribeth Yoder
 

Viewers also liked (17)

Rsyslog vs Systemd Journal Presentation
Rsyslog vs Systemd Journal PresentationRsyslog vs Systemd Journal Presentation
Rsyslog vs Systemd Journal Presentation
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
Rsyslog vs Systemd Journal (Paper)
Rsyslog vs Systemd Journal (Paper)Rsyslog vs Systemd Journal (Paper)
Rsyslog vs Systemd Journal (Paper)
 
Sec 1 Express Rain Gauge
Sec 1 Express Rain GaugeSec 1 Express Rain Gauge
Sec 1 Express Rain Gauge
 
AWS re:Invent 2016: Open Source at AWS—Contributions, Support, and Engagement...
AWS re:Invent 2016: Open Source at AWS—Contributions, Support, and Engagement...AWS re:Invent 2016: Open Source at AWS—Contributions, Support, and Engagement...
AWS re:Invent 2016: Open Source at AWS—Contributions, Support, and Engagement...
 
Cloud formation
Cloud formationCloud formation
Cloud formation
 
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
 
18.2[1] cloud formation
18.2[1] cloud formation18.2[1] cloud formation
18.2[1] cloud formation
 
cloud formation,types,causes.
cloud formation,types,causes.cloud formation,types,causes.
cloud formation,types,causes.
 
Cloud types
Cloud typesCloud types
Cloud types
 
Data Migration Using AWS Snowball, Snowball Edge & Snowmobile
Data Migration Using AWS Snowball, Snowball Edge & SnowmobileData Migration Using AWS Snowball, Snowball Edge & Snowmobile
Data Migration Using AWS Snowball, Snowball Edge & Snowmobile
 
Cloud formation - How clouds form and different types of clouds
Cloud formation - How clouds form and different types of cloudsCloud formation - How clouds form and different types of clouds
Cloud formation - How clouds form and different types of clouds
 
Clouds lesson powerpoint
Clouds lesson powerpointClouds lesson powerpoint
Clouds lesson powerpoint
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
 
Clouds!
Clouds!Clouds!
Clouds!
 
Cloud Types Presentation
Cloud Types PresentationCloud Types Presentation
Cloud Types Presentation
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 

Similar to Real World AWS Deployment With Boto, Fabric, and Cloud Formation

Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Amazon Web Services
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing Workshop
Charlie Moad
 
A Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon CloudA Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon Cloud
Deepak Rao
 

Similar to Real World AWS Deployment With Boto, Fabric, and Cloud Formation (20)

WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing Workshop
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
 
Cloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museumCloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museum
 
AWS re:Invent 2016: Workshop: Deploy a Deep Learning Framework on Amazon ECS ...
AWS re:Invent 2016: Workshop: Deploy a Deep Learning Framework on Amazon ECS ...AWS re:Invent 2016: Workshop: Deploy a Deep Learning Framework on Amazon ECS ...
AWS re:Invent 2016: Workshop: Deploy a Deep Learning Framework on Amazon ECS ...
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
Amazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online TrainingAmazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online Training
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
Developing Social Games in the Cloud
Developing Social Games in the CloudDeveloping Social Games in the Cloud
Developing Social Games in the Cloud
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
The IoT Academy_awstraining_part2_aws_ec2_iaas
The IoT Academy_awstraining_part2_aws_ec2_iaasThe IoT Academy_awstraining_part2_aws_ec2_iaas
The IoT Academy_awstraining_part2_aws_ec2_iaas
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
A Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon CloudA Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon Cloud
 
AWS Cloud Computing workshop 30-31st May Bangalore
AWS Cloud Computing workshop 30-31st May BangaloreAWS Cloud Computing workshop 30-31st May Bangalore
AWS Cloud Computing workshop 30-31st May Bangalore
 
AWS Cloud Computing workshop 30-31 May Bangalore
AWS Cloud Computing workshop 30-31 May BangaloreAWS Cloud Computing workshop 30-31 May Bangalore
AWS Cloud Computing workshop 30-31 May Bangalore
 
AWS Cloud Computing workshop 30 31st May Bangalore
AWS Cloud Computing workshop 30 31st May BangaloreAWS Cloud Computing workshop 30 31st May Bangalore
AWS Cloud Computing workshop 30 31st May Bangalore
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Real World AWS Deployment With Boto, Fabric, and Cloud Formation

  • 1. Real World AWS Deployment Deploying MongoDB with Fabric, Boto, and Cloud Formation {dixon.whitmire@pokitdok.com}, @nixonhughes
  • 2. Who Am I ? Software Engineer @ Pokitdok Tasked with scaling out infrastructure Developed custom provisioning process for AWS (Boto, Fabric, Cloud Formation)
  • 3. What we’ll cover . . . Amazon Web Services Overview (EC2, ESB, Regions, etc) REALISTIC provisioning Building a provisioning solution with Boto, Fabric, and Cloud Formation to deploy a MongoDB Replica Set
  • 4. AWS Overview Cloud Computing and Infrastructure as a Service (Iaas) AWS Regions and Availability Zones Amazon Machine Images (AMI)
  • 5. AWS Overview (continued) Core Services Elastic Compute (EC2) Elastic Block Storage (EBS) Elastic IP Tagging Security Groups Accessing Instances
  • 6. Realistic Provisioning Base process off of configuration standards: directory layouts, users, etc. Processes are repeatable (scripted) but may not be 100% automated Iterate to improve automation %
  • 8. Boto – Python Interface for AWS Hosted on github Activate developer community on Google Groups Supports additional services such as OpenStack, Eucalyptus, and Google Storage
  • 9. Boto Examples Stop all instances in us-west-2 Get all running Mongo Instances
  • 10. Fabric – Python SSH Library Hosted on github Encapsulates common ssh/scp operations Executable tasks are plain ‘ol Python functions decorated with @task
  • 12. AWS Cloud Formation Declarative provisioning and deployment tool based on JSON templates Supports composition/aggregation with template references Templates are parameterized, may include scripts, and support updates
  • 14. The Dark Side of Cloud Formation User Data, BASH, and JSON
  • 15. The Design Cloud Formation is used for provisioning not configuration Boto creates AMIs and configures instances Fabric as an execution framework
  • 16. The Process Create AMIs In the appropriate regions Upload Cloud Formation templates to S3 Spin up instances using Cloud Formation Configure instances with Fabric
  • 17. Create AMIs Use the command: fab create_ami Supports saving AMI to multiple regions Differentiates between general and specific functions using ami_type Update CF Templates with AMI ID
  • 18. Upload to CF Templates to S3 Publish templates using: fab push_cf_templates_to_s3 Templates are stored in S3 buckets per region Publish for changes/updates to templates
  • 20. Wrap-Up Does this scale? Python/Boto ease of us vs Cloud Formation’s declarative verbosity Next iteration – fabric toolchain wrapping boto APIs
  • 21. FREE CODE !!!!!  No copyright  No terms of use  No strings attached  https://github.com/dixonwh/aws-provisioning

Editor's Notes

  1. IaaS – use the cloud in an “elastic fashion”, resources on demand. Turn it off when you don’t need it!Regions/availability zones – redundancy and availability. PD stack spread across multiple availability zonesAmi - “disk images” for your virtual machines (EC2 instances). Keep ‘em simple. We opt to
  2. As pertains to demo:EC2 - mongo instancesEBS - root and data storageElastic IP – makes life easier with mongo rs starting and stopping and for failoverImportance of tagging – (Region Code)_(Environment)_(Tier) used as a selectorSecurity Groups – mongo: port 22, and 27017 internallyAccessing Instances – SSH
  3. servers serving same function with different OS’s, software installation locations, ssh keys, etc
  4. From the Zen of PythonIf the implementation is hard to explain, it’s a bad idea.If the implementation is easy to explain, it may be a good idea.Great API, easy to use and if used correctly trends towards “good lookin’” code
  5. - Note that connections are to REGIONS use of metadata as filters
  6. Fabric is
  7. Tasks are run against specific environments. Can be a single or multiple environments. Also supports parallel execution.
  8. The “bene” – you don’t write any code.Allows you to allocate AWS resources in a declarative fashion w/JSON.Composition – have a template for Mongo Replica Set which references a Data Node template and Arbiter template. Reduces duplication and indirectly “consolidates” the configuration.Can do a lot with thempackage support (apt-get, yum, git)Execute bash commands (whatever scripting environment is supported in the shell)
  9. Verbose, but rather simple
  10. All in one file . . .bash, package management in JSON stringsRegion specific if you want to support multiple regions you’ll need to have copies of the template in each region. Also each template must be configured to work in any enviornment, unless you want tohave separate copies of the template for each region (doesn’t scale)
  11. AWS UI for CF template parameters