> Markdown version of [/videos/1008-serverless-java-in-action-cloud-agnostic-design-patterns-and-tips](https://www.wearedevelopers.com/videos/1008-serverless-java-in-action-cloud-agnostic-design-patterns-and-tips). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Serverless Java in Action: Cloud Agnostic Design Patterns and Tips Think Java is too heavy for serverless? Discover how Quarkus delivers millisecond startups and enables cloud-agnostic, auto-scaling architectures without vendor lock-in. - **Speakers:** [Daniel Oh](https://www.wearedevelopers.com/@daniel-oh), [Kevin Dubois](https://www.wearedevelopers.com/@kevin-dubois) - **Event:** World Congress 2024 - **Published:** August 20, 2024 - **Duration:** 27:11 - **URL:** https://www.wearedevelopers.com/videos/1008-serverless-java-in-action-cloud-agnostic-design-patterns-and-tips ## Summary Traditional application deployments often struggle with over-provisioning and under-provisioning, leading either to wasted cloud expenditures or system failures during unpredictable traffic spikes. While serverless architectures effectively solve this by precisely matching infrastructure resources to workload demand, Java has historically been considered too heavy and slow for this paradigm. The notorious JVM "warm-up time" forced many developers to abandon Java in favor of lightweight languages like Node.js or Go when building serverless functions. This paradigm shifts entirely with modern cloud-native Java frameworks like Quarkus. By heavily leveraging GraalVM for native compilation, Java applications can now achieve a tiny memory footprint and start up in mere milliseconds, proving that Java is fully equipped for serverless environments. Beyond performance, developers also face the massive risk of vendor lock-in when coding directly against proprietary APIs like AWS Lambda or Azure Functions. Quarkus tackles this by providing abstract extensions (such as Funqy) that enable cloud-agnostic design patterns, allowing developers to write portable functions that deploy across multiple cloud providers without triggering any code changes. The evolution of serverless no longer stops at simple HTTP functions; it now encompasses robust, event-driven architectures running on purely open-source stacks. By combining Kubernetes, Knative for dynamic "scale-to-zero" processing, and CloudEvents for standardized messaging integrations (such as with Apache Kafka), engineering teams can build resilient, lock-in-free systems. A live demonstration highlighted these possibilities by subjecting a serverless voting application to thousands of concurrent requests, dynamically scaling up from zero to 45 pods in roughly half a second while effortlessly handling the asynchronous load. **Keywords:** serverless java architectures, java cold start optimization, cloud-native java frameworks, quarkus native compilation, graalvm memory footprint, cloud-agnostic design patterns, vendor lock-in avoidance, serverless containerization, knative serverless serving, open-source serverless stacks, cloudevents specification, event-driven microservices, kubernetes custom resources, kafka messaging integration, scale-to-zero workloads ## Chapters 1. **Resolving resource scaling challenges with dynamic serverless deployments** (02:00) — How dynamic scaling prevents over-provisioning and reduces operational costs for fluctuating workloads. 1. **Optimizing Java startup processes for fast serverless workloads** (04:17) — Addressing traditional Java memory weight and slow warmup times using modern cloud-native frameworks. 1. **Avoiding cloud provider lock-in with agnostic serverless functions** (07:53) — Using the Quarkus Funqy extension to decouple serverless functions from specific cloud provider platforms. 1. **Transitioning from pure code functions to serverless containers** (10:36) — Moving towards containerized serverless deployments while managing system-level cloud architectural integrations. 1. **Leveraging Knative and CloudEvents for open serverless architectures** (13:11) — Using Kubernetes-based open source projects to build cloud-agnostic asynchronous messaging systems. 1. **Demonstrating event-driven auto-scaling with native Quarkus and Kafka** (17:36) — How native compilation and Knative eventing enable sub-second scaling for high-throughput multi-service applications. 1. **Exploring further compilation strategies for serverless Java applications** (24:32) — Exploring compilation targets and further resources for learning advanced deployment techniques without requiring code changes. ## Related Moments - [Overcoming Java cold starts using the Quarkus framework](https://www.wearedevelopers.com/videos/243-serverless-native-java-with-quarkus) (from "Serverless-Native Java with Quarkus") - [Optimizing container workloads with Quarkus and lightweight JVMs](https://www.wearedevelopers.com/videos/89-development-of-reactive-applications-with-quarkus) (from "Development of reactive applications with Quarkus") - [Deploying native Quarkus applications to a Knative cluster](https://www.wearedevelopers.com/videos/243-serverless-native-java-with-quarkus) (from "Serverless-Native Java with Quarkus") - [Utilizing Quarkus for Kubernetes native Java](https://www.wearedevelopers.com/videos/123-get-started-with-securing-your-cloud-native-java-microservices-applications) (from "Get started with securing your cloud-native Java microservices applications") - [Introduction to going serverless with Spring Framework](https://www.wearedevelopers.com/videos/443-going-serverless-using-the-spring-framework-ecosystem) (from "Going serverless using the Spring Framework ecosystem") - [Discussing history and enterprise adoption of serverless](https://www.wearedevelopers.com/videos/34-serverless-past-present-and-future) (from "Serverless: Past, Present and Future") ## Related Articles - [Using Java 17 latest features in real world projects](https://www.wearedevelopers.com/magazine/121-using-java-17-latest-features-in-real-world-projects) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [7 Cloud Computing Trends Coming in 2025 for Developers](https://www.wearedevelopers.com/magazine/412-7-cloud-computing-trends-coming-in-2025-for-developers) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) ## Related Jobs - [Platform Engineer - Mercury Runtime Platform](https://www.wearedevelopers.com/jobs/ext/293235-platform-engineer-mercury-runtime-platform) at **Raiffeisen Bank International AG** - [Senior Backend Engineer (Java)](https://www.wearedevelopers.com/jobs/ext/19369-senior-backend-engineer-java) at **Bonial International GmbH** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/149130-principal-software-engineer) at **Twilio** - [Agile Full Stack Engineer](https://www.wearedevelopers.com/jobs/48325-agile-full-stack-engineer) at **synava GmbH** - [Software Engineer (L2) Segment Team](https://www.wearedevelopers.com/jobs/ext/238794-software-engineer-l2-segment-team) at **Twilio** - [Software Engineer L2 - Cloud Infrastructure](https://www.wearedevelopers.com/jobs/ext/1282024-software-engineer-l2-cloud-infrastructure) at **Twilio**