devops jungle of tools
         Infrastructure v/s Deployment automation


         @rantav


         CTO @ Social Studios TV



Monday, January 28, 13
What is Social Studios?




Monday, January 28, 13
What is Social Studios?




Monday, January 28, 13
What is Social Studios?




Monday, January 28, 13
What is Social Studios?




Monday, January 28, 13
Monday, January 28, 13
devops
         jungle of
         tools




Monday, January 28, 13
As learnt by - Myself
                                   at




Monday, January 28, 13
Start with a
         personal
         story
         My goal was to:
           Deploy apps
           Maintain infra




Monday, January 28, 13
Start with a
         personal
         story
         That’s me 3 years
         ago.




Monday, January 28, 13
Confused
         Start with a
           Chef                      What should I do?
                  Puppet
         personal                       What should I
                                           choose?
         story
          Control                    I have to maintain
                    Tier
         That’s me 3 years
                      CFEngine          infrastructure
         ago.                        But I also have to
                                       deploy my apps
                         ...            Are these the
                               ???          same?

Monday, January 28, 13
Monday, January 28, 13
Aha !!!




Monday, January 28, 13
Aha !!!

         I need a tool
         that:




Monday, January 28, 13
Aha !!!

         I need a tool
         that:
         Maintains
         Infrastructure




Monday, January 28, 13
Aha !!!

         I need a tool
         that:
         Maintains
         Infrastructure
         AND
         Deploy my apps!



Monday, January 28, 13
Maintain
         Infrastructure
         AND
         Deploy my apps ???



Monday, January 28, 13
I didn’t find it



         Maintain
         Infrastructure
         AND
         Deploy my apps ???



Monday, January 28, 13
???
         Maintain
         Infrastructure
         AND
         Deploy my apps ???



Monday, January 28, 13
But Why ???


         ???
         Maintain
         Infrastructure
         AND
         Deploy my apps ???



Monday, January 28, 13
They are not
         the same!
         Infrastructure

         ≠
         App Deployment



Monday, January 28, 13
Oh...

         They are not
         the same!
         Infrastructure

         ≠
         App Deployment



Monday, January 28, 13
Why are
         they
         different?
         And what do they
         have in common?




Monday, January 28, 13
And what did I end up using?




Monday, January 28, 13
What did I use?
               Case 1:




                     Chef


                     glu




Monday, January 28, 13
What does chef do?
               Installs infrastructure
                     java
                     databases
                     etc...
               Installs Glu
                     server and agents




Monday, January 28, 13
What does glu do?
               Deploy our apps
                     Tomcat based apps




Monday, January 28, 13
What did I use?
               Case 2:




                     Chef


                     Fabric




Monday, January 28, 13
What does chef do?
                     Provision servers
                     Install Java, Tomcat
                     Install DBs
                     Set up users, keys
                     logstash
                     nagios, etc...




Monday, January 28, 13
What does Fabric do?
                     Deploys apps
                         Tomcat based
                         or jetty
                         Notifications
                         tests




Monday, January 28, 13
Isn’t it easier to use just one
         tool?



               Yes!

Monday, January 28, 13
So why am I using two
         tools?


               Because they are
               different




Monday, January 28, 13
Let’s take a
         look at the
         tools now
         Infrastructure

         ≠
         App Deployment !!!



Monday, January 28, 13
Chef
         Recipes, Resources,
         Convergence.




Monday, January 28, 13
Puppet
         Define Desired State
         Enforce
         Monitor




Monday, January 28, 13
CFEngine
         Desired State
         Self Healing
         Monitor




Monday, January 28, 13
Control
         Tier
         Command
         Dispatcher




Monday, January 28, 13
glu
         Deployment
         Automation and
         Monitoring




Monday, January 28, 13
fabric
         Deployment
         and administration




Monday, January 28, 13
Capistrano
         Remote server
         automation




Monday, January 28, 13
Hybrid?
               So - Chef, Puppet, CFEngine maintain infra
                     But - can they also deploy applications?
                     They could...
                     But - it’s awkward ☹

                     Example:
                         Use shef for ad-hoc tasks.



