In this first report, you will learn about:
We plan to make this an annual survey that serves as a key source of feedback for Spring teams in Microsoft, VMware, and many other communities. Thank you to everyone who participated!
Our 2021 survey reached a total of 260 qualified individuals attending SpringOne 2021. A wide range of roles, regions, and job levels are represented. Based on the demographics of the event, we estimate 55% of respondents were hands-on developers, 28% were architects and development managers, and 17% were infrastructure experts, line of business experts, or C-level executives. These developers deploy Spring apps to diverse destinations - on-premises systems, clouds such as Azure, AWS, GCP, and other clouds, and platforms such as virtual machines, Kubernetes, managed Web app services, managed Spring Boot services, and Tanzu Application Service.
Top cloud destinations for Spring Boot apps are Kubernetes and Platform as a Service (PaaS) solutions. Developers are moving away from virtual machines to Kubernetes and PaaS solutions.
Managed Kubernetes services are available across cloud platforms, and the majority of developers who are deploying to Kubernetes are deploying to managed Kubernetes services (50%) such as AKS, EKS, and GKE, versus self-managed Kubernetes on virtual machines (36%).
There are also PaaS service destinations like Azure Spring Cloud. Azure Spring Cloud is a unique service where developers can deploy JARs and don’t have to worry about managing any infrastructure or Kubernetes.
About 21% of developers indicated that they plan to use multiple destinations for Spring Boot apps.
Developers are facing multiple challenges that can be categorized into 3 broad categories:
Developers are challenged with migrating Spring Boot monolith apps to cloud-friendly apps (33%), unsupported versions of Spring Boot to supported versions (20%), and unsupported versions of Spring Cloud components to supported versions (20%).
Typically, transforming a Spring Boot monolith app to a cloud-friendly Spring Boot app comprises multiple things, particularly:
Open-source communities are exploring tools for applying recipes to migrate Spring Boot monoliths to cloud-friendly Spring Boot apps.
We have seen organizations use Spring Boot apps from version 1.x to 2.2.x. These apps can be safely migrated to Spring Boot 2.5.x and application config data can also be safely migrated and aligned with Spring Boot 2.5.x. Open-source communities are exploring tools for converting older versions to newer versions of Spring Boot.
From The State of Spring 2021 report, we learned that 61% of developers surveyed use Spring Boot as their only or primary development platform. The Spring use continues to grow – for 2021, that number grew 9% to 61% of organizations. Hence, the app modernization to Spring Boot is popular among developers and they are transforming from POJO, Java EE, Spring MVC, and Mainframe apps to Spring Boot. Although these transformations are becoming more common, there are substantial challenges and almost always require rewriting code. This presents an opportunity to help developers transform their applications more efficiently with better tooling and experiences.
The top challenges when migrating Spring Boot apps to the cloud are migrating associated databases (30%) end-to-end monitoring (24%), testing migrated apps (23%), end-to-end automation (18%), and cutting over traffic to a new production (18%) in the cloud.
Besides data migration, end-to-end monitoring is the #1 challenge for developers who are migrating Spring Boot apps to the cloud.
App development, DevOps, infrastructure, and SRE teams benefit from monitoring and gaining an understanding of the performance of their cloud applications. Observability and monitoring solutions collect and analyze a vast amount of data from app environments, most organizations empower all the teams, including SRE and infrastructure teams, to help business teams to gain insights into operational aspects of their business apps. This practice helps executives and business stakeholders to make data-driven business decisions.
Top Application Performance Monitoring tools (APM) used by Spring Boot developers are cloud providers APM, Prometheus, and traditional APM products such as Dynatrace, AppDynamics, Datadog, and New Relic.
The top end-to-end monitoring tools used for analyzing a vast number of logs and metrics are Splunk, Elastic, and cloud provider’s aggregator such as Azure Log Analytics.
As many organizations and developers are migrating Spring Boot monolith apps to cloud-friendly Spring Boot apps, and migrating Spring Boot apps to cloud, the top Spring Cloud components remain the same over the past three years – Spring Cloud Config Server, Spring Cloud Gateway, and Spring Cloud Service Registry. Open-source communities are exploring tools for applying recipes to migrate Spring Boot monoliths to cloud-native Spring Boot apps.
Many organizations are running production workloads powered using Spring in on-premises data centers and are migrating or exploring to migrate those workloads to the cloud. We will be addressing their challenges and working with the community to address the community’s challenges for migrating those workloads to the cloud.
Top cloud destinations for Spring Boot apps are Kubernetes and Platform-as-a-Service (PaaS) solutions. Developers are moving away from virtual machines to Kubernetes and PaaS solutions.
Developers are facing multiple challenges that can be categorized into 3 broad categories – migrating Spring app, transforming any app to Spring, and cloud migration.
Developers are challenged with migrating Spring Boot monolith apps to cloud-friendly apps (33%) and upgrading unsupported versions of Spring Boot to supported versions (20%), and unsupported versions of Spring Cloud components to supported versions (20%).
App modernization to Spring Boot is popular among developers and they are transforming from plain old Java (POJO), Java EE, Spring MVC, and Mainframe apps to Spring Boot.
Besides data migration, the top cloud migration challenges when migrating Spring Boot apps to the cloud are end-to-end monitoring (24%), testing migrated apps (23%), end-to-end automation (18%), and cutting over traffic to new production (18%).
If you participated in our survey, thank you for your feedback! We will continue to engage the community to learn more periodically and learn how Microsoft and the ecosystem of communities can address your challenges as you migrate Spring Boot apps to the cloud.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.