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:


jueves, 23 de febrero de 2023

Implementando operadores de Kubernetes en Java con Micronaut

Sesión conjunta entre Madrid-JUG y Madrid-GUG con Álvaro Sánchez-Mariscal.

Micronaut es un framework para la JVM moderno, full stack y diseñado para construir aplicaciones modulares, eficientes y fácilmente testeables.

Micronaut soporta un amplio abanico de tecnologías, una de las cuales es Kubernetes, permitiendo a los desarrolladores de aplicaciones construir aplicaciones cloud native que sean desplegadas en un cluster de Kubernetes, y que puedan beneficiarse de funcionalidades como configuración distribuida  y descubrimiento de servicios (service discovery). Una de las funcionalidades del módulo Micronaut Kubernetes es el soporte incluido para implementar operadores de Kubernetes.

El esta charla, el commiter de Micronaut y autor de Micronaut Kubernetes Álvaro Sánchez-Mariscal, demonstrará como implementar operadores de Kubernetes en Java con Micronaut. Habrá una demostración en vivo que incluye lo siguiente:

- Una aplicación, escrita en Micronaut, cuyo propósito es ser desplegada a través de un operador de Kubernetes.

- Otra aplicación, también escrita en Micronaut, que contiene la lógica del operador de Kubernetes, y que creará Kubernetes deployments de la aplicación anterior.
- Un CRD (Kubernetes custom resource definition) que se usará para gestionar el despliegue de la primera aplicación, y ante el cual reaccionará el operador de Kubernetes.

Video: