Java devs rate microservice satisfaction 6 stars out of 10
Perforce, provider of Java tools JRebel and XRebel released survey results tallying nearly 400 Java devs from around the globe. Professional developers shared their favorite tools to use in production, the most common performance challenges they face, what version of Java they use, and how satisfied they are with microservices. Check out the data and get your team on track.
Another day, another dip into the Java ecosystem. By now, it’s no surprise that Java continues to remain a popular choice for developers, in part because of its ubiquitous nature, but also due to its general multi-purpose functionality. What are devs using Java for? What tools are best, what does dev productivity look like, and what challenges do programmers face?
A report by Perforce, provider of Java tools JRebel and XRebel, conducted a survey of nearly 400 international Java developers.
Here are some of their key findings about the language’s ecosystem, microservices, and more.
Most popular tools
Let’s take a look at the most commonly used frameworks, runtime platforms, IDEs, and other helpful technologies. The following are all used professionally:
- Build tools: Both Gradle (47.12%) and Apache Maven (44.36%) are the most-used tools, nearly tied in their usage.
- Virtualization tools: Docker (73.93%) and Kubernetes (35.34%) are the two big names. Yet, 14.29% of respondents say that they do not use any virtualization tools.
- Frameworks: The most commonly used application framework is Spring, with 86.22% of devs using it in their main projects.
- Application server: Apache Tomcat takes the number one spot with 61.01% of developers using it.
- Runtime platform: 82.70% of developers us Spring Boot as their Java framework. According to the report, this is likely in part because of “the increased adoption of microservices for Java applications in recent years”.
- IDE: IntelliJ ranked the most popular IDE with 81.70% of the vote. Coming in second place is Eclipse.
See the Java tools, technologies, and ideas developers use most in our 2020 Java Developer Productivity Report overview.
— JRebel, XRebel by Perforce (@JRebel_Java) January 8, 2020
Hanging on to Java 8
Java 8 continues to be the most commonly programmed in version. More than half of survey respondents (58.40%) use Java 8 in their main applications.
The latest version of the JDK is currently Java 13, however, the current LTS versions are 8 and 11. Why is 8 so popular despite its relative age?
One of the reasons why a majority of devs use Java 8 instead of 9 has to do with the cost of upgrading the JVM. In some cases, the latest features may not be worth the amount of time to migrate.
Public updates for commercial use ended in January 2019, and personal use updates from Oracle are slated to end December, 2020. However, other OpenJDK providers plan to continue support beyond Oracle.
For instance, AdoptOpenJDK’s end of availability for Java 8 continues until “at least Sep 2023”. According to the survey, 10.03% of respondents are using AdoptOpenJDK, but nearly half (48.87%) are running the paid OracleJDK.
What do teams struggle with and what affects performance the most? Long application response time was the most common issue that throws a wrench into work.
In order to meet performance requirements, most teams report that developers test for performance. Nearly half of teams conduct performance tests during continuous integration.
Some issues are always bound to pass through, however. 31.83% of respondents say that customer reports alert them of performance success, and over 78% of teams had issues reach production over the past 12 months.
SEE ALSO: The status quo of Kubernetes operators
Microservices on the rise
Java devs adopt microservices in their daily use for added flexibility, functionality, and the ability to create more complex and innovative apps.
Microservices continue to have an enormous impact on application strategies, and it is clear that companies that do not adopt tools and processes that enable developers to assess and quickly respond to these challenges will struggle to realize the full potential of this architecture — including an increased pace of innovation.
The survey revealed that 36.09% of devs are currently transitioning to microservices, while 27.57% already have a fully microservice-based application.
Challenges of developing microservices include setting up the development environment locally, troubleshooting inter-service functionality and performance issues, and scaling and monitoring during production.
Microservice satisfaction had mixed reviews. According to the report: “On average, respondents reported satisfaction at six out of ten stars, with only 6% reporting that they were very satisfied with their visibility into microservices interaction”.
Download and browse the full developer report from JRebel for a deeper look.