SlideShare a Scribd company logo
1 of 74
Download to read offline
Pablo Godel @pgodel - http://phpconference.com.ar
04/Oct/2013 - Buenos Aires, Argentina
Deployment de Aplicaciones
PHP a prueba de balas
Friday, October 4, 13
¿Quién soy?
⁃ Argentino viviendo en Estados Unidos desde 1999
⁃ Desarrollador PHP & Symfony
⁃ Fundador de la primera lista de discusión de PHP de
habla hispana
- Socio fundador de ServerGrove
⁃ Amante de la parrilla
Friday, October 4, 13
Friday, October 4, 13
Friday, October 4, 13
⁃ Fundada en 2005
⁃ Proveedor de servicios de hosting especializado en PHP,
Symfony, ZendFramework, y otros
⁃ Servidores en Europa y Estados Unidos
⁃ Work with us! jobs@servergrove.com
ServerGrove!
Friday, October 4, 13
La comunidad es nuestra guia
⁃ Muy activos en la comunidad de Open
Source contribuyendo con código o
patrocinando eventos y grupos de
usuarios
Friday, October 4, 13
La comunidad es nuestra guia
Friday, October 4, 13
La comunidad es nuestra guia
Friday, October 4, 13
Deployment
?
Friday, October 4, 13
Deployment
Deployment de Software comprende todas
las actividades que hacen disponible un
sistema de software para su uso.
http://en.wikipedia.org/wiki/Software_deployment
Friday, October 4, 13
Deployment
Es una parte muy
importante de la vida
de la aplicación
Friday, October 4, 13
Deployment
Es una parte muy
importante crítica de la
vida de la aplicación
Friday, October 4, 13
Deployment
No debe ser un
pensamiento
secundario
Friday, October 4, 13
Deployment
Debe ser predecible
Friday, October 4, 13
Deployment
Cuanto más lo hagas
mejor funcionará
Friday, October 4, 13
Friday, October 4, 13
Metas
Friday, October 4, 13
Deployment: Metas
Un-click
Friday, October 4, 13
deployment
continuo
Deployment: Metas
Friday, October 4, 13
Deployment de Aplicaciones PHP
Friday, October 4, 13
Deployment de Aplicaciones PHP
Friday, October 4, 13
Deployment de Aplicaciones PHP
Friday, October 4, 13
A toda hora
& lugar
Deployment: Metas
Friday, October 4, 13
Cualquiera
Deployment: Metas
Friday, October 4, 13
Confiable
Deployment: Metas
Friday, October 4, 13
Rollbacks
Deployment: Metas
Friday, October 4, 13
Sin
downtime
Deployment: Metas
Friday, October 4, 13
Re-usable
Deployment: Metas
Friday, October 4, 13
Escalable
Deployment: Metas
Friday, October 4, 13
Verdades
Friday, October 4, 13
Deployment: Verdad #1
El deployment comienza con el desarrollador
•Entorno de desarrollo lo más parecido a
servidores de producción
•Servidores de test/qa/staging
Vagrant para manejar VMs
•Puppet/Chef para manejar los paquetes y
configuración del S.O.
Friday, October 4, 13
Deployment: Verdad #2
El éxito depende de la configuración del S.O.
•Puppet/Chef para manejar los paquetes y
configuración del S.O.
•Crear paquetes de S.O. para todo software
de terceros
•Configurar tus propios repositorios
Friday, October 4, 13
Deployment: Verdad #3
El monitoreo incrementa el “uptime”
•Herramientas de Monitoreo informan lo
que sucede en tus servidores (Ganglia,
Cacti, Zabbix, etc.)
•Agregá monitoreo y metrics a tus
aplicaciones (Graphite, StatsD, New Relic)
•Usá los logs inteligentemente (Graylog,
Logstash, Kibana)
Friday, October 4, 13
Metodologías de
Deployment
Friday, October 4, 13
Deployment: Metodologías
•Al estilo VIM
•Copia con FTP
•rsync
•source control (svn, git)
•Herramientas de Build (ant, phing)
•Herramientas especializadas
(capistrano, fabric, etc)
•Basadas en paquetes (rpm, deb, etc)
Friday, October 4, 13
Pasos comunes
Friday, October 4, 13
Deployment x Primera vez
•Copiar archivos a servidor(es)
•Configurar variables en el servidor
•Cargar fixtures de DB
•Procesar e instalar assets
•“Preparar” el cache
•“Activar” sitio
Friday, October 4, 13
•Copiar archivos a servidor(es)
•Aplicar cambios de DB (migraciones)
•Procesar e instalar assets
•“Preparar” el cache
•“Activar” sitio
Deployment:
Siguientes ocaciones
Friday, October 4, 13
•Copiar archivos a servidor(es)
•Aplicar cambios de DB (migraciones)
•Procesar e instalar assets
•“Preparar” el cache
•“Activar” sitio
Deployment:
Siguientes ocaciones
Friday, October 4, 13
Desafíos
Friday, October 4, 13
Deployment: Desafíos
•rsync
•git pull
•configurar git repo en red local para
ahorrar ancho de banda y evitar
problemas de conectividad con servidor
git (i.e. github)
Desafío:
Copiar archivos rápida y confiablemente
Soluciones:
Friday, October 4, 13
•usar herramienta que permita ir de 1 a n
servidores fácilmente (ej. capistrano)
•pssh permite enviar comandos en
paralelo a multiples servidores
•empaquetar tu aplicación en paquetes de
S.O. como .rpm/.deb para instalar en
muchos servidores fácilmente
Escalable
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
•Probá primero!
•Creá tags
•branches dedicados (master para
producción)
•deploy cada release en un directorio
nuevo
Rollbacks
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
•usar conexiones basadas en ssh
•no guardes contraseñas en source control
•guarda datos sensibles (passwords) en
variables de entorno
Seguro
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
Migraciones de DB
•Doctrine Migrations
•Considerá usar DBs de documentos
como MongoDB
“Las mejores migraciones son las que no tenés
que hacer”
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
Assets estáticos
•YUICompress comprime archivos JS y CSS
•Activá compresión gzip en el servidor Web
•Agregá versiones a los links de archivos
estáticos (code.js?v=1)
•Assetic combina multiples archivos en uno
•Corré herramientas localmente o servidor de
staging, deploy el resultado
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
Caching
•Actualizá un servidor mientras otros
procesan el tráfico
•Agrupá servidores y actualizá un grupo a la
vez
•Ejecutá comandos en “finalize” para limpiar
el cache de APC
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
Conflicto de permisos de archivos
•Corré Apache/PHP con el mismo usuario
•Usá php-fpm en vez de mod_php
•Creá usuario “deploy” y agregá el usuario
del servidor web al grupo “deploy”
•Usá setfacl para permitir que multiples
usuarios puedan escribir
Soluciones:
Deployment: Desafíos
Desafío:
Friday, October 4, 13
Otros problemas comunes
Friday, October 4, 13
Deployment:
Otros problemas comunes
• Sistema de archivos ‘Case sensitive’
• Configuraciones diferentes
• Software de terceros desactualizados
• Github caído
$ git daemon --base-path=/git/repo/path/ --
export-all
$ git clone git://127.0.0.1/repo
http://ozmm.org/posts/when_github_goes_down.html
Friday, October 4, 13
Ejemplos
Friday, October 4, 13
Deployment:
Ejemplos
El deployment continuo más simple!
<?php
exec(‘/usr/bin/env -i HOME=/var/www git pull’);
echo “Listo!”;
hook.php
screenshot
Friday, October 4, 13
Capistrano
•Escrito en Ruby
•Muy extensible
•Gran número de extensiones
•Instalación simple en el cliente
$ gem install capistrano
Deployment:
Ejemplos
Friday, October 4, 13
Capistrano
set :application, "myapp" # Nombre de aplicación
set :deploy_to, "/var/www/myapp"
set :user, "deployer"
set :use_sudo, false # sudo isn't required
set :deploy_via, :remote_cache
set :repository, "git@github.com:user/repo.git"
role :web, "server.example.com",“server2.example.com”
Deployment:
Ejemplos
Friday, October 4, 13
$ cap deploy:setup
Capistrano
Deployment:
Ejemplos
Friday, October 4, 13
|-- releases
`-- shared
|-- logs
`-- uploads
Capistrano
Deployment:
Ejemplos
Friday, October 4, 13
Capistrano
$ cap deploy
$ cap deploy:migrations
$ cap deploy:rollback
Deployment:
Ejemplos
Friday, October 4, 13
|-- current
(symlink a releases/20130112)
|-- releases
| `-- 20130112
`-- shared
|-- logs
`-- uploads
Capistrano
Deployment:
Ejemplos
Friday, October 4, 13
Deployment:
Otras opciones
•Fabric
•WePloy
•Phing
•Magallanes
•Jenkins
Friday, October 4, 13
Herramientas
Friday, October 4, 13
Deployment:
Herramientas
App Metrics: StatsD & Graphite
Friday, October 4, 13
Logging: Logstash
Envia logs desde fuentes multiples, las
procesa, obtiene la fecha correcta, indexa y
ofrece búsqueda
Deployment:
Herramientas
Friday, October 4, 13
Logging: Logstash
Configura Apache para generar logs en json
LogFormat "{ "@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t", "@fields": { "client": "%a",
"duration_usec": %D, "status": %s, "request": "%U%q", "method": "%m", "referrer": "%
{Referer}i" } }" logstash_json
# Write our 'logstash_json' logs to logs/access_json.log
CustomLog logs/access_json.log logstash_json
{ "@timestamp": "2012-08-22T14:35:19-0700", "client": "127.0.0.1",
"duration_usec": 532, "status": 404, "request": "/favicon.ico",
"method": "GET", "referrer": "-" }
Resultado
Deployment:
Herramientas
Friday, October 4, 13
Logging: Kibana
Kibana ofrece una forma fácil y amigable de
visualizar y buscar datos en tus logs
Deployment:
Herramientas
Friday, October 4, 13
Logging: Graylog
Deployment:
Herramientas
Friday, October 4, 13
Packaging: fpm
https://github.com/jordansissel/fpm
Crea paquetes para plataformas múltiples
(deb, rpm, etc) muy fácilmente
fpm -s dir -t rpm -n "myapp" -v 1.0 /var/www/myapp
fpm -s dir -t deb -a all -n myapp -v 1.0 /etc/apache2/
conf.d/my.conf /var/www/myapp
Deployment:
Herramientas
Friday, October 4, 13
Repaso
Friday, October 4, 13
•Dejá de usar FTP
Friday, October 4, 13
•Dejá de usar FTP
•Planeá temprano
Friday, October 4, 13
•Dejá de usar FTP
•Planeá temprano
•Practicalo
Friday, October 4, 13
•Dejá de usar FTP
•Planeá temprano
•Practicalo
•Monitoreá
Friday, October 4, 13
•Dejá de usar FTP
•Planeá temprano
•Practicalo
•Monitoreá
•AUTOMATIZA!
Friday, October 4, 13
¿Preguntas?
Transparencias: http://slideshare.net/pgodel
Twitter: @pgodel
E-mail: pablo@servergrove.com
Friday, October 4, 13
Gracias!
Transparencias: http://slideshare.net/pgodel
Twitter: @pgodel
E-mail: pablo@servergrove.com
Friday, October 4, 13

More Related Content

What's hot

Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
 
Introducción a Vagrant
Introducción a VagrantIntroducción a Vagrant
Introducción a VagrantRaúl Uranga
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaipquaip
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Creación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCreación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCarlos Gimeno Yáñez
 
Introducción al framework Symfony
Introducción al framework SymfonyIntroducción al framework Symfony
Introducción al framework SymfonyAlejandro Hernández
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskElio Rojano
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a AnsibleOsvaldo
 
05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4fyomaira
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con gitJan Sanchez
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 

What's hot (20)

Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
 
Introducción a Vagrant
Introducción a VagrantIntroducción a Vagrant
Introducción a Vagrant
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Creación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCreación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con Vagrant
 
Migrando CI a Docker
Migrando CI a DockerMigrando CI a Docker
Migrando CI a Docker
 
Introducción al framework Symfony
Introducción al framework SymfonyIntroducción al framework Symfony
Introducción al framework Symfony
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 
The modern perl toolchain
The modern perl toolchainThe modern perl toolchain
The modern perl toolchain
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 
Curso Vagrant
Curso VagrantCurso Vagrant
Curso Vagrant
 
05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Vagrant
VagrantVagrant
Vagrant
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
4 calentando motores - kali
4   calentando motores - kali4   calentando motores - kali
4 calentando motores - kali
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 

Viewers also liked

Commercial renderings
Commercial renderingsCommercial renderings
Commercial renderingstkors6
 
UCT Infolit Story 24 May 2016
UCT Infolit Story 24 May 2016UCT Infolit Story 24 May 2016
UCT Infolit Story 24 May 2016HELIGLIASA
 
Различия_в_покрытиях_что_лучше_выбрать?
Различия_в_покрытиях_что_лучше_выбрать?Различия_в_покрытиях_что_лучше_выбрать?
Различия_в_покрытиях_что_лучше_выбрать?specdveri
 
Улучшение Ликвидности Компании и Антикризисные Мероприятия
Улучшение Ликвидности Компании и Антикризисные МероприятияУлучшение Ликвидности Компании и Антикризисные Мероприятия
Улучшение Ликвидности Компании и Антикризисные МероприятияTaras Kuzin
 
evaluacion inicial o diagnostica
evaluacion inicial o diagnosticaevaluacion inicial o diagnostica
evaluacion inicial o diagnosticaBanesa Ruiz
 
Acquire New Customers and Explode Your Revenue with Content Marketing
Acquire New Customers and Explode Your Revenue with Content MarketingAcquire New Customers and Explode Your Revenue with Content Marketing
Acquire New Customers and Explode Your Revenue with Content MarketingMaria Pergolino
 
Conquista y colonización de venezuela
Conquista y colonización de venezuelaConquista y colonización de venezuela
Conquista y colonización de venezuelaDiana Benítez
 
College of Cape Town Infolit Story 24 May 2016
College of Cape Town Infolit Story 24 May 2016College of Cape Town Infolit Story 24 May 2016
College of Cape Town Infolit Story 24 May 2016HELIGLIASA
 
SiMania Joint Legacy Chapter 1
SiMania Joint Legacy Chapter 1SiMania Joint Legacy Chapter 1
SiMania Joint Legacy Chapter 1Haleigh Dykes
 
Connected cities mac
Connected cities  macConnected cities  mac
Connected cities macLuiz Calado
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop LondonKeir Bowden
 
Four Ways to Make Interactivity Count
Four Ways to Make Interactivity CountFour Ways to Make Interactivity Count
Four Ways to Make Interactivity CountCammy Bean
 

Viewers also liked (20)

Commercial renderings
Commercial renderingsCommercial renderings
Commercial renderings
 
UCT Infolit Story 24 May 2016
UCT Infolit Story 24 May 2016UCT Infolit Story 24 May 2016
UCT Infolit Story 24 May 2016
 
Full Resume
Full ResumeFull Resume
Full Resume
 
Reginaldo aparecido pontes ...
Reginaldo aparecido pontes ...Reginaldo aparecido pontes ...
Reginaldo aparecido pontes ...
 
Различия_в_покрытиях_что_лучше_выбрать?
Различия_в_покрытиях_что_лучше_выбрать?Различия_в_покрытиях_что_лучше_выбрать?
Различия_в_покрытиях_что_лучше_выбрать?
 
test
testtest
test
 
Keeping content strategy alive: Managing people & processes
Keeping content strategy alive: Managing people & processesKeeping content strategy alive: Managing people & processes
Keeping content strategy alive: Managing people & processes
 
Grupo 5
Grupo 5Grupo 5
Grupo 5
 
Улучшение Ликвидности Компании и Антикризисные Мероприятия
Улучшение Ликвидности Компании и Антикризисные МероприятияУлучшение Ликвидности Компании и Антикризисные Мероприятия
Улучшение Ликвидности Компании и Антикризисные Мероприятия
 
evaluacion inicial o diagnostica
evaluacion inicial o diagnosticaevaluacion inicial o diagnostica
evaluacion inicial o diagnostica
 
Acquire New Customers and Explode Your Revenue with Content Marketing
Acquire New Customers and Explode Your Revenue with Content MarketingAcquire New Customers and Explode Your Revenue with Content Marketing
Acquire New Customers and Explode Your Revenue with Content Marketing
 
Conquista y colonización de venezuela
Conquista y colonización de venezuelaConquista y colonización de venezuela
Conquista y colonización de venezuela
 
College of Cape Town Infolit Story 24 May 2016
College of Cape Town Infolit Story 24 May 2016College of Cape Town Infolit Story 24 May 2016
College of Cape Town Infolit Story 24 May 2016
 
Regulation of Bankruptcy in Uzbekistan
Regulation of Bankruptcy in Uzbekistan  Regulation of Bankruptcy in Uzbekistan
Regulation of Bankruptcy in Uzbekistan
 
SiMania Joint Legacy Chapter 1
SiMania Joint Legacy Chapter 1SiMania Joint Legacy Chapter 1
SiMania Joint Legacy Chapter 1
 
Medio audiovisual-tv
Medio audiovisual-tvMedio audiovisual-tv
Medio audiovisual-tv
 
Connected cities mac
Connected cities  macConnected cities  mac
Connected cities mac
 
Memória 1
Memória 1Memória 1
Memória 1
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
 
Four Ways to Make Interactivity Count
Four Ways to Make Interactivity CountFour Ways to Make Interactivity Count
Four Ways to Make Interactivity Count
 

Similar to PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas

Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13peter69
 
Taller WordPress Avanzado
Taller WordPress AvanzadoTaller WordPress Avanzado
Taller WordPress AvanzadoRaúl Carrión
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerNelson Calero
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalAlberto Permuy Leal
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con MavenEudris Cabrera
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y BackEric Zeidan
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)juandanielp
 
Frontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsFrontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsDavid Ballén
 
Seguridad en WordPress con WPHardening
Seguridad en WordPress con WPHardeningSeguridad en WordPress con WPHardening
Seguridad en WordPress con WPHardeningDaniel Maldonado
 
Java day 2018 -> Integración y entrega continua no es más trabajo
Java day 2018 ->  Integración y entrega continua no es más trabajoJava day 2018 ->  Integración y entrega continua no es más trabajo
Java day 2018 -> Integración y entrega continua no es más trabajoDavid Recinos Orellana
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulfsrcid
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresqlCesar Martinez
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteJavier Gomez
 

Similar to PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas (20)

Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
 
Taller WordPress Avanzado
Taller WordPress AvanzadoTaller WordPress Avanzado
Taller WordPress Avanzado
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en Drupal
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Atix30
Atix30Atix30
Atix30
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Frontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsFrontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para Frontends
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Seguridad en WordPress con WPHardening
Seguridad en WordPress con WPHardeningSeguridad en WordPress con WPHardening
Seguridad en WordPress con WPHardening
 
Java day 2018 -> Integración y entrega continua no es más trabajo
Java day 2018 ->  Integración y entrega continua no es más trabajoJava day 2018 ->  Integración y entrega continua no es más trabajo
Java day 2018 -> Integración y entrega continua no es más trabajo
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulf
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parte
 

More from Pablo Godel

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkyPablo Godel
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyPablo Godel
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer ToolboxPablo Godel
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersPablo Godel
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Pablo Godel
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyPablo Godel
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersPablo Godel
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsPablo Godel
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPablo Godel
 
Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012Pablo Godel
 

More from Pablo Godel (20)

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSky
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and Symfony
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developers
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP Apps
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP Apps
 
Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012
 

PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas