Soluciones para entornos Cloud y Microservicios llegan a la JBCNConf


Arquitectura de microservicios, novedades sobre Docker o soluciones en los entornos Cloud fueron algunos de los temas más destacados que se trataron en el evento celebrado los días 19, 20 y 21 de junio y al que Marcelo Colomer y yo tuvimos la oportunidad de asistir: el JBCNConf 2017.

Se trata de una cita con gran visibilidad internacional, lo que nos permitió disfrutar de charlas de referentes locales e internacionales en todo lo que rodea al mundo de la JVM (Java Virtual Machine).

El espléndido trabajo de la organización se tradujo en un éxito que permitió que todos los asistentes disfrutásemos, aprendiéramos y compartiéramos tanto en las sesiones como en las actividades de networking que el evento organizó.

Las soluciones en distintos tipos de entornos Cloud y las arquitecturas de microservicios protagonizaron las entregas más interesantes, siendo además dos áreas que se soportan la una a la otra. También, pudimos ver las mejores prácticas y novedades sobre Docker, siendo la mayoría de soluciones y casos presentados pieza central del Open Container Initiative; es por ello que lo utilizaban directa o indirectamente.

Además, las novedades que incorporará Java 9 también estuvieron presentes en esta cita. Hablamos de temas muy rompedores como la introducción del framework de publish/subscribe para soporte de streams reactivas. Como todo el modelo reactivo está muy en auge también vimos el empleo de VertX como solución en varias de las charlas del JBCNConf.

Docker como tecnología central para la ejecución de soluciones JVM

No solo pudimos asistir a charlas sobre el desarrollo de soluciones directamente sobre Docker; en varias charlas, se trató del estudio de propuestas que lo utilizan como tecnología base. Así, vimos diversas sesiones sobre Open Shift: una plataforma PaaS que puede instalarse en Cloud pública o privada, y que está teniendo gran aceptación en el sector Financiero. Su tecnología se basa en Kubernates de Google que a su vez utiliza Docker por debajo. En GFT ya estamos desarrollando proyectos productivos sobre esta plataforma y la conocemos bien.

Las arquitecturas de microservicios son el presente

Adicionalmente, las sesiones sobre microservicios, ya sean lecciones aprendidas, patrones o las tecnologías que los soportan, se disputaron el puesto de área más relevante en la conferencia.

En GFT llevamos años desarrollando soluciones arquitecturales con microservicios y vimos reflejadas nuestras experiencias en las sesiones sobre lecciones aprendidas y patrones recomendados para arquitecturas.

Tras superar el hype inicial de cualquier tecnología, llega el momento de asentar las experiencias exitosas y los patrones que permiten sacar el máximo partido de estas. Así las sesiones sobre CQRS, desarrollo de aplicaciones nativas en cloud o soluciones ligeras como Microprofile nos muestran la madurez de estas arquitecturas.

La contribución de GFT al evento

Junto con mi compañero Marcelo Colomer tuvimos la oportunidad de liderar un workshop al que denominamos “Microservices for 0-100”. El objetivo de esta sesión era mostrar cómo mediante ciertos aceleradores podíamos simplificar el desarrollo de microservicios de grado empresarial (Enterprise Ready).

Muchos de los tutoriales o guías que se pueden encontrar muestran los principios básicos, pero los microservicios que se desarrollan adolecen de una arquitectura completa. En nuestro caso, optamos por una arquitectura basada en Spring Cloud/Netflix OSS, adoptamos el patrón Event Sourcing y nos apoyamos en Docker para la ejecución de todo ello.

Con este escenario buscamos utilizar uno de los frameworks más adoptados para el desarrollo de estas arquitecturas y que nos proporciona un Config server, un Gateway, service registry y circuit breacker entre otros. Aplicamos un patrón que permite el desarrollo de servicios totalmente desacoplados mediante la comunicación con Apache Kafka. Por último, Docker nos permitía distribuir todo esto de una manera sencilla para los asistentes, de modo que ellos pudieran centrarse en el desarrollo de los servicios de negocio.

Si estás interesado, puedes consultar todo el código e instrucciones paso a paso.