Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Just Code
How I learned to write code and stop worrying
about the environment
¡Hola !
Enrique Sánchez
Tester & Automation Engineer
PhD Student
• Technical Team Leader y Responsable Técnico del Área de
Testing en
!
!
!
• Más de 3 años de experiencia en testing en em...
¿Porquéestacharla?
¿Cuántas veces hemos intentado probar un
“juguete” nuevo y hemos dejado el ordenador
lleno de basura?
¿Cuántas veces tenem...
¿Por qué si intentamos subir a producción/
integrado/el ordenador de al lado un código
que en nuestro local funciona pero ...
¿¿¡¡Porquénopuedosólo
programar!!??
PongamosunCasoPrácticoEl extraordinario caso de Joan y Enric
Joan y Enric son dos colegas que tienen una idea…
Crear un programa con las tecnologías más
hipsters del momento y vendérselo a
Enseguida empiezan a pensar y les salen unas
cuantas tecnologías que pueden usar:
Tras arduas discusiones deciden que usarán un
SO concreto para desarrollar
!
!
Y llevarán su aplicación a Amazon Web Servi...
¿Problemas?
Hacer pruebas ahí es muy caro
Tienen que estar conectados por ssh
constantemente
Es un engorro tener que pusiera
constante...
Virtualización
Enric investiga por Internet y descubre algo
llamado
¿QuéesVagrant?
Vagrant es un gestor de máquinas virtuales
Permite provisionar las máquinas mediante un
archivo de configuración llamado V...
Puede ser provisionado usando:
Bash,Puppet,Chef,Docker…
Permite tener versionado la forma en la que se
provisiona una máquina (virtual o física)
Pueden hacer pruebas en local sin...
Además descubre una cosa llamada
¿QuéesPacker?
Packer is a tool for creating identical machine
images for multiple platforms from a single source
configuration.
Packer permite crear una máquina virtual
precompilada
Puedes tener la misma versión para producción
(Amazon) y para local ...
Packer+Vagrant+Puppet
DemoI
Joan y Enric están muy felices y contentos, tienen un
entorno para jugar y hacer experimentos
Joan se encargará del Front ...
Joan decide usar 	
  	
  	
  	
  	
  	
  	
  	
  	
  y
!
Enric piensa que NodeJS es muy bonito pero
que prefiere y que mej...
Joan y Enric se paran a pensar y dibujan un
esbozo de cómo sería la arquitectura
FrontEndBackEndHype
QueueDB
JHipster
http://jhipster.github.io/
¿Cómometemosestoenuna
VM?
¿Puppet, Chef, Bash? Están bien para pequeñas
cosas pero levantar un servicio es un “poco”
más complejo de lo que parece
A...
Docker is an open platform for developers and
sysadmins to build, ship, and run distributed
applications.
Extiende LXC (contenedores que corren en
paralelo sobre la misma máquina anfitriona)
No emula una máquina virtual completa...
¿Cómogestionanelsoftware?
flow
Vagrant+Puppet+Docker+
stack
DemoII
Pero el código aumenta y hackear en paralelo a
ver qué se consigue deja de ser una opción si
quieren conseguir algo más es...
Pero el código aumenta y hackear en paralelo a
ver qué se consigue deja de ser una opción si
quieren conseguir algo más es...
¿QuéesIC?
Continuous Integration is a software
development practice where members of a
team integrate their work frequently (…)
Each...
Un job para Máster …
otro que pruebe Release …
otro para Develop/Rama …
otro para desplegar el código en los entornos
Una vez que el software funciona hay que
desplegarlo en Amazon…
Una vez que el software funciona hay que
desplegarlo en Amazon…
Artefactos, versiones del front…
Rock’n’roll
DemoIII
Preguntas?
Gracias!
Enrique Sánchez | hola@enrique-sanchez.me | @EnriqueSanchezB
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
Upcoming SlideShare
Loading in …5
×

Just Code or How I learned to write code and stop worrying about the environment

1,103 views

Published on

Cómo crear un entorno de desarrollo que pueda ser llevado a producción

Published in: Software

