Microservices have had a major impact on Java in the past few years. JVM plugin JRebel recently released their 2020 Java Developer Productivity Report, and a main focus of their finding was the impact of microservices adoption in Java.
According to JRebel, application architecture is one of the determining factors for which technologies developers use. About 50% of respondents are working with a microservice architecture, 27.57% are working with a monolithic architecture, and 9.77% are working with SOA-based applications. Less than 5% of respondents work with desktop apps, mobile apps, serverless apps, or other.
The company also asked respondents where they were in their microservices journey. Approximately 36% said they were currently transitioning to microservices, 27.57% were working with fully microservice-based applications, 21.05% were still talking about adopting microservices, and 15.29% don’t have current plans to adopt microservices.
“There’s a reason why everybody is talking about (and using) microservices — microservices offer increased flexibility for testing and development. Completing the transition from the monolith to microservices can have a profound, positive impact on applications and empower development teams to achieve new innovations faster,” JRebel wrote in the report.
But there are also a number of issues that developers face when working with microservices-based Java applications. JRebel predicts these issues might become more significant as applications mature.
The issues impacting developers were relatively close in frequency. Coming in first, at 41.45%, was setting up a development environment locally. This was followed by troubleshooting inter-service functionality issues (38.85%), performance of distributed systems (33.58%), troubleshooting inter-service performance issues (29.07%), and scaling and monitoring in production (28.82%).
“The effects of microservices adoption [on] Java applications and developers has been monumental — with changes to everything from team composition to emerging technical problems and technological solutions. And, with the wholesale adoption of microservices as the architecture of choice for most Java applications, these issues will continue to develop in complexity as new technologies interact with one another. As these problems grow more complex for microservices developers, tools and technologies that solve them will become more necessary,” the report stated.
Another interesting finding of the report is that most companies are still using Java 8 in their main application, which was the last Long-Term Support (LTS) release prior to Java 11 in September 2018. 58.40% of developers are still using Java 8, 22.56% are using Java 11, and only 5.51% are using Java 12 or newer (Java 8 is still the version recommended when you try to download Java from Oracle’s website).
For the report, JRebel surveyed 399 developers from September to November 2019.