SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a Infrastructure In The Cloud Era

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
Egypt Cloud Forum
 
Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012
Patrick Chanezon
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
Joe Kutner
 

Semelhante a 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
 
Building your own personal cloud with Eucalyptus
Building your own personal cloud with EucalyptusBuilding your own personal cloud with Eucalyptus
Building your own personal cloud with Eucalyptus
 

Mais de elliando 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 ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando 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 Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando 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 Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando 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 Design
elliando 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 Facebook
elliando 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 Study
elliando dias
 

Mais 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
 

Último

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
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...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

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