Monday, January 28, 13
Hybrid?

               So - glu, fab, cap, CTier can deploy
                     But - can they also maintain infra?
                     They could...
                     But - it’s awkward ☹

                     Example: Use fabric to deploy mysql.




Monday, January 28, 13
Why awkward?



               Because Infrastructure ≠ Deployment automation




Monday, January 28, 13
How is it different?



               Let’s see...




Monday, January 28, 13
How is it different?


               Infrastructure and
               application are different
               in a few ways




Monday, January 28, 13
Confidence




Monday, January 28, 13
Confidence
               Different level of Confidence
               conf(linux || mysql) > conf(in-house apps)




Monday, January 28, 13
Confidence
               Different level of Confidence
               conf(linux || mysql) > conf(in-house apps)


                 Widely used systems
                 (linux, mysql)




Monday, January 28, 13
Confidence
               Different level of Confidence
               conf(linux || mysql) > conf(in-house apps)


                 Widely used systems           vs in-house apps,
                 (linux, mysql)                limited testing




Monday, January 28, 13
Frequency




Monday, January 28, 13
Frequency
               Frequency of change




Monday, January 28, 13
Frequency
               Frequency of change
               freq(deploy database) ≪ freq(deploy new version)




Monday, January 28, 13
Frequency
               Frequency of change
               freq(deploy database) ≪ freq(deploy new version)

               How often do you deploy a new DB?
                     every couple of months / years




Monday, January 28, 13
Frequency
               Frequency of change
               freq(deploy database) ≪ freq(deploy new version)

               How often do you deploy a new DB?
                     every couple of months / years
               How often do you deploy new apps?
                     Dozens a day



Monday, January 28, 13
Control




Monday, January 28, 13
Control
               Control over the actual process




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:
                     Control exactly when they happen




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:
                     Control exactly when they happen
                     Notify ppl, monitoring systems, with progress




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:
                     Control exactly when they happen
                     Notify ppl, monitoring systems, with progress
                     Gradual, controlled and cautious deployments




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:
                     Control exactly when they happen
                     Notify ppl, monitoring systems, with progress
                     Gradual, controlled and cautious deployments
                     Test as you go




Monday, January 28, 13
Control
               Control over the actual process
               Deployments:
                     Control exactly when they happen
                     Notify ppl, monitoring systems, with progress
                     Gradual, controlled and cautious deployments
                     Test as you go
                     Maybe rollback


Monday, January 28, 13
Heterogenous
         Homogenous




Monday, January 28, 13
Heterogenous
         Homogenous
               Heterogeneous v/s Homogenous




Monday, January 28, 13
Heterogenous
         Homogenous
               Heterogeneous v/s Homogenous
               Infrastructure lives in Heterogeneous environments
                     Example: install mysql on ubuntu, centos, osx, win




Monday, January 28, 13
Heterogenous
         Homogenous
               Heterogeneous v/s Homogenous
               Infrastructure lives in Heterogeneous environments
                     Example: install mysql on ubuntu, centos, osx, win
               Apps live in Homogenous environments.
                     Example: Rails apps only need a Rack server
                     Example: Java apps need only a JVM



Monday, January 28, 13
Who’s code is it?




Monday, January 28, 13
Who’s code is it?

               When it’s your code you can:
                     Instrument it (healthcheck, deployment hooks)




Monday, January 28, 13
Who’s code is it?

               When it’s your code you can:
                     Instrument it (healthcheck, deployment hooks)
               If it’s not your code, you have less control
                     hope to get lucky
                     or hack around it...




Monday, January 28, 13
Take Chef and Glu



               So, for example...




Monday, January 28, 13
Where does Chef stand out?
               Recipes for almost anything
                     Databases, App Servers, Languages...




Monday, January 28, 13
Where does Chef stand out?
               Recipes for almost anything
           Your code            no recipes
                     Databases, App Servers, Languages...




Monday, January 28, 13
Where does Chef stand out?


               Heterogeneous environments
                     Any linux, windows, osx (resource providers)




Monday, January 28, 13
Where does Chef stand out?


               Heterogeneous environments
           Deployment environments are Homogenous
                     Any linux, windows, osx (resource providers)




Monday, January 28, 13
Where does Chef stand out?




               Runs unattended
                     to assure state



Monday, January 28, 13
Where does Chef stand out?




               Runs unattended
         Your want to monitor it
                     to assure state



Monday, January 28, 13
Where does Glu stand out?

               Fine control over the deployment process




Monday, January 28, 13
Where does Glu stand out?

         Packaged code theNot neededprocess
          Fine control over deployment




Monday, January 28, 13
Where does Chef stand out?



               Status update and monitoring during deployment




Monday, January 28, 13
Where does Chef stand out?



         Infrastracture update - usually taken offline
           Status update and monitoring during deployment




Monday, January 28, 13
Where does Chef stand out?




               High frequency model change




Monday, January 28, 13
Where does Chef stand out?




         Low Frequency model change
           High frequency




Monday, January 28, 13
Compare
                                  Infrastructure   Deployment

                                                       ⍻
                          Chef          ✓
                                                      (shef)

                         Puppet         ✓               ?

                          Glu          ╳               ✓

                         Fabric         ⍻              ✓



Monday, January 28, 13
To sum up

               Chef      Infrastructure

               Glu / Fabric / Capistrano   Applications

               Yes - it’s more tools
               But - Use the right tool for the job...




Monday, January 28, 13
To sum up

               Chef      Infrastructure

               Glu / Fabric / Capistrano   Applications

               Yes - it’s more tools
               But - Use the right tool for the job...




Monday, January 28, 13
What does the future hold?

               Immutable Servers?
                         aka Phoenix Servers
                         vs Snowflake Servers


               Pallet?




Monday, January 28, 13
This presentation


               Is here:
               https://speakerdeck.com/rantav/devops-jungle-of-tools




Monday, January 28, 13

More Related Content

PPTX
Intro chef-chef-solo
PDF
Smau Milano 2016 - Fabio Alessandro Locati
PDF
Put a Button on It: Removing Barriers to Going Fast
PDF
WSO2Con EU 2016: Automate and Orchestrate DevOps
PDF
Scaling Deployment at Etsy
PPTX
It automation & devops - devopsdays istambul 2016
PPTX
API Security from the DevOps and CSO Perspectives (Webcast)
PDF
Automation Framework
Intro chef-chef-solo
Smau Milano 2016 - Fabio Alessandro Locati
Put a Button on It: Removing Barriers to Going Fast
WSO2Con EU 2016: Automate and Orchestrate DevOps
Scaling Deployment at Etsy
It automation & devops - devopsdays istambul 2016
API Security from the DevOps and CSO Perspectives (Webcast)
Automation Framework

Viewers also liked (16)

PPTX
Data Visualization and Dashboard Design: Make Your Analytics Really Impactful
PDF
7 tools for your devops stack
PDF
バリデーションボードを使って新サービス開発をやってみた
PPTX
Continuos Delivery
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
PDF
Red Hat Satellite 6 - Automation with Puppet
PPTX
Oltp vs olap
PPT
Portafolios
PPTX
Agile, TOGAF and Enterprise Architecture: Will They Blend?
PPT
Tareas Rubricas
PDF
Chad Dickerson, Etsy Presentation @ Lean Startup SXSW
PPT
Connected Architecture Fabric Creating a Connected World
PPSX
PDF
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
PPTX
Introducing DevOps
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Data Visualization and Dashboard Design: Make Your Analytics Really Impactful
7 tools for your devops stack
バリデーションボードを使って新サービス開発をやってみた
Continuos Delivery
Continuous Deployment at Etsy: A Tale of Two Approaches
Red Hat Satellite 6 - Automation with Puppet
Oltp vs olap
Portafolios
Agile, TOGAF and Enterprise Architecture: Will They Blend?
Tareas Rubricas
Chad Dickerson, Etsy Presentation @ Lean Startup SXSW
Connected Architecture Fabric Creating a Connected World
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
Introducing DevOps
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Ad

Similar to DevOps Jungle of Tools, Ran Tavory (20)

