SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Infrastructure in the
                                 Cloud Era
                Adam Jacob - Co-founder & CTO, Opscode
        Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard


                               Opscode


Wednesday, April 8, 2009
Please Join our Ad-Hoc
                           Cloud
      If you have a Mac with Developer Tools
                    installed...
 curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh




Wednesday, April 8, 2009
What are you guys
                            talking about?

                    •      Bootstrapping
                    • Configuration
                    • Command and Control

                            curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh


Wednesday, April 8, 2009
Many
                             Different
                              Tools
                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh


Wednesday, April 8, 2009
Bootstrapping


                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh


Wednesday, April 8, 2009
Bootstrapping Approaches
                                          Good                         Bad                Time

                                     Known Costs, No           High Waste (Hoarding)
                                         Variation.                  Red Tape
          Corp Approvals         Anything you want, as long     Expensive ($/Time)        6-8w
                                   as IT pre-approved it.          Long lead time


                                                                    Lower Waste
                Agile Corp             Known Costs.                Less Red Tape
                                  Total Hardware Control.             Still slow          2-4w
                Approvals            Trivial Approvals.          Expensive ($/Time)
                                                                  Shorter lead time


                                      Variable Costs.
                                     Highly Adaptable.             Variable Costs.
                     Cloud          Minimal lead time.
                                     Trivial approvals.
                                                              No control over hardware.
                                                                   Must re-train.
                                                                                          5-10m
                                    No humans needed.

                             curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009
Why Time Matters
          Total Bootstrapping Time in Weeks
                                   Corp Approvals
                                   Agile Approvals
                                   Cloud
                                       8



               6



                                             4

                           2


                               0
                   Best Time                         0
                                       Worst Time
                               curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Tools for Bootstrapping
               PXE Boot
             FAI
        System Imager
                Kickstart
                  Cobbler




                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Bootstrapping Demo
                                                 Engine Yard Solo




                           Now would be a totally sweet time to pull out your Mac and run...
                             curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009
Configuration



                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh


Wednesday, April 8, 2009
java            logrotate bind postgresql
                 rubygems                                    redmine
                             iptables      mongrel      rails


                            Manage
                perlbal        memcached munin resolver
                     nginx                             php logwatch
               ports     ebuilds        maradns
                                                      erlang
                apt-proxy nagios openssh

                           Complexity
                                                    nscd       sudo
                                     apache
                     keepalived             mysql       trac
             dpkgs                  ntp     openldap
                   rpms     ipvsadm
            jira                          rsync   subversion
                                                          couchdb

                            curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009
Configuration Approaches
                                                 Good                               Bad

                                                                                    Slow.
                                           You can do anything.
                                                                           Error Prone (Bus Error!)
                      Manual              Results in an intimate
                                         knowledge of the details.
                                                                               Non-repeatable.
                                                                         Difficult knowledge transfer.



                                                                             Rarely idempotent.
                                              More repeatable.
                                                                             Hard to collaborate.
                      Ad-Hoc               Knowledge is dispersed.
                                      Built your way, with your model.
                                                                                   Brittle.
                                                                                   No API.


                                                Repeatable.
           Infrastructure as                    Idempotent.
                                                   Agile.
                                                                         Have to learn how to use it.
                                                                          Hard things remain hard.
                 Code                             Sharable.
                                             Self documenting.
                                                                             Not magic. (Yet!)



                               curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009
Tools for Configuration
                                    Chef, Puppet, Cfengine, Bcfg2



                                Shell Scripts, Perl, Python, Ruby, etc.



                                       Operating System tools
                                       Your favorite text editor




                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Infrastructure as Code



                Manage configuration as idempotent Resources.
                        Put them together in Recipes.
                          Track it like source code.
                           Configure your servers.
                       You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
                                curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
You need an API


                       You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
                                curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009
Command and Control



                           You are running out of time to join the Ad-Hoc Cloud Party!
                           curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Command and Control
                                                   Good                             Bad

                                                Super flexible.                   Error Prone.
                                           Can do almost anything.                  Slow.
                  Meatcloud*            Always easy to find someone to
                                                    blame.
                                                                              Expensive to Scale.
                                                                               Not repeatable.
                                                  Free will.                      Free will.


                                                                            One-off by neccessity.
                                               More repeatable.
                                                                               Tooling sprawl.
                       Ad-Hoc                   Easier to scale.
                                         Less error prone (hopefully!)
                                                                           Hard to share solutions.
                                                                          Much higher learning curve.


                                             One system to learn.
                                                 Scales well.             Not everything maps cleanly.
                   Framework                  Paint by numbers.
                                                 Repeatable.
                                                                         Trades depth of knowledge for
                                                                                  ease of use.
                                                  Two-Way.

                *Meatcloud appears in this presentation courtesy of Andrew Shafer - http://is.gd/Ega
                       Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Tools for Command
                               and Control
                                          Nanite, Capistrano, Control Tier



                                        Shell Scripts, Perl, Python, Ruby, etc.



                                                          You
                                                    Your co-workers




                           Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