Just Code or How I learned to write code and stop worrying about the environment

  1. 1. Just Code How I learned to write code and stop worrying about the environment
  2. 2. ¡Hola ! Enrique Sánchez Tester & Automation Engineer PhD Student
  3. 3. • Technical Team Leader y Responsable Técnico del Área de Testing en ! ! ! • Más de 3 años de experiencia en testing en empresas como ! ! ! • Evangelista BDD y Agile ¿Quién soy?
  4. 4. ¿Porquéestacharla?
  5. 5. ¿Cuántas veces hemos intentado probar un “juguete” nuevo y hemos dejado el ordenador lleno de basura? ¿Cuántas veces tenemos que luchar contra configs porque tenemos una versión de SO “especial”?
  6. 6. ¿Por qué si intentamos subir a producción/ integrado/el ordenador de al lado un código que en nuestro local funciona pero que mágicamente deja de funcionar?
  7. 7. ¿¿¡¡Porquénopuedosólo programar!!??
  8. 8. PongamosunCasoPrácticoEl extraordinario caso de Joan y Enric
  9. 9. Joan y Enric son dos colegas que tienen una idea…
  10. 10. Crear un programa con las tecnologías más hipsters del momento y vendérselo a
  11. 11. Enseguida empiezan a pensar y les salen unas cuantas tecnologías que pueden usar:
  12. 12. Tras arduas discusiones deciden que usarán un SO concreto para desarrollar ! ! Y llevarán su aplicación a Amazon Web Services
  13. 13. ¿Problemas?
  14. 14. Hacer pruebas ahí es muy caro Tienen que estar conectados por ssh constantemente Es un engorro tener que pusiera constantemente a un repo para hacer pruebas en remoto. ¿Qué pasa si se rompe algo?
  15. 15. Virtualización
  16. 16. Enric investiga por Internet y descubre algo llamado
  17. 17. ¿QuéesVagrant?
  18. 18. Vagrant es un gestor de máquinas virtuales Permite provisionar las máquinas mediante un archivo de configuración llamado Vagrantfile
  19. 19. Puede ser provisionado usando: Bash,Puppet,Chef,Docker…
  20. 20. Permite tener versionado la forma en la que se provisiona una máquina (virtual o física) Pueden hacer pruebas en local sin miedo a romper nada
  21. 21. Además descubre una cosa llamada
  22. 22. ¿QuéesPacker?
  23. 23. Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
  24. 24. Packer permite crear una máquina virtual precompilada Puedes tener la misma versión para producción (Amazon) y para local (Vagrant)
  25. 25. Packer+Vagrant+Puppet DemoI
  26. 26. Joan y Enric están muy felices y contentos, tienen un entorno para jugar y hacer experimentos Joan se encargará del Front y Enric del Back
  27. 27. Joan decide usar                  y ! Enric piensa que NodeJS es muy bonito pero que prefiere y que mejor usa
  28. 28. Joan y Enric se paran a pensar y dibujan un esbozo de cómo sería la arquitectura
  29. 29. FrontEndBackEndHype QueueDB
  30. 30. JHipster http://jhipster.github.io/
  31. 31. ¿Cómometemosestoenuna VM?
  32. 32. ¿Puppet, Chef, Bash? Están bien para pequeñas cosas pero levantar un servicio es un “poco” más complejo de lo que parece Además, ¿qué pasa si queremos que las BBDD estén en otra máquina?
  33. 33. Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
  34. 34. Extiende LXC (contenedores que corren en paralelo sobre la misma máquina anfitriona) No emula una máquina virtual completa ni corre un sistema operativo íntegro dentro de ella, a costa de quedar “atado” al sistema operativo anfitrión, que se expone a las aplicaciones
  35. 35. ¿Cómogestionanelsoftware?
  36. 36. flow
  37. 37. Vagrant+Puppet+Docker+ stack DemoII
  38. 38. Pero el código aumenta y hackear en paralelo a ver qué se consigue deja de ser una opción si quieren conseguir algo más estable.
  39. 39. Pero el código aumenta y hackear en paralelo a ver qué se consigue deja de ser una opción si quieren conseguir algo más estable. Integración Continua
  40. 40. ¿QuéesIC?
  41. 41. Continuous Integration is a software development practice where members of a team integrate their work frequently (…) Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible
  42. 42. Un job para Máster … otro que pruebe Release … otro para Develop/Rama …
  43. 43. otro para desplegar el código en los entornos
  44. 44. Una vez que el software funciona hay que desplegarlo en Amazon…
  45. 45. Una vez que el software funciona hay que desplegarlo en Amazon… Artefactos, versiones del front…
  46. 46. Rock’n’roll DemoIII
  47. 47. Preguntas? Gracias!
  48. 48. Enrique Sánchez | hola@enrique-sanchez.me | @EnriqueSanchezB

×