Serverless Java in action: cloud agnostic design patterns and tips
Serverless: el modelo de uso
Serverless solo utiliza los recursos cuando los necesitás. Cuando la cantidad de requests aumenta, el ambiente se encarga de crear instancias y bajarlas automáticamente (auto-scaling a cero incluido).
Frameworks de referencia para Java: Quarkus (supersonic, subatomic Java).
Java & Serverless: el problema del vendor lock-in
El problema se ve cuando los vendors exigen que se importen funciones específicas o librerías del SDK de cada vendor en nuestro código. Esto hace imposible migrar.
Evolución de las opciones:
flowchart TD
A["1. AWS Lambdas / Functions\n(dependencias del vendor en el código)"]
B["2. Serverless Containers\n(sin dependencias de librerías,\npero depende de la infra del vendor)"]
C["3. Kubernetes + Knative\n(cloud-agnostic, portátil)"]
A --> B --> C
style C fill:#BBFABBA6,color:#000
Knative
Proyecto que permite deployar funciones serverless sobre Kubernetes usando el patrón knative eventing. Desacopla el código de la infraestructura del vendor.