Bluekiri en la Commit Conf ‘18

Los días 23 y 24 de noviembre tuvo lugar la Commit Conf 2018 en Madrid. Francisco Almenara y un servidor asistimos a la conferencia que expone el “El paisaje tecnológico de España, en concreto”.

La conferencia reunió a un total de 2000 personas y en ella estaban representadas 45 comunidades de todo el país, 9 tracks de charlas, 2 tracks de talleres y otro de “unconference” que sumaron un total de 150 charlas y talleres. Son unos números bastante espectaculares, ¿no crees?

Como decía un profesor de historia que tuve, “vamos al jamón”.

La sensación general que me dejaron la mayoría de las charlas es que estábamos en unas conferencias de comunidad, esto implica que se intentaban dar opiniones/recomendaciones sin sesgos comerciales, fruto -en muchas ocasiones- de la experiencia personal/profesional de haber estado “cacharreando” con las tecnologías y temas tratados. Personalmente, agradezco este enfoque.

En las charlas se trataron temas muy variados, todos entorno a la creación de software. Hay varios temas que estuvieron muy presentes en la mayoría de charlas a los que asistimos (incluso a las charlas no técnicas): microservicios, microservicios, más microservicios … ¡ah sí! contenedores y Kubernetes :D

Resumiré algunas de las charlas a las que asistimos, agrupadas por los siguientes temas:

  • Arquitecturas orientadas a Microservicios
  • Orquestración de contenedores
  • CI/CD
  • Buenas prácticas
  • Gestión

Arquitecturas orientadas a Microservicios (o no)

Tanto en el Grupo Logitravel como en Bluekiri llevamos varios años llevando a cabo soluciones basadas en sistemas distribuidos. No hay duda de que proporciona infinidad de ventajas, pero no todo es de color de rosa, garantizar aspectos como: la observabilidad, trazabilidad, comunicaciones, asincronía y consistencia de la información se complica enormemente.

Alberto Grande en su charla Transacciones en microservicios… ¿Mito o realidad?

Como comentaba, este fue un tema estrella, y además a nosotros en particular es un tema que nos interesaba, así que intentamos sacarle todo el partido posible y asistir a todas las charlas que pudimos sobre este tema.

En Bluekiri estamos totalmente alineados con este paradigma y nos interesa conocer las experiencias de otros en la materia. Ya sabéis, la teoría está muy bien y cuando empiezas de cero todo es posible, pero, ¿qué ocurre cuando has de llevar a cabo esta transformación en un organización que lleva produciendo software los últimos 15 años y la “rueda no puede parar de girar”? Es un reto interesante :)

Charlas:

Transacciones en microservicios… ¿Mito o realidad?

Hotelbeds journey to a microservices cloud-native architecture

Monolith fighter

Kafka en la Playa

Indicadores de rendimiento clave en un cluster de Kafka (Isabel Cazorla y Alicia Ropero, Kafka en la Playa)

Orquestación de contenedores

Cuando una pieza de software se convierte en un gran conglomerado de servicios estancos y utilizas una solución de contenedores para ejecutar esos servicios, se hace muy necesaria disponer de algún sistema orquestador.

En Bluekiri estamos trabajando (sobretodo los compañeros de Arquitectura y SysOps) principalmente con dos enfoques en este sentido: solución de orquestación de contenedores on-premise y en cloud público (Google Cloud Platform en este caso).

Tenemos grandes esperanzas puestas en este paradigma, ya que nos permitirá convertir nuestras aplicaciones y servicios en portables, sin importar la plataforma sobre la que se ejecutan. Incluso nos aportará muchísimo desde fases muy tempranas en el proceso de ingeniería de software. Por ejemplo, en el entorno local de desarrollo podremos hacer una réplica arquitectónica (a escala) del entorno productivo y realizar una detección muy temprana de problemas/dificultades, y por supuesto, de soluciones.

Arquitectura de un clúster de kubernetes (Héctor Rodes y Álex González Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)

Nos interesaba conocer más sobre la experiencia de otros con esta tecnología, algunas charlas que destacamos al respecto:

Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)

Kubernetes para developers

El “nuevo” ciclo de vida del software :) (Jaime Perera, Kubernetes para developers)

CI/CD

Durante el 2018 hemos trabajado muy duro en la estandarización de los flujos de despliegue para los tres principales stacks tecnológicos con los que trabajamos: .NET, Java y Python. La Integración Continua y la Entrega Continua la hemos conseguido, pese a que aún necesitamos mejorar ciertos aspectos del testing de aplicación, dando una mayor cobertura de tests (tanto unitarios como de integración) a nuestros servicios y aplicaciones, es todo un reto ya que tenemos un base de código de tamaño considerable. El siguiente paso al que pretendemos llegar es el Despliegue Continuo, todo ello para conseguir garantizar que las entregas que vamos realizando garantizan calidad, velocidad y adaptabilidad.

El sistema que ha implementado el equipo de Adidas y que explicó Guillermo Palacio Oto en la charla CI/CD en entornos DevOps me impresionó gratamente.

Arquitectura del proyecto ACID (Guillermo Palacio Oto, CI/CD en entornos DevOps)

Buenas prácticas

Este es un tema bastante abierto y no hay una receta única ni fórmula mágica. Pero son aspectos que considero fundamentales para cualquier equipo que esté haciendo ingeniería de software.

Destaco un idea fuerza que transmitió Israel Saeta en su charla Clean code en la práctica: evitar la sobre abstracción.

Otras charlas:

Instrumenta tu app Python con Prometheus

Cómo enfrentarse al código legacy y no morir en el intento

Israel Saeta durante su charla Clean code en la práctica

Gestión

La gestión del trabajo y las personas es otro de esos “temas”. Para nosotros es muy importante, ya que tener un sistema que se adapte a las personas que conforman nuestros equipos y sea compatible con las necesidades de nuestros clientes es un elemento clave.

Charlas que destaco:

Gestionar una planificación sin necesidad de usar una bola de cristal.

From hiring to production

Al final me he liado más de lo que esperaba (cómo siempre :P).

Nos traemos cantidad de expierencias e ideas de esta Commit Conf 2018 y hemos podido pulsar el ecosistema tecnológico nacional y comparar. Personalmente, estoy muy satisfecho del trabajo que estamos realizando y creo vamos por el “buen camino”.

¡El año que viene más!

¡Salud!