Upload
fernando-blat
View
944
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Administración ágil de sistemas en el entorno
de una Startup
Fernando Blathttp://fernando.blat.es/me
@ferblape
viernes 4 de noviembre de 2011
Yoviernes 4 de noviembre de 2011
The Cocktailviernes 4 de noviembre de 2011
unvlog.comviernes 4 de noviembre de 2011
iwannagothere.comviernes 4 de noviembre de 2011
actuable.esviernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
Lessis more
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
Ágilhttp://agilemanifesto.org/iso/es/
• respuesta ante el cambio
• calidad
• simplicidad
viernes 4 de noviembre de 2011
Elogio a la vaganciahttp://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 vaganciahttp://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
RecetasRecetasRecetasRecetas
Cookbooks
viernes 4 de noviembre de 2011
viernes 4 de noviembre de 2011
Chef Solohttp://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=noninteractiveaptitude update &&apt-get -o Dpkg::Options::="--force-confnew" -y -fuy dist-upgrade &&# Install base packagesapt-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 Chefcd /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
{ "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" }}
production.json
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
maintainer "Toldo"maintainer_email "[email protected]"license "Apache 2.0"description "Installs/Configures nginx"version "0.2.0"depends "gems"depends "monit"depends "logrotate"
metadata.rb
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"endpackage "libxslt1.1" do action :install options "--force-yes"end
viernes 4 de noviembre de 2011
recipes/default.rb
# default options from Ubuntu 8.10compile_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 => trueend
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 0600end
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
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
Muchas graciasviernes 4 de noviembre de 2011