Wednesday, April 8, 2009
Command and Control
                    Demo


                   You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master



Wednesday, April 8, 2009
What else can you do?

                    • Application Deployment
                    • Starting and stopping services
                    • Maintenance
                    • You name it.

Wednesday, April 8, 2009
In Practice



Wednesday, April 8, 2009
Typical Peak Load


                    1.         Bring on capacity as traffic ramps up
                    2.         Take down capacity as it ramps down
                    3.           10-15 Minutes on either side, fully
                                          unattended


                           Graphs in this portion of the presentation taken from Theo Schlossnagle
                               http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes

Wednesday, April 8, 2009
Atypical Load
        No way                                                                             However,
        around                                                                               you are
        Capacity                                                                           still better
        Planning                                                                                off!

                    1.             Hope you know it is coming.
                    2.             Increase capacity in advance.
                    3.         Take down capacity as it ramps down.
                           Graphs in this portion of the presentation taken from Theo Schlossnagle
                               http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes
Wednesday, April 8, 2009
1. Signal Command and
                                   Control
                           2. Analyze Responses
                           3. Rinse and Repeat
                           4.         Profit




Wednesday, April 8, 2009
1. Your infrastructure
      is disposable.
2. Make sure you can
  turn each layer off.
3. New efficiencies
   often lead to new
    hard problems.




Wednesday, April 8, 2009
Q &A
                                         Brought to you by...

                                        Opscode


                     You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
                   You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master




Wednesday, April 8, 2009

Contenu connexe

Similaire à Infrastructure In The Cloud Era

Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAlan Pinstein
 
Egypt Cloud Day, May 2011--From Zero to Cloud
Egypt Cloud Day, May 2011--From Zero to CloudEgypt Cloud Day, May 2011--From Zero to Cloud
Egypt Cloud Day, May 2011--From Zero to CloudEgypt Cloud Forum
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsPuppet
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinJoshua Long
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpAhmed Abdou
 
Docker, developers take power
Docker, developers take powerDocker, developers take power
Docker, developers take powerEnalean
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Puppet
 
Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Patrick Chanezon
 
Docker for data science
Docker for data scienceDocker for data science
Docker for data scienceCalvin Giles
 
The State of Puppet
The State of PuppetThe State of Puppet
The State of PuppetPuppet
 
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12XDocker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12XJérôme Petazzoni
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBoxlzap
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputePatrick McGarry
 
One Container, Two Container, Three Containers, Four
One Container, Two Container, Three Containers, FourOne Container, Two Container, Three Containers, Four
One Container, Two Container, Three Containers, FourAshley Roach
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web ApplicationsJoe Kutner
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botomjbommar
 

Similaire à Infrastructure In The Cloud Era (20)

Erlangfactory
ErlangfactoryErlangfactory
Erlangfactory
 
Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and Profit
 
CloudInit Introduction
CloudInit IntroductionCloudInit Introduction
CloudInit Introduction
 
Egypt Cloud Day, May 2011--From Zero to Cloud
Egypt Cloud Day, May 2011--From Zero to CloudEgypt Cloud Day, May 2011--From Zero to Cloud
Egypt Cloud Day, May 2011--From Zero to Cloud
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet Agents
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in php
 
Docker, developers take power
Docker, developers take powerDocker, developers take power
Docker, developers take power
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
 
Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012
 
Docker for data science
Docker for data scienceDocker for data science
Docker for data science
 
The State of Puppet
The State of PuppetThe State of Puppet
The State of Puppet
 
Railsconf
RailsconfRailsconf
Railsconf
 
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12XDocker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12X
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBox
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
 
One Container, Two Container, Three Containers, Four
One Container, Two Container, Three Containers, FourOne Container, Two Container, Three Containers, Four
One Container, Two Container, Three Containers, Four
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
 
Unloading Plone
Unloading PloneUnloading Plone
Unloading Plone
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
 