PDF
DevOps Introduction @Cegeka
PDF
Configuration management: automating and rationalizing server setup with CFEn...
PDF
Configuration management: automating and rationalizing server setup with CFEn...
PPTX
Automatize everything
PDF
Building scalablewebapps
PDF
Cloud Foundry, Spring and Vaadin
ODP
From Config Management Sucks to #cfgmgmtlove
PPTX
Self hosted server applications - Adam Horvath
PDF
Codeworks'12 Rock Solid Deployment of PHP Apps
PDF
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
PDF
Clearly, I Have Made Some Bad Decisions
PDF
Agile Operations or How to sleep better at night
PDF
DevOps at ACCU 2012
PDF
Devops what it means to me
PDF
Automation - fabric, django and more
PDF
Practicing Continuous Deployment
PDF
Continuous Deployment: The Dirty Details
ODP
Automating MySQL operations with Puppet
PDF
MongoLA - Cloud Foundry
PDF
Web Developing In Search
DevOps Introduction @Cegeka
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...
Automatize everything
Building scalablewebapps
Cloud Foundry, Spring and Vaadin
From Config Management Sucks to #cfgmgmtlove
Self hosted server applications - Adam Horvath
Codeworks'12 Rock Solid Deployment of PHP Apps
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
Clearly, I Have Made Some Bad Decisions
Agile Operations or How to sleep better at night
DevOps at ACCU 2012
Devops what it means to me
Automation - fabric, django and more
Practicing Continuous Deployment
Continuous Deployment: The Dirty Details
Automating MySQL operations with Puppet
MongoLA - Cloud Foundry
Web Developing In Search
Ad

More from DevOpsDays Tel Aviv (20)

PDF
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
PPTX
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
PPTX
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
PPTX
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
PPTX
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PPTX
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
PPTX
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
PPTX
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
PPTX
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
PDF
THE PLEASURES OF ON-PREM, TOMER GABEL
PPTX
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
PPTX
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
PPTX
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
PPTX
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
PPTX
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
PPTX
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
PPTX
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
PPTX
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
PPTX
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
PPTX
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE PLEASURES OF ON-PREM, TOMER GABEL
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly

Recently uploaded (20)

PPTX
Configure Apache Mutual Authentication
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
The various Industrial Revolutions .pptx
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Five Habits of High-Impact Board Members
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
CloudStack 4.21: First Look Webinar slides
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Configure Apache Mutual Authentication
Zenith AI: Advanced Artificial Intelligence
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
A contest of sentiment analysis: k-nearest neighbor versus neural network
Final SEM Unit 1 for mit wpu at pune .pptx
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Getting started with AI Agents and Multi-Agent Systems
The various Industrial Revolutions .pptx
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Five Habits of High-Impact Board Members
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
CloudStack 4.21: First Look Webinar slides
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Build Your First AI Agent with UiPath.pptx
Improvisation in detection of pomegranate leaf disease using transfer learni...
Chapter 5: Probability Theory and Statistics
1 - Historical Antecedents, Social Consideration.pdf
Developing a website for English-speaking practice to English as a foreign la...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...

