Por Jorge Alonso Gastelum Gonzalez

Primero que nada: ¿Qué es un Champion? ¿es un rol? ¿una actividad? ¿para qué sirve?
¿Qué pasa cuando los del equipo «DevOps» necesitan educar a la organización y mostrarles que no es un rol si no una cultura?

En Kueski, desde sus inicios hasta recién hace unos meses, existía una figura DevOps en los equipos, que no era más que un SysAdmin (Administrador de sistemas) que sabía programar y automatizaba hasta donde podía. El problema llegó cuando la organización necesitó escalar (a un ritmo muy acelerado como cualquier startup) y necesitábamos más personas que hicieran esto.

Traer más ingenieros, solo lo iba a empeorar las cosas. Así que en Kueski, a principios del 2020 (para ser exactos en el mes de Febrero) se decidió crear un rol intermedio entre DevOps y un desarrollador que permitiera a los primeros, ir a trabajar en una plataforma al alcance de todos los desarrolladores que no son tan versados en temas de infraestructura mientras que otros desarrolladores tomarían las responsabilidades de los DevOps, que de ahora en adelante llamaremos Cloud Engineers, pues DevOps NO ES UN ROL, ES UNA CULTURA. Y en resumen así fue como me convertí en un Champion.

¿Qué es un Champion?

Un Champion es la persona que tiene mas permisos que un desarrollador, pero menos que un Cloud Engineer.

Pero, ¿De qué permisos estamos hablando? Simple, son permisos para hacer despliegues a los ambientes de staging y Producción de forma manual y automatizada, ejecutar algunos jobs de Jenkins, ejecutar rutinas para hacer merge a las ramas master en GitHub, modificaciones a los secretos (archivos que contienen configuraciones sensibles, usuarios, contraseñas, etc…) acceso a la infraestructura de producción de Amazon Web Services, entre otros.

El objetivo por el cual el rol fue creado es para aligerar la carga de actividades del equipo de plataforma además de tener alguien para promover la cultura DevOps entre los equipos de desarrollo.

La cultura DevOps es algo que se ha estado intentando promover en la compañía desde hace tiempo, pero ¿Qué mejor punto de partida que una persona que se encargue de fomentarla en su respectivo equipo de desarrollo, sirva de guía para los temas relacionados a DevOps y además tenga contexto de lo que se trabaja en el equipo?

Al momento que se me asignó el rol de Champion fue un momento de sorpresa y emoción porque me sentía agradecido de que me hayan considerado, pero también de incertidumbre, y dudas porque no tenía idea de que era lo que tenía que hacer, ni tampoco tenía alguien con un rol similar para apoyarme, porque para ese momento no había otro Champion, me tocó ser el primero.

Días después, comenzaron a asignar más Champions, pues la idea era tener uno por equipo de desarrollo. Al principio fue complejo y hasta un poco estresante, porque eran demasiadas cosas nuevas por aprender, herramientas, procesos, repositorios, conocimientos de infraestructura, etc.

Siendo sincero, llegue a pensar que era el único Champion que no entendía todo los que nos estaban tratando de enseñar, pero después comencé a hablar con cada uno personalmente, todos estábamos un poco (o muy) confundidos debido a la alta curva de aprendizaje que estábamos teniendo en tan poco tiempo.

Pero siendo dedicados, esforzándonos y practicando logramos ir aprendiendo poco a poco, hasta cada vez dominar más los temas en los que se nos requería, recalcando una vez más uno de los valores más importantes de la compañía, la resiliencia.

Cómo trabajar en KueskiUno de los retos más grandes fue comprender todo lo que era, y todo lo que hacía Ansible, porque dentro del mismo repositorio se encontraban, playbooks, archivos de configuración, secretos, scripts, aprovisionamiento de ambientes (desarrollo, staging, y producción), roles, etc.

En lo personal, lo que se me hizo más difícil de comprender, (y sigo en eso) fue Terraform que es un software de Infrastructure as a Code, con el cual se construyen algunos ambientes de desarrollo (Los más nuevos), con solo un comando es capaz de levantar toda una VPC, con sus respectivas máquinas EC2, buckets de S3, RDS, etc.

Para Terraform tuve que tomar un curso, leer documentación, apoyarme con algunos Cloud Engineers y comparar el código que ya estaba escrito para poder comprender qué significaba todo eso que leía.

Una de las cosas que más me impresionó e interesó era lo que se podía hacer con Docker y Kubernetes, desde revivir instancias que se hayan caído, hasta regresar a la versión funcional más reciente de un servicio en caso de una incidencia sin necesidad del equipo de desarrollo, todo esto automáticamente.

Sobre contenedores es un tema del cual aún estoy en proceso de aprendizaje y del que más me interesé cuando comencé como DevOps Champion.

Hay una gran cantidad de herramientas que tuve que aprender y sigo aprendiendo en este proceso, como Amazon Web Services, playbooks, pipelines, etc. pero en este bonito mundo de la tecnología tenemos que estar en aprendizaje continuo, porque hay un mundo infinito de cosas por aprender, y evoluciona a un ritmo muy acelerado.

En este momento, el último cuarto del año, el trabajo como Champion se ha reducido considerablemente a lo que había que hacer a inicios del año, esto debido a que la infraestructura se ha vuelto más estable y los compañeros de equipo ya han aprendido a hacer muchas de las cosas que yo hacía. Ahora sólo los apoyo con ciertas cosas de las cuales no tienen permisos, como los despliegues a producción y la edición de los secretos.

También, el estar en este rol me permitió convivir más con grandes personas de otros equipos, de las cuales he aprendido muchísimo y estoy muy agradecido por la ayuda que me han brindado y por la paciencia que han tenido para guiarme.

Gracias Miguel, Gilberto, Alan, Rafa, JC y todos los demás Champions!.
Ha sido una gran experiencia y sé que lo va a seguir siendo.


Recuerda, este es un texto informativo que contiene sugerencias. En Kueski no nos hacemos responsables por los resultados obtenidos al utilizar los productos/servicios aquí mencionados.

Kueski SAPI de CV SOFOM ENR. Consulta aviso de privacidad, CAT, Comisión y requisitos de contratación en Kueski.com. No requiere para su constitución u operación autorización de la SHCP y está sujeta a la supervisión de la CNBV de conformidad con lo dispuesto por el segundo párrafo del artículo 56 de la LGOAAC.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí