Aprende a desplegar un proyecto DevOps desde cero

Aprender DevOps desde cero de fondo tiene la misma razón por la que muchos alumnos hacen un Bootcamp con nosotros, para actualizar  sus conocimientos o reciclarse profesionalmente, pero también existen casos como el de Jaime en donde además de aprender nuevas tecnologías en el Full Stack DevOps Bootcamp, logró desplegar un proyecto en su empresa para mejorar las competencias técnicas y personales de su equipo de desarrolladores. Hablamos con Jaime y nos contó cómo logró desarrollar este proyecto llamado Tealify.

¿Cómo ha nacido la idea?

La idea surgió en mi empresa ya que al ser una startup de equipo reducido, no tenemos un área de Recursos Humanos como tal. Personalmente, como manager del equipo técnico, siempre me ha preocupado que mis compañeros tengan una visión clara del “career path”. Por eso, es una herramienta que nos viene genial cuando tenemos one-to-ones y evaluamos el progreso.

¿Podrías explicarnos en detalle el desarrollo del proyecto desde la concepción de la idea hasta el resultado final?

El proyecto comenzó con el desarrollo del frontend, que lo desarrollaron un grupo de programadoras al hacer una práctica en mi empresa hace unos meses. Ellas utilizaron un diseño que les pasamos y lo desarrollaron en React.

Más tarde, durante el transcurso del bootcamp DevOps, me puse el objetivo de desplegar esta aplicación con las tecnologías que hemos venido utilizando en el curso. En primer lugar utilicé Docker para crear una imagen del frontend que luego pudiera desplegar. La idea también consistía en desarrollar una API en Django que permitiera almacenar datos en una base de datos y luego renderizarlos en el frontend. Aunque esta parte aún no está completada, la aplicación de Django si que se ha desplegado en un clúster de Kubernetes junto con el frontend.

Finalmente, la aplicación está alojada en Gitlab y tiene una configuración incompleta de integración continua. El objetivo es que se pongan las bases para continuar su desarrollo siguiendo las buenas prácticas y las metodologías DevOps estudiadas en el curso.

¿A qué problemas te has enfrentado durante el desarrollo?

Todas las tecnologías mencionadas antes eran nuevas para mi. Nunca había utilizado Docker o Kubernetes y tenía conocimientos básicos de integración continua. Como todo en la vida del programador es cuestión de paciencia y práctica. Quizás el mayor problema que he tenido ha sido la falta de base técnica de Administración de Sistemas, redes, puertos etc. lo cual me ha complicado a veces entender por qué algunas configuraciones no funcionaban bien y me veía con pocos recursos a la hora de “debuguear”.

¿Por qué has elegido desplegar la aplicación con Docker y Kubernetes? ¿Por qué en Google Cloud?

Docker está muy extendido y creo que va a ser una herramienta imprescindible para cualquier desarrollador. Por otro lado Kubernetes te ayuda a entender bien el paradigma de los microservicios y es una buena tecnología para desarrollar aplicaciones escalables. Yo los he utilizado más para practicar y entenderlo bien. Google Cloud Platform me ha “entrado por los ojos”, viniendo de AWS me parece bastante más intuitiva a todos los niveles y me interesaba utilizarla para comprender las diferencias, ventajas y desventajas respecto al otro cloud provider.

¿Tienes planes de seguir desarrollando la idea más allá del Bootcamp?

Sí, mi objetivo es terminar la configuración de integración continua y añadir alguna herramienta de observabilidad como Prometheus para practicar esa parte del Bootcamp. Además, me gustaría que la API de la aplicación la desarrolláramos internamente en mi empresa como proyecto paralelo. Quién sabe si en un futuro podría llegar a comercializarse.

¿Qué te ha aportado el Bootcamp para poder desarrollar esta idea?

Prácticamente todo lo que he aplicado en este proyecto viene de cosas que he aprendido en el bootcamp. Además, unir todos los módulos te da una visión muy amplia de cómo desarrollar aplicaciones escalables desde cero, sentando unas bases sólidas y al día con las nuevas tecnologías.

¿Recomendarías el Full Stack DevOps Bootcamp?

Muchísimo. Creo que ayuda a complementar la figura del desarrollador que cada vez va abarcando más cosas. Me gusta mucho la idea de que los equipos técnicos sean multidisciplinares y todos sepan más o menos cómo funciona cada cadena del eslabón para evitar los llamados “silos”, conflictos etc. A nivel de cultura creo que la filosofía DevOps va a ser la constante en todas las empresas así que, entender bien qué significa y saber implementar las tecnologías que lo soportan, creo que es un acierto a la hora de invertir tu tiempo en formarte en algo nuevo.

Si quieres llevar tus proyectos a esta nueva tendencia en programación, donde la optimización de procesos y recursos es el principal objetivo, tienes que descubrir nuestro Full Stack DevOps Bootcamp.

¿Quieres más información? Programa una llamada con nosotros

Otros casos que te pueden interesar:

¡Conoce nuestros Bootcamps!

Descarga el temario y descubre cómo en 6 meses podrás ser un Full Stack DevOps Bootcamp.

¿Quieres más información?