martes, 28 de marzo de 2023

Spring + Native + Kubernetes = Sí se puede!

Este mes hemos tenido Micronaut, Quarkus en Kubernetes, así que ahora toca a Spring Boot🍃. En esta sesión tendremos otra perspectiva de como podemos usar Java en Kuberntes sin sufrimiento alguno. Siguiendo los mismo patrones y herramientas que ya conocemos, empezaremos desde el segundo mejor sitio de Internet 👉 https://start.spring.io, crearemos una aplicación de zero y terminaremos desplegando un nuevo Operador de forma nativa en Kubernetes. ¿Aceptas el reto? Si no tienes experiencia con Kubernetes o Operadores, únete y lanza todas tus dudas a nuestro presentador!.

Ponente
Abel Salgado Romero, Ingeniero de Software @ Spring Commercial Team desde 2020. Actualmente trabajando en llevar Spring Cloud Gateway a Kubernetes de forma nativa y facil usando Operadores. Fuera del trabajo, miembro de Barcelona JUG, Open-source advocate, Linux user/gamer y mentenedor de Asciidoctor Maven Plugin.



Presentación y código

martes, 7 de marzo de 2023

Desarrollo local de aplicaciones Java en Kubernetes

En esta charla, veremos cómo utilizar una nueva característica de Eclipse JKube para mejorar nuestra experiencia de desarrollo con Kubernetes. "remote-dev" que es como se llama esta nueva funcionalidad, nos permite programar nuestra aplicación desde el entorno local como si éste se tratase de un contenedor más del cluster. Si combinamos esto con tecnologías como Quarkus que nos permiten programar la aplicación en vivo, podemos obtener un feedback instantáneo del comportamiento de nuestra aplicación cuando se integra con otros componentes. Durante la demo, Marc nos mostrará cómo podemos utilizar esto con distintos frameworks y tecnologías incluso más allá de Java.

 

Video:


miércoles, 1 de marzo de 2023

Java de Alto Rendimiento: cuando las librerías estándar son lentas

QuestDB es una base de datos open source especializada en series temporales y optimizada para ser muy rápida. Está implementada casi por completo en JAVA, lo que nos planteaba varios retos ya que queríamos tener rendimiento predecible y escapar del garbage collector.

Además, queríamos aprovechar al máximo las capacidades del hardware y los sistemas operativos modernos, y trabajar tan a bajo nivel como fuera posible. En la práctica esto significa que nuestro JAVA es bastante atípico y que tuvimos que reescribir una gran parte de las librerías estándar.

En esta sesión te contaremos la arquitectura general del proyecto y veremos el ciclo de ejecución de una query para entender algunas de las optimizaciones que hemos desarrollado y el efecto que tienen en el rendimiento.

Video: