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

Post on 10-Dec-2014

944 views 0 download

description

 

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

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 "blat@thetoldo.com"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

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

Muchas graciasviernes 4 de noviembre de 2011