Cloud Native 10 min read

How Spring’s 2020 Roadmap Embraces Kubernetes, Reactive, and GraalVM

The article reviews Spring’s 2020 developments, highlighting its reintegration with VMware, massive SpringOne attendance, deep Kubernetes integration, new Spring Boot features, Reactive programming support, GraalVM native images, RSocket protocol, and the latest Java and Kotlin enhancements for cloud‑native applications.

Java Architecture Diary
Java Architecture Diary
Java Architecture Diary
How Spring’s 2020 Roadmap Embraces Kubernetes, Reactive, and GraalVM

Hi, Spring fans

Spring team returns to VMware – originally spun out in 2013, VMware fully acquired Pivotal in 2020.

Over 40,000 participants attended SpringOne 2020 online, representing many countries, religions, and industries.

Kubernetes

Did you know VMware Tanzu now includes the Spring team? Two of the three Kubernetes founders are also Tanzu members, and VMware is the third‑largest contributor to Kubernetes.

Tanzu Kubernetes Grid is an excellent Kubernetes distribution. Harbor provides an enterprise‑grade registry. Tanzu Mission Control offers multi‑cluster management across clouds. VMware contributes a set of reliable, single‑purpose, composable tools to help you build, configure, and deploy applications on Kubernetes. Tanzu Build Service automates enterprise‑scale container creation, management, and governance. Spring even adapts Cloud Foundry to run on Kubernetes, giving developers seamless container orchestration.

In recent years, Java and Spring have made many improvements and adaptations for containerized cloud infrastructure such as Kubernetes.

Spring Boot now supports buildpacks via the CNCF Paketo project. With Spring Boot 2.3+ you can run

mvn spring-boot:build-image

(or Gradle) to produce a container image in about a minute, then push it to any OCI/Docker registry for your Kubernetes cluster.

Spring Boot 2.4.x can read configuration from Config Trees, which map Kubernetes ConfigMaps mounted as volumes into a directory hierarchy, providing another configuration source alongside classpath, environment variables, and files.

The Actuator module can expose endpoints that serve as Kubernetes liveness and readiness probes.

Spring Boot also supports graceful shutdown, allowing in‑flight transactions to complete before the pod is terminated.

Spring Boot and its ecosystem, including Spring Cloud Kubernetes, continue to evolve as a cloud‑native microservice solution for Kubernetes.

Reactive Programming

Reactive programming offers three benefits: resource efficiency, consistent data‑API handling, and robustness. It releases idle threads for reuse and provides a unified abstraction for streams such as Java 8 Streams, Collections, CompletableFuture, single values, or arrays.

Although learning Reactive can be challenging, it simplifies many abstractions once integrated. Spring began embracing Reactive in 2011, with a major breakthrough in Spring Framework 5 (2017) when native Reactive support was added.

Out‑of‑the‑box Reactive‑enabled components now include transactions, SQL access, messaging, load balancing, retries, rate limiting, API gateways, NoSQL access, HTTP, WebSocket, RPC, metrics, distributed tracing, and reliability monitoring.

Asynchronous is the future , and Spring is leading the way. Josh Long’s book “Reactive Spring” is recommended.

Native Images with GraalVM

GraalVM is a high‑performance VM that boosts program speed, reduces memory usage, and shortens startup time—ideal for microservices. However, native images cannot use certain JVM features such as dynamic class loading, CGLIB proxies, reflection, or resource loading.

The Spring GraalVM project addresses these AOT limitations, automatically detecting required operations and registering them. The goal is full out‑of‑the‑box support in Spring Boot 3 and Spring Framework 6.

RSocket

RSocket is a binary protocol that simplifies message exchange between microservices, implementing reactive streams with back‑pressure support. It is built into Spring Framework and Spring Boot, and also works with Spring Security and Spring Batch.

Co‑developed by VMware, Alibaba, Facebook, and Lightbend, RSocket offers better communication than HTTP/2 or gRPC. Spring is adopting an RSocket broker to replace Netflix Eureka and RabbitMQ for service discovery and messaging. The RSocket JVM client uses Reactor and supports retries, error handling, and back‑pressure.

Facebook and Alibaba already use RSocket at massive scale, and its adoption is expected to grow in the coming years.

Java and Kotlin

Spring aligns closely with the latest Java and Kotlin releases. Spring Boot’s six‑monthly release cadence matches Java’s schedule. Java 15 introduces multiline text blocks and the

var

keyword, enhancing performance, robustness, container friendliness, and security.

Running on Apple Silicon M1 Macs with Microsoft’s ARM‑compatible OpenJDK, most applications start in roughly 0.8 seconds.

Kotlin’s coroutine support enables asynchronous code that can be rescheduled by the runtime. Spring leverages coroutines to integrate Reactive programming, allowing non‑blocking, declarative code while retaining familiar imperative style.

Javacloud-nativekubernetesSpringReactiveGraalVMRSocket
Java Architecture Diary
Written by

Java Architecture Diary

Committed to sharing original, high‑quality technical articles; no fluff or promotional content.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.