SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Administración ágil de
                 sistemas en el entorno
                     de una Startup

                                    Fernando Blat
                                 http://fernando.blat.es/me
                                          @ferblape



viernes 4 de noviembre de 2011
Yo
viernes 4 de noviembre de 2011
The Cocktail
viernes 4 de noviembre de 2011
unvlog.com
viernes 4 de noviembre de 2011
iwannagothere.com
viernes 4 de noviembre de 2011
actuable.es
viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
Heroku ❤
viernes 4 de noviembre de 2011
Linode ❤ + $_$
viernes 4 de noviembre de 2011
El desarrollador Total™
                                 http://www.slideshare.net/sergio.gil/el-desarrollador-total




viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
Aproximación
                                  ágil + vaga


viernes 4 de noviembre de 2011
Ágil
                                 http://agilemanifesto.org/iso/es/




                    • respuesta ante el cambio
                    • calidad
                    • simplicidad


viernes 4 de noviembre de 2011
Elogio a la vagancia
                                 http://sofanaranja.com/2007/09/19/elogio-de-la-vagancia/




        “Para mí hay dos tipos de vagos, el vago bueno y el vago
             malo. Al vago bueno no le gusta trabajar, y hace cosas
             increíblemente ingeniosas para no tener que hacerlo.




viernes 4 de noviembre de 2011
Elogio a la vagancia
                                 http://sofanaranja.com/2007/09/19/elogio-de-la-vagancia/




           “Un buen vago hará su trabajo muy bien a la primera
              para no tener que repetirlo, y tan rápido como pueda
                para dedicar su tiempo a otros menesteres más
                                  interesantes.




viernes 4 de noviembre de 2011
http://www.opscode.com/chef/

viernes 4 de noviembre de 2011
Nodos
                                 - atributos
                                 - rol




viernes 4 de noviembre de 2011
Recetas
                                         Recetas
                                 Recetas
                                          Recetas


                                     Cookbooks
viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
Chef Solo
           http://wiki.opscode.com/display/chef/Chef+Solo

viernes 4 de noviembre de 2011
https://github.com/ferblape/toldo-cookbooks
viernes 4 de noviembre de 2011
export DEBIAN_FRONTEND=noninteractive
           aptitude update &&
           apt-get -o Dpkg::Options::="--force-confnew" -y -fuy dist-upgrade &&
           # Install base packages
           apt-get remove -y nano &&
           apt-get install -y gcc g++ make zlib1g-dev git-core libxml2-dev libxslt-dev
           libopenssl-ruby
                              libsqlite3-dev sqlite3 autoconf imagemagick curl libssl-dev
                              libcurl4-openssl-dev libreadline5-dev libncurses5-dev
           openntpd
                              libyaml-0-2 libyaml-dev &&
           cd /usr/local/src &&
           curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz &&
           tar xzvf readline-6.2.tar.gz &&
           cd readline-6.2 &&
           ./configure --prefix=/usr/local &&
           make && make install &&
           # Install Ruby and Chef
           cd /usr/local/src &&
           wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.bz2 &&
           tar jxvf ruby-1.9.3-rc1.tar.bz2 &&
           cd ruby-1.9.3-rc1 &&
           autoconf && ./configure --prefix=/usr/local &&
           make && make install &&
           gem install chef --no-ri --no-rdoc




viernes 4 de noviembre de 2011
sudo chef-solo -j roles/<role>.json -c solo.rb




viernes 4 de noviembre de 2011
production.json
          {
              "name": "production",
              "description": "Role for production environment",
              "chef_type": "role",
              "run_list": [
                 "recipe[apt]",
                 "recipe[cron]",
                 "recipe[gems]",
                 "recipe[logrotate]",
                 "recipe[monit]",
                 "recipe[postgresql]",
                 "recipe[nginx]",
                 "recipe[iptables]",
                 "recipe[postfix]",
                 "recipe[munin]",
                 "recipe[application]"
              ],
              "nginx": {
                 "host": "toldostaging.com",
                 "environment": "production"
              },
              "passenger": {
                 "version": "3.0.9"
              }
          }
viernes 4 de noviembre de 2011
nginx


viernes 4 de noviembre de 2011
nginx/
                     files/
                       default/
                          nginx.conf
                     metadata.rb
                     recipes/
                       default.rb
                     templates/
                       default/
                           passenger.conf.erb
                           toldo.conf.erb


viernes 4 de noviembre de 2011
metadata.rb

          maintainer               "Toldo"
          maintainer_email         "blat@thetoldo.com"
          license                  "Apache 2.0"
          description              "Installs/Configures
          nginx"
          version                  "0.2.0"
          depends                  "gems"
          depends                  "monit"
          depends                  "logrotate"

viernes 4 de noviembre de 2011
recipes/default.rb

   include_recipe 'gems'
   include_recipe 'monit'
   include_recipe 'logrotate'

   package "libperl5.10" do
     action :install
     options "--force-yes"
   end
   package "libxslt1.1" do
     action :install
     options "--force-yes"
   end
viernes 4 de noviembre de 2011
recipes/default.rb


   # default options from Ubuntu 8.10
   compile_options = ["--conf-path=/etc/nginx/nginx.conf",
                      "--error-log-path=/var/log/nginx/error.log",
                      "--pid-path=/var/run/nginx.pid",
                      "--lock-path=/var/lock/nginx.lock",
                      "--http-log-path=/var/log/nginx/access.log",
                      "--with-http_geoip_module",
                      "--with-file-aio"].join(" ")

   execute "compile nginx with passenger" do
     command "passenger-install-nginx-module --auto --auto-download --
   prefix=/usr/local --extra-configure-flags="#{compile_options}""
     not_if { File.exists? "/usr/local/sbin/nginx"}
   end




viernes 4 de noviembre de 2011
recipes/default.rb




       service "nginx" do
         supports :status => true, :restart =>
       true, :reload => true
       end




viernes 4 de noviembre de 2011
recipes/default.rb


                 cookbook_file "Copying nginx.conf" do
                   path "/etc/nginx/nginx.conf"
                   source "nginx.conf"
                   owner "root"
                   group "root"
                   mode 0600
                 end




viernes 4 de noviembre de 2011
recipes/default.rb



       logrotate "nginx" do
         files "/var/log/nginx/*.log"
         frequency "daily"
         missing_ok
         compress
         restart_command "sudo /etc/init.d/nginx
       restart"
       end



viernes 4 de noviembre de 2011
Ventajas

                    • control
                    • orden
                    • automatización
                    • reutilización
                    • velocidad

viernes 4 de noviembre de 2011
Desventajas

                    • curva de aprendizaje
                    • errores en producción



viernes 4 de noviembre de 2011
Virtualización FTW!!



viernes 4 de noviembre de 2011
https://www.virtualbox.org/
viernes 4 de noviembre de 2011
http://vagrantup.com/
viernes 4 de noviembre de 2011
Y ahora, conviértete en
                    un buen sysadmin




viernes 4 de noviembre de 2011
Monitoriza



viernes 4 de noviembre de 2011
Haz copias de
                                  seguridad


viernes 4 de noviembre de 2011
Mantén el sistema
                                 limpio


viernes 4 de noviembre de 2011
Asegura tu plataforma



viernes 4 de noviembre de 2011
Comprueba tus
                      copias de seguridad


viernes 4 de noviembre de 2011
En definitiva....



viernes 4 de noviembre de 2011
Tu plataforma puede
                    ser tan buena como
                          tú quieras


viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
                                 Muchas gracias

Más contenido relacionado

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Administración ágil de sistemas en el entorno de una startup

  • 1. Administración ágil de sistemas en el entorno de una Startup Fernando Blat http://fernando.blat.es/me @ferblape viernes 4 de noviembre de 2011
  • 2. Yo viernes 4 de noviembre de 2011
  • 3. The Cocktail viernes 4 de noviembre de 2011
  • 4. unvlog.com viernes 4 de noviembre de 2011
  • 5. iwannagothere.com viernes 4 de noviembre de 2011
  • 6. actuable.es viernes 4 de noviembre de 2011
  • 7. viernes 4 de noviembre de 2011
  • 8. viernes 4 de noviembre de 2011
  • 9. Heroku ❤ viernes 4 de noviembre de 2011
  • 10. Linode ❤ + $_$ viernes 4 de noviembre de 2011
  • 11. El desarrollador Total™ http://www.slideshare.net/sergio.gil/el-desarrollador-total viernes 4 de noviembre de 2011
  • 12. viernes 4 de noviembre de 2011
  • 13. Aproximación ágil + vaga viernes 4 de noviembre de 2011
  • 14. Ágil http://agilemanifesto.org/iso/es/ • respuesta ante el cambio • calidad • simplicidad viernes 4 de noviembre de 2011
  • 15. Elogio a la vagancia http://sofanaranja.com/2007/09/19/elogio-de-la-vagancia/ “Para mí hay dos tipos de vagos, el vago bueno y el vago malo. Al vago bueno no le gusta trabajar, y hace cosas increíblemente ingeniosas para no tener que hacerlo. viernes 4 de noviembre de 2011
  • 16. Elogio a la vagancia http://sofanaranja.com/2007/09/19/elogio-de-la-vagancia/ “Un buen vago hará su trabajo muy bien a la primera para no tener que repetirlo, y tan rápido como pueda para dedicar su tiempo a otros menesteres más interesantes. viernes 4 de noviembre de 2011
  • 18. Nodos - atributos - rol viernes 4 de noviembre de 2011
  • 19. Recetas Recetas Recetas Recetas Cookbooks viernes 4 de noviembre de 2011
  • 20. viernes 4 de noviembre de 2011
  • 21. Chef Solo http://wiki.opscode.com/display/chef/Chef+Solo viernes 4 de noviembre de 2011
  • 23. export DEBIAN_FRONTEND=noninteractive aptitude update && apt-get -o Dpkg::Options::="--force-confnew" -y -fuy dist-upgrade && # Install base packages apt-get remove -y nano && apt-get install -y gcc g++ make zlib1g-dev git-core libxml2-dev libxslt-dev libopenssl-ruby libsqlite3-dev sqlite3 autoconf imagemagick curl libssl-dev libcurl4-openssl-dev libreadline5-dev libncurses5-dev openntpd libyaml-0-2 libyaml-dev && cd /usr/local/src && curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz && tar xzvf readline-6.2.tar.gz && cd readline-6.2 && ./configure --prefix=/usr/local && make && make install && # Install Ruby and Chef cd /usr/local/src && wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.bz2 && tar jxvf ruby-1.9.3-rc1.tar.bz2 && cd ruby-1.9.3-rc1 && autoconf && ./configure --prefix=/usr/local && make && make install && gem install chef --no-ri --no-rdoc viernes 4 de noviembre de 2011
  • 24. sudo chef-solo -j roles/<role>.json -c solo.rb viernes 4 de noviembre de 2011
  • 25. production.json { "name": "production", "description": "Role for production environment", "chef_type": "role", "run_list": [ "recipe[apt]", "recipe[cron]", "recipe[gems]", "recipe[logrotate]", "recipe[monit]", "recipe[postgresql]", "recipe[nginx]", "recipe[iptables]", "recipe[postfix]", "recipe[munin]", "recipe[application]" ], "nginx": { "host": "toldostaging.com", "environment": "production" }, "passenger": { "version": "3.0.9" } } viernes 4 de noviembre de 2011
  • 26. nginx viernes 4 de noviembre de 2011
  • 27. nginx/ files/ default/ nginx.conf metadata.rb recipes/ default.rb templates/ default/ passenger.conf.erb toldo.conf.erb viernes 4 de noviembre de 2011
  • 28. metadata.rb maintainer "Toldo" maintainer_email "blat@thetoldo.com" license "Apache 2.0" description "Installs/Configures nginx" version "0.2.0" depends "gems" depends "monit" depends "logrotate" viernes 4 de noviembre de 2011
  • 29. recipes/default.rb include_recipe 'gems' include_recipe 'monit' include_recipe 'logrotate' package "libperl5.10" do action :install options "--force-yes" end package "libxslt1.1" do action :install options "--force-yes" end viernes 4 de noviembre de 2011
  • 30. recipes/default.rb # default options from Ubuntu 8.10 compile_options = ["--conf-path=/etc/nginx/nginx.conf", "--error-log-path=/var/log/nginx/error.log", "--pid-path=/var/run/nginx.pid", "--lock-path=/var/lock/nginx.lock", "--http-log-path=/var/log/nginx/access.log", "--with-http_geoip_module", "--with-file-aio"].join(" ") execute "compile nginx with passenger" do command "passenger-install-nginx-module --auto --auto-download -- prefix=/usr/local --extra-configure-flags="#{compile_options}"" not_if { File.exists? "/usr/local/sbin/nginx"} end viernes 4 de noviembre de 2011
  • 31. recipes/default.rb service "nginx" do supports :status => true, :restart => true, :reload => true end viernes 4 de noviembre de 2011
  • 32. recipes/default.rb cookbook_file "Copying nginx.conf" do path "/etc/nginx/nginx.conf" source "nginx.conf" owner "root" group "root" mode 0600 end viernes 4 de noviembre de 2011
  • 33. recipes/default.rb logrotate "nginx" do files "/var/log/nginx/*.log" frequency "daily" missing_ok compress restart_command "sudo /etc/init.d/nginx restart" end viernes 4 de noviembre de 2011
  • 34. Ventajas • control • orden • automatización • reutilización • velocidad viernes 4 de noviembre de 2011
  • 35. Desventajas • curva de aprendizaje • errores en producción viernes 4 de noviembre de 2011
  • 36. Virtualización FTW!! viernes 4 de noviembre de 2011
  • 39. Y ahora, conviértete en un buen sysadmin viernes 4 de noviembre de 2011
  • 40. Monitoriza viernes 4 de noviembre de 2011
  • 41. Haz copias de seguridad viernes 4 de noviembre de 2011
  • 42. Mantén el sistema limpio viernes 4 de noviembre de 2011
  • 43. Asegura tu plataforma viernes 4 de noviembre de 2011
  • 44. Comprueba tus copias de seguridad viernes 4 de noviembre de 2011
  • 45. En definitiva.... viernes 4 de noviembre de 2011
  • 46. Tu plataforma puede ser tan buena como tú quieras viernes 4 de noviembre de 2011
  • 47. viernes 4 de noviembre de 2011
  • 48. viernes 4 de noviembre de 2011 Muchas gracias