Spring Developer Community Embraces Kubernetes
A survey of 1,464 professional application developers who use the Spring frameworks finds that Java applications are being deployed on Kubernetes clusters, with nearly two-thirds (65%) now running workloads on the platform.
Conducted by Dimensional Research on behalf of Broadcom, the survey finds more than half the developers (52%) are deploying workloads on a distribution of Kubernetes, compared with 33% who are using a platform and 26% that are relying on a platform-as-a-service (PaaS) environment.
Among respondents who have adopted Kubernetes, 91% have deployed longer-running or Web applications on the cloud/native platform, compared to 37% running ephemeral applications and Kubernetes jobs. Just under a third (32%) said they are using the platform to run serverless, scale-to-zero, or function-based workloads.
A full 89% said they are building applications based on a microservices architecture, with 36% building “non-traditional” monolithic applications.
More than half of respondents (53%) also use Testcontainers, an open-source library that allows developers to run integration tests against real dependencies by accessing databases, message brokers, web browsers or any other software services encapsulated in lightweight containers. Another 18% plan to adopt Testcontainers.
A full 90% of respondents want additional features. The top requested capabilities (48% each) are the ability to compile natively to enable instant startup and reduce memory consumption; application management tools; and service discovery and configuration management.
Michael Minella, director of open source Spring research and development within the Tanzu Division of Broadcom, said the degree to which those capabilities are supported today depends on which version of Spring an organization is running. Just over half of respondents (55%) are running the latest 3.2 version of Spring Boot, compared to 41% who use Spring Boot 2.7. An inability to prioritize upgrades (48%) is the primary reason cited for not being current. Another 13% cited incompatible non-Spring libraries as a barrier to upgrading. Nearly two-thirds (65%) reported they still do upgrades manually, followed by 27% using GitHub Dependabot.
Overall, the survey finds that more than three-quarters (78%) of respondents run Spring applications in the public cloud, and nearly half (49%) would like to take advantage of a scale-to-zero capability to reduce cloud computing costs. Serverless compute services are being used by 30% of respondents. More than half (54%) also want to learn more about application observability.
The top Spring projects for 2024 remain Spring Security (76%), Spring Data (73%) and Spring WebMVC (70%), followed by Spring Session for simplifying the management of user sessions in web applications at 36% and Spring AI at 8%. Nearly three quarters (73%) are moving to adopt AI-supported development tools.
The dominant Spring application types continue to be exposing application programming interfaces (APIs) to internal consumers (80%), followed closely by exposing APIs to external consumers (70%) and business applications (70%). Plain JSON over HTTP remains the most common API type (78%), followed by OpenAPI (63%), Web Services (37%), GraphQL (25%) and generative AI (12%).
More than half of developers (55%) said they would prefer that AI tools be integrated into their integrated development environment (IDE), while 18% prefer to use an external web tool and 27% don’t have a preference.
However, more than half (52%) said AI it only helps sometimes, while another 15% believe it is only good for getting started when using unfamiliar technology. Only 19% think AI is game changing for development.
Finally, the survey notes that adoption of emerging Java technologies such Project Loom for virtual threads have been adopted by 28% of respondents, with another 37% planning to adopt. The compares to just under a quarter (24%) that have adopted GraalVM, with 29% planning to adopt.
Despite the rise of any number of programming languages, Java isn’t going away any time soon, especially when it comes to the building of enterprise applications, noted Minella. The one thing that is fundamentally changing, however, is how frequently these applications are now being deployed on Kubernetes clusters.