DevOps Jungle of Tools, Ran Tavory

  • 1. devops jungle of tools Infrastructure v/s Deployment automation @rantav CTO @ Social Studios TV Monday, January 28, 13
  • 2. What is Social Studios? Monday, January 28, 13
  • 3. What is Social Studios? Monday, January 28, 13
  • 4. What is Social Studios? Monday, January 28, 13
  • 5. What is Social Studios? Monday, January 28, 13
  • 7. devops jungle of tools Monday, January 28, 13
  • 8. As learnt by - Myself at Monday, January 28, 13
  • 9. Start with a personal story My goal was to: Deploy apps Maintain infra Monday, January 28, 13
  • 10. Start with a personal story That’s me 3 years ago. Monday, January 28, 13
  • 11. Confused Start with a Chef What should I do? Puppet personal What should I choose? story Control I have to maintain Tier That’s me 3 years CFEngine infrastructure ago. But I also have to deploy my apps ... Are these the ??? same? Monday, January 28, 13
  • 14. Aha !!! I need a tool that: Monday, January 28, 13
  • 15. Aha !!! I need a tool that: Maintains Infrastructure Monday, January 28, 13
  • 16. Aha !!! I need a tool that: Maintains Infrastructure AND Deploy my apps! Monday, January 28, 13
  • 17. Maintain Infrastructure AND Deploy my apps ??? Monday, January 28, 13
  • 18. I didn’t find it Maintain Infrastructure AND Deploy my apps ??? Monday, January 28, 13
  • 19. ??? Maintain Infrastructure AND Deploy my apps ??? Monday, January 28, 13
  • 20. But Why ??? ??? Maintain Infrastructure AND Deploy my apps ??? Monday, January 28, 13
  • 21. They are not the same! Infrastructure ≠ App Deployment Monday, January 28, 13
  • 22. Oh... They are not the same! Infrastructure ≠ App Deployment Monday, January 28, 13
  • 23. Why are they different? And what do they have in common? Monday, January 28, 13
  • 24. And what did I end up using? Monday, January 28, 13
  • 25. What did I use? Case 1: Chef glu Monday, January 28, 13
  • 26. What does chef do? Installs infrastructure java databases etc... Installs Glu server and agents Monday, January 28, 13
  • 27. What does glu do? Deploy our apps Tomcat based apps Monday, January 28, 13
  • 28. What did I use? Case 2: Chef Fabric Monday, January 28, 13
  • 29. What does chef do? Provision servers Install Java, Tomcat Install DBs Set up users, keys logstash nagios, etc... Monday, January 28, 13
  • 30. What does Fabric do? Deploys apps Tomcat based or jetty Notifications tests Monday, January 28, 13
  • 31. Isn’t it easier to use just one tool? Yes! Monday, January 28, 13
  • 32. So why am I using two tools? Because they are different Monday, January 28, 13
  • 33. Let’s take a look at the tools now Infrastructure ≠ App Deployment !!! Monday, January 28, 13
  • 34. Chef Recipes, Resources, Convergence. Monday, January 28, 13
  • 35. Puppet Define Desired State Enforce Monitor Monday, January 28, 13
  • 36. CFEngine Desired State Self Healing Monitor Monday, January 28, 13
  • 37. Control Tier Command Dispatcher Monday, January 28, 13
  • 38. glu Deployment Automation and Monitoring Monday, January 28, 13
  • 39. fabric Deployment and administration Monday, January 28, 13
  • 40. Capistrano Remote server automation Monday, January 28, 13
  • 41. Hybrid? So - Chef, Puppet, CFEngine maintain infra But - can they also deploy applications? They could... But - it’s awkward ☹ Example: Use shef for ad-hoc tasks. Monday, January 28, 13
  • 42. Hybrid? So - glu, fab, cap, CTier can deploy But - can they also maintain infra? They could... But - it’s awkward ☹ Example: Use fabric to deploy mysql. Monday, January 28, 13
  • 43. Why awkward? Because Infrastructure ≠ Deployment automation Monday, January 28, 13
  • 44. How is it different? Let’s see... Monday, January 28, 13
  • 45. How is it different? Infrastructure and application are different in a few ways Monday, January 28, 13
  • 47. Confidence Different level of Confidence conf(linux || mysql) > conf(in-house apps) Monday, January 28, 13
  • 48. Confidence Different level of Confidence conf(linux || mysql) > conf(in-house apps) Widely used systems (linux, mysql) Monday, January 28, 13
  • 49. Confidence Different level of Confidence conf(linux || mysql) > conf(in-house apps) Widely used systems vs in-house apps, (linux, mysql) limited testing Monday, January 28, 13
  • 51. Frequency Frequency of change Monday, January 28, 13
  • 52. Frequency Frequency of change freq(deploy database) ≪ freq(deploy new version) Monday, January 28, 13
  • 53. Frequency Frequency of change freq(deploy database) ≪ freq(deploy new version) How often do you deploy a new DB? every couple of months / years Monday, January 28, 13
  • 54. Frequency Frequency of change freq(deploy database) ≪ freq(deploy new version) How often do you deploy a new DB? every couple of months / years How often do you deploy new apps? Dozens a day Monday, January 28, 13
  • 56. Control Control over the actual process Monday, January 28, 13
  • 57. Control Control over the actual process Deployments: Monday, January 28, 13
  • 58. Control Control over the actual process Deployments: Control exactly when they happen Monday, January 28, 13
  • 59. Control Control over the actual process Deployments: Control exactly when they happen Notify ppl, monitoring systems, with progress Monday, January 28, 13
  • 60. Control Control over the actual process Deployments: Control exactly when they happen Notify ppl, monitoring systems, with progress Gradual, controlled and cautious deployments Monday, January 28, 13
  • 61. Control Control over the actual process Deployments: Control exactly when they happen Notify ppl, monitoring systems, with progress Gradual, controlled and cautious deployments Test as you go Monday, January 28, 13
  • 62. Control Control over the actual process Deployments: Control exactly when they happen Notify ppl, monitoring systems, with progress Gradual, controlled and cautious deployments Test as you go Maybe rollback Monday, January 28, 13
  • 63. Heterogenous Homogenous Monday, January 28, 13
  • 64. Heterogenous Homogenous Heterogeneous v/s Homogenous Monday, January 28, 13
  • 65. Heterogenous Homogenous Heterogeneous v/s Homogenous Infrastructure lives in Heterogeneous environments Example: install mysql on ubuntu, centos, osx, win Monday, January 28, 13
  • 66. Heterogenous Homogenous Heterogeneous v/s Homogenous Infrastructure lives in Heterogeneous environments Example: install mysql on ubuntu, centos, osx, win Apps live in Homogenous environments. Example: Rails apps only need a Rack server Example: Java apps need only a JVM Monday, January 28, 13
  • 67. Who’s code is it? Monday, January 28, 13
  • 68. Who’s code is it? When it’s your code you can: Instrument it (healthcheck, deployment hooks) Monday, January 28, 13
  • 69. Who’s code is it? When it’s your code you can: Instrument it (healthcheck, deployment hooks) If it’s not your code, you have less control hope to get lucky or hack around it... Monday, January 28, 13
  • 70. Take Chef and Glu So, for example... Monday, January 28, 13
  • 71. Where does Chef stand out? Recipes for almost anything Databases, App Servers, Languages... Monday, January 28, 13
  • 72. Where does Chef stand out? Recipes for almost anything Your code no recipes Databases, App Servers, Languages... Monday, January 28, 13
  • 73. Where does Chef stand out? Heterogeneous environments Any linux, windows, osx (resource providers) Monday, January 28, 13
  • 74. Where does Chef stand out? Heterogeneous environments Deployment environments are Homogenous Any linux, windows, osx (resource providers) Monday, January 28, 13
  • 75. Where does Chef stand out? Runs unattended to assure state Monday, January 28, 13
  • 76. Where does Chef stand out? Runs unattended Your want to monitor it to assure state Monday, January 28, 13
  • 77. Where does Glu stand out? Fine control over the deployment process Monday, January 28, 13
  • 78. Where does Glu stand out? Packaged code theNot neededprocess Fine control over deployment Monday, January 28, 13
  • 79. Where does Chef stand out? Status update and monitoring during deployment Monday, January 28, 13
  • 80. Where does Chef stand out? Infrastracture update - usually taken offline Status update and monitoring during deployment Monday, January 28, 13
  • 81. Where does Chef stand out? High frequency model change Monday, January 28, 13
  • 82. Where does Chef stand out? Low Frequency model change High frequency Monday, January 28, 13
  • 83. Compare Infrastructure Deployment ⍻ Chef ✓ (shef) Puppet ✓ ? Glu ╳ ✓ Fabric ⍻ ✓ Monday, January 28, 13
  • 84. To sum up Chef Infrastructure Glu / Fabric / Capistrano Applications Yes - it’s more tools But - Use the right tool for the job... Monday, January 28, 13
  • 85. To sum up Chef Infrastructure Glu / Fabric / Capistrano Applications Yes - it’s more tools But - Use the right tool for the job... Monday, January 28, 13
  • 86. What does the future hold? Immutable Servers? aka Phoenix Servers vs Snowflake Servers Pallet? Monday, January 28, 13
  • 87. This presentation Is here: https://speakerdeck.com/rantav/devops-jungle-of-tools Monday, January 28, 13