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

on

  • 351 views

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

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

Statistics

Views

Total Views
351
Views on SlideShare
310
Embed Views
41

Actions

Likes
1
Downloads
2
Comments
0

2 Embeds 41

https://twitter.com 38
https://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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 Presentation Transcript

  • 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 empresas como ! ! ! • Evangelista BDD y Agile ¿Quién soy?
  • ¿Porquéestacharla?
  • ¿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”?
  • ¿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?
  • ¿¿¡¡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 Services
  • ¿Problemas?
  • 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?
  • 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 Vagrantfile
  • 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 miedo a romper nada
  • 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 (Vagrant)
  • 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 y Enric del Back
  • Joan decide usar                  y ! Enric piensa que NodeJS es muy bonito pero que prefiere y que mejor usa
  • 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 Además, ¿qué pasa si queremos que las BBDD estén en otra máquina?
  • 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 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
  • ¿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 estable.
  • 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
  • ¿QuéesIC?
  • 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
  • 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