Plus de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Infrastructure In The Cloud Era

  • 1. Infrastructure in the Cloud Era Adam Jacob - Co-founder & CTO, Opscode Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard Opscode Wednesday, April 8, 2009
  • 2. Please Join our Ad-Hoc Cloud If you have a Mac with Developer Tools installed... curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 3. What are you guys talking about? • Bootstrapping • Configuration • Command and Control curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 4. Many Different Tools curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 5. Bootstrapping curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 6. Bootstrapping Approaches Good Bad Time Known Costs, No High Waste (Hoarding) Variation. Red Tape Corp Approvals Anything you want, as long Expensive ($/Time) 6-8w as IT pre-approved it. Long lead time Lower Waste Agile Corp Known Costs. Less Red Tape Total Hardware Control. Still slow 2-4w Approvals Trivial Approvals. Expensive ($/Time) Shorter lead time Variable Costs. Highly Adaptable. Variable Costs. Cloud Minimal lead time. Trivial approvals. No control over hardware. Must re-train. 5-10m No humans needed. curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 7. Why Time Matters Total Bootstrapping Time in Weeks Corp Approvals Agile Approvals Cloud 8 6 4 2 0 Best Time 0 Worst Time curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 8. Tools for Bootstrapping PXE Boot FAI System Imager Kickstart Cobbler curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 9. Bootstrapping Demo Engine Yard Solo Now would be a totally sweet time to pull out your Mac and run... curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 10. Configuration curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 11. java logrotate bind postgresql rubygems redmine iptables mongrel rails Manage perlbal memcached munin resolver nginx php logwatch ports ebuilds maradns erlang apt-proxy nagios openssh Complexity nscd sudo apache keepalived mysql trac dpkgs ntp openldap rpms ipvsadm jira rsync subversion couchdb curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 12. Configuration Approaches Good Bad Slow. You can do anything. Error Prone (Bus Error!) Manual Results in an intimate knowledge of the details. Non-repeatable. Difficult knowledge transfer. Rarely idempotent. More repeatable. Hard to collaborate. Ad-Hoc Knowledge is dispersed. Built your way, with your model. Brittle. No API. Repeatable. Infrastructure as Idempotent. Agile. Have to learn how to use it. Hard things remain hard. Code Sharable. Self documenting. Not magic. (Yet!) curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 13. Tools for Configuration Chef, Puppet, Cfengine, Bcfg2 Shell Scripts, Perl, Python, Ruby, etc. Operating System tools Your favorite text editor curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 14. Infrastructure as Code Manage configuration as idempotent Resources. Put them together in Recipes. Track it like source code. Configure your servers. You can learn more about Chef at http://wiki.opscode.com/display/chef/Home curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 15. You need an API You can learn more about Chef at http://wiki.opscode.com/display/chef/Home curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 16. Command and Control You are running out of time to join the Ad-Hoc Cloud Party! curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 17. Command and Control Good Bad Super flexible. Error Prone. Can do almost anything. Slow. Meatcloud* Always easy to find someone to blame. Expensive to Scale. Not repeatable. Free will. Free will. One-off by neccessity. More repeatable. Tooling sprawl. Ad-Hoc Easier to scale. Less error prone (hopefully!) Hard to share solutions. Much higher learning curve. One system to learn. Scales well. Not everything maps cleanly. Framework Paint by numbers. Repeatable. Trades depth of knowledge for ease of use. Two-Way. *Meatcloud appears in this presentation courtesy of Andrew Shafer - http://is.gd/Ega Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 18. Tools for Command and Control Nanite, Capistrano, Control Tier Shell Scripts, Perl, Python, Ruby, etc. You Your co-workers Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh Wednesday, April 8, 2009
  • 19. Command and Control Demo You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master Wednesday, April 8, 2009
  • 20. What else can you do? • Application Deployment • Starting and stopping services • Maintenance • You name it. Wednesday, April 8, 2009
  • 22. Typical Peak Load 1. Bring on capacity as traffic ramps up 2. Take down capacity as it ramps down 3. 10-15 Minutes on either side, fully unattended Graphs in this portion of the presentation taken from Theo Schlossnagle http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes Wednesday, April 8, 2009
  • 23. Atypical Load No way However, around you are Capacity still better Planning off! 1. Hope you know it is coming. 2. Increase capacity in advance. 3. Take down capacity as it ramps down. Graphs in this portion of the presentation taken from Theo Schlossnagle http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes Wednesday, April 8, 2009
  • 24. 1. Signal Command and Control 2. Analyze Responses 3. Rinse and Repeat 4. Profit Wednesday, April 8, 2009
  • 25. 1. Your infrastructure is disposable. 2. Make sure you can turn each layer off. 3. New efficiencies often lead to new hard problems. Wednesday, April 8, 2009
  • 26. Q &A Brought to you by... Opscode You can learn more about Chef at http://wiki.opscode.com/display/chef/Home You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master Wednesday, April 8, 2009