Crónica del primer Commit (3 de 3)
De 0 a 100 con Bash Shell Scripting y AWK
Me gustó mucho la charla aunque era para principiantes, pero la explicación y puesta en escena fue bastante agradable.
Para que podemos usar un Bash Shell Scripting:
Un shell script es un fichero de texto con comandos.
- Para ejecutarlo no hay ni que compilar, ni tener nada instalado, y puedes utilizar todos los comandos del sistema.
- Usalo para automatizar tareas del sistema y/o procesar datos de forma rápida.
- Usalo para hacer pequeños scripts, no grandes programas, para eso tienes otros lenguajes.
En Dreams los usamos bastante, con git hooks, deploys automáticos a través de pipelines de GitLab, copias de seguridad, notificaciones en servidores…
Una gran ventaja de estos mini-programas que los usuarios de entorno UNIX/LINUX/MAC puede volcar los suyo es en /usr/local/bin para tenerlos disponibles en cualquier parte del sistema. Esto te ofrece una ventaja grandísima de no tener que recordar dónde tienes el shell.
Cómo enfrentarse al código legacy y no morir en el intento
Un concepto muy interesante que te tienes que aprender que el código “Legacy” es el que te dá de comer, no puedes olvidar esta parte ya que sin ella tu empresa no gana dinero.
¿Qué debes hacer con el Legacy Code?
- NADA
- Re Escribirlo
- Invertir incrementalmente tiempo
- Conseguir un código fácil
Cuándo llegas a éste último paso, tu código puede ser testado con UNIT TEST, además consigues aumentar la velocidad del desarrollo y el valor del negocio aportando un importante ROI.
¿Cómo comenzar?
OLD CODE: Sprouts y Wraps
NEW CODE: Surgical & Incremental refactor
Pero recuerda, cada vez que cambies código legacy, el código debe ser mejor.
Comunicación entre microservicios Event-Driven-Architecture
Charla interesante para repasar los patrones de arquitecturas de aplicaciones, por intentar comenzar desde el principio, perdieron demasiado tiempo explicando lo básico no llegando a realizar toda la demo de la comunicación entre microservicios.
La idea era refactorizar un monolito en microservicios, haciendo hincapié en los problemas que pueden ocurrir, evitando que si cae el microservicio de login no afecte a un servicio de videos.
Finalizando demostraron cómo sacar el número de vídeos de la DB de usuarios para añadirlo a la DB de videos evitando que el visualizado de videos y subida de los mismos fuera ralentizada por el microservicios de login.
Crea tu entorno de CI/CD con Google Container Builder
Construir una pipeline es igual que intentar beber limonada con tus ojos. No importa el sistema de CI/CD que uses.
Charla muy orientada a Google, pocos conceptos podías extrapolar a otras plataformas. No puedo escribir mucho sobre esta charla, ya que me aburrí un montón, fué la típica ponencia en el mismo tono de voz…. sumado a todo aplicado a Google, pues la verdad que no te llevas nada para probar si no usas GCLOUD.
Kubernetes para developers
Una muy buena charla de introducción a Kubernetes para un desarrollador estándar que nunca se ha enfrentado a manejar sistemas.
La charla se dividió en diferentes niveles:
- Yo soy desarrollador, a mi no me cuentes historias
- Developer container-aware en local
- DevOps Role
- Cloud native developer
- Full cycle developer
En cada nivel se repasa todos los problemas y ventajas que supone, en el nivel 1 la eterna batalla entre desarrolladores y sysadmin. “Mi código funciona, hago push y ya lo desplegará alguien”
¿Por qué Kubernetes y los contenedores nos ayudan en el desarrollo diario? La gran ventaja es que podemos replicar una infraestructura real en local. No dependemos que cuando entra un desarrollador nuevo tener que configurar su entorno, y no necesitamos instalar servicios a “manija”, ya que la mayoría de los servicios usados tienen su docker oficial para llegar y usar.
Pero claro cuándo tenemos muchos contenedores tenemos el problema de “pastorear” todos ellos. ¿Cómo lo hacemos?
Ahí es dónde entra Kubernetes, es open source y permite la automatización de los contenedores.
Fué una de las charlas que más me gustó y más ganas de probar tengo haciendo I+D+I.
Esos contenedores a producción 16:30
Como me quedé con ganas de más contenedores después de la charla anterior, pues fuí a otra :D.
En esta ocasión se centró en que orquestadores tenemos disponibles para hacer un paso a producción de nuestros contenedores.
Pero, ¿Qué es un orquestador?
Un orquestador se encarga de manejar el ciclo de vida de los contenedores y ofrecer servicios adicionales para la aplicación.
Otras características esenciales:
Aprovisiona y ejecuta los contenedores.
Provee de auto escalado
Monitoring
Load balancing, redundancia y discovery
Exposición de contenedores al exterior
Manejo de recursos adicionales.
Vimos como el 50% de las organizaciones en 2018 usan contenedores. ¡IMPRESIONANTE!
Un apunte importante, Kubernetes no es solo para Docker, permite integrarse con otros motores.
Al final la charla nos enseñó unas buenas prácticas para Kubernetes, y el proceso de cómo actualizar una aplicación en Producción con diferentes procesos de despliegue:
- Actualizar / Redesplegar
- Blue / Green (Se despliegan ambas versiones a la vez y cuando la versión nueva está probada se migra todo el tráfico a ésta y destruye la vieja)
- Canary (Un grupo de usuarios usa la nueva versión y los demás la vieja, cuando se quiera pasar a la nueva versión se aumentan las réplicas nuevas y destruye la vieja)
- Recreate (Ideal para Dev, destruir entorno y sustituir)
- Ramped (Se crea un nuevo replicaset y se transfiere las réplicas de uno a otro).
Conclusiones
Commit (antes Codemotion) es una de las mejores conferencias en España en el mundo desarrollo/tecnológico que no te puedes perder, nunca defrauda.
Es un fin de semana intenso, con poco tiempo para evadirse y donde se reflejan las tendencias del sector, donde relacionarse y sobre todo aprender.
Muchas veces las charlas nos sirven para asentar conocimientos, para saber si nuestra dirección tecnológica está alineada con la industria y para llegar al trabajo con más ganas si cabe de profundizar, conocer y aprender nuevas técnicas y herramientas..
Queremos agradecer a la magnífica organización, a los más de 50 voluntarios y estudiantes de la universidad San Pablo por hacer de este evento lo que es, referente a nivel nacional. El primer Commit Conf ha sido todo un éxito.
Dejamos el canal oficial del evento, con mucho contenido y gran parte de las charlas
https://www.youtube.com/channel/UCd_1KHg4t2VKGsSDF8OD5Cw
Nos vemos el año que viene!!
PD: Completamos nuestros albumes de cromos!! yeah!!