Vaadin has updated its Java application development framework to make it simpler to deploy stateful applications on Kubernetes clusters and in cloud computing environments.
Version 23.3 of Vaadin Flow now includes two acceleration kits for Kubernetes and Azure Cloud to better enable horizontal scalability, high availability/failover, non-disruptive rolling updates and session replication for instances of Kubernetes running on-premises or in the cloud.
In addition, Vaadin has made available three additional user interface (UI) components—Spreadsheet, Tab Sheet and Tooltip—for building Java applications.
Kimberly Weins, chief marketing officer for Vaadin, says organizations are looking for simpler ways to build and deploy the full-stack Java applications that are at the core of most enterprise IT environments on Kubernetes clusters.
In general, Kubernetes clusters are more cost-efficient because they make it simpler to scale applications up and down versus requiring organizations to overprovision infrastructure.
It’s not clear how quickly stateful Java applications are being deployed on Kubernetes clusters. As more complex software is developed, however, the percentage of applications written in Java—still the dominant programming language in the enterprise—should steadily increase.
Many of those applications will be stateful in the sense that they access local rather than external storage resources. Kubernetes provides access to storage using persistent volumes (PV). Upon creation, the PV is bound to the pod that requested the PersistentVolumeClaim (PVC). IT teams can then manage storage in Kubernetes via a PVC function to request storage; a PV to manage storage life cycle and a StorageClass function that defines different classes of storage services. This makes it possible to access data far beyond the lifespan of any given pod. Kubernetes volumes allow users to mount storage units to expand how much data they can share between nodes. Regular volumes will still be deleted if and when the pod hosting that particular volume is shut down. The permanent volume, however, is hosted on its own pod to ensure data remains accessible.
There is, of course, no shortage of options for building and deploying Java applications on Kubernetes clusters. Vaadin is making the case for a higher level of abstraction that accelerates the rate at which those applications can be built. Building a stateful application that accesses local storage resources is much more challenging than building a stateless application that stores data on an existing external storage platform.
Right now, the bulk of applications running on Kubernetes clusters are stateless but the percentage of applications that are stateful is starting to steadily increase as more applications are deployed in greenfield IT environments.
Mainstream adoption of Kubernetes in enterprise IT environments has been a long time coming. At the start of 2023, it appears that the percentage of workloads running on Kubernetes clusters is finally starting to increase. The challenge is finding the best way to accelerate the development of those applications as part of a larger IT modernization effort.