SlideShare una empresa de Scribd logo
1 de 33
Infrastructure in the
             Cloud Era
        Adam Jacob - Co-Founder & CTO, Opscode
Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard
Please Join our Ad-Hoc
            Cloud
If you have a Mac with Developer Tools
              installed...
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
What are you guys
 talking about?




 curl -O http://brainspl.at/velocity.sh && sh velocity.sh
What are you guys
     talking about?

•   Bootstrapping




      curl -O http://brainspl.at/velocity.sh && sh velocity.sh
What are you guys
   talking about?

•Bootstrapping
• Configuration


   curl -O http://brainspl.at/velocity.sh && sh velocity.sh
What are you guys
   talking about?

•Bootstrapping
• Configuration
• Command and Control

   curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Many
Different
 Tools
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Bootstrapping


curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
Tools for Bootstrapping
  PXE Boot
     FAI
System Imager
  Kickstart
  Cobbler




              curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Bootstrapping Demo
                      Engine Yard Solo




Now would be a totally sweet time to pull out your Mac and run...
     curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Configuration



curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Manage
Complexity
 curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
Tools for Configuration
    Chef, Puppet, Cfengine, Bcfg2, AutomateIT



       Shell Scripts, Perl, Python, Ruby, etc.



              Operating System tools
              Your favorite text editor




    curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
You need an API


You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
           curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Command and Control



  You are running out of time to join the Ad-Hoc Cloud Party!
     curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
Tools for Command
   and Control
              Nanite, Capistrano, Control Tier



           Shell Scripts, Perl, Python, Ruby, etc.



                              You
                        Your co-workers




Last Chance! - curl -O http://brainspl.at/velocity.sh && sh velocity.sh
Command and Control
     Demo


You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master
What else can you do?

• Application Deployment
• Starting and stopping services
• Maintenance
• You name it.
In Practice
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
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
Lightning Strikes!
            DOOM


    Webservers




                 Database Servers




    Webservers
Lightning Strikes!
            DOOM

      X
    Webservers    XX
                 Database Servers




    Webservers
Lightning Strikes!
                         DOOM

                 X   1
                     1              2
                                    1
               Signals            Moar!

 Monitoring
  System Updates

    5
                 2
                 1
                      Command &
            Webservers Control      XX    3
                                          1
                                              Bootstrapping
                                                 Provisions

    1                                                  3
                                                       1


                                  Database Servers

                     4
                     1              4
                                    1
Configuration


           Webservers
1. Signal Command and
        Control
2. Analyze Responses
3. Rinse and Repeat
4.         Profit
1. Your infrastructure
      is disposable.
2. Make sure you can
  turn each layer off.
3. New efficiencies
   often lead to new
    hard problems.
Q &A
                      Brought to you by...




  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



                   Chef BoF, tonight at 7:30 PM

Más contenido relacionado

Destacado

香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩
 
六合彩-香港六合彩
六合彩-香港六合彩六合彩-香港六合彩
六合彩-香港六合彩
香港六合彩
 
Cal mission plus media
Cal mission plus mediaCal mission plus media
Cal mission plus media
ti2ger77
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩
 
An Overview Of Mmpi
An Overview Of MmpiAn Overview Of Mmpi
An Overview Of Mmpi
vturpin
 
Color + Tipografia en la web
Color + Tipografia en la webColor + Tipografia en la web
Color + Tipografia en la web
guest8667c2
 

Destacado (10)

香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
六合彩-香港六合彩
六合彩-香港六合彩六合彩-香港六合彩
六合彩-香港六合彩
 
六合彩-香港六合彩
六合彩-香港六合彩六合彩-香港六合彩
六合彩-香港六合彩
 
Cal mission plus media
Cal mission plus mediaCal mission plus media
Cal mission plus media
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
An Overview Of Mmpi
An Overview Of MmpiAn Overview Of Mmpi
An Overview Of Mmpi
 
Why Startups Need Automated Infrastructures
Why Startups Need Automated InfrastructuresWhy Startups Need Automated Infrastructures
Why Startups Need Automated Infrastructures
 
Color + Tipografia en la web
Color + Tipografia en la webColor + Tipografia en la web
Color + Tipografia en la web
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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 New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Infrastructure in the Cloud Era - Velocity 2009

  • 1. Infrastructure in the Cloud Era Adam Jacob - Co-Founder & CTO, Opscode Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard
  • 2. Please Join our Ad-Hoc Cloud If you have a Mac with Developer Tools installed... curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 3. What are you guys talking about? curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 4. What are you guys talking about? • Bootstrapping curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 5. What are you guys talking about? •Bootstrapping • Configuration curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 6. What are you guys talking about? •Bootstrapping • Configuration • Command and Control curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 7. Many Different Tools curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 9. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 10. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 11. Tools for Bootstrapping PXE Boot FAI System Imager Kickstart Cobbler curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 12. Bootstrapping Demo Engine Yard Solo Now would be a totally sweet time to pull out your Mac and run... curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 14. Manage Complexity curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 15. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 16. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 17. Tools for Configuration Chef, Puppet, Cfengine, Bcfg2, AutomateIT Shell Scripts, Perl, Python, Ruby, etc. Operating System tools Your favorite text editor curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 18. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 19. You need an API You can learn more about Chef at http://wiki.opscode.com/display/chef/Home curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 20. Command and Control You are running out of time to join the Ad-Hoc Cloud Party! curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 21. 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 http://brainspl.at/velocity.sh && sh velocity.sh
  • 22. Tools for Command and Control Nanite, Capistrano, Control Tier Shell Scripts, Perl, Python, Ruby, etc. You Your co-workers Last Chance! - curl -O http://brainspl.at/velocity.sh && sh velocity.sh
  • 23. Command and Control Demo You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master
  • 24. What else can you do? • Application Deployment • Starting and stopping services • Maintenance • You name it.
  • 26. 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
  • 27. 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
  • 28. Lightning Strikes! DOOM Webservers Database Servers Webservers
  • 29. Lightning Strikes! DOOM X Webservers XX Database Servers Webservers
  • 30. Lightning Strikes! DOOM X 1 1 2 1 Signals Moar! Monitoring System Updates 5 2 1 Command & Webservers Control XX 3 1 Bootstrapping Provisions 1 3 1 Database Servers 4 1 4 1 Configuration Webservers
  • 31. 1. Signal Command and Control 2. Analyze Responses 3. Rinse and Repeat 4. Profit
  • 32. 1. Your infrastructure is disposable. 2. Make sure you can turn each layer off. 3. New efficiencies often lead to new hard problems.
  • 33. Q &A Brought to you by... 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 Chef BoF, tonight at 7:30 PM