|Where's Java Going In 2022?|
|Written by Nikos Vaggalis|
|Wednesday, 30 March 2022|
It's been a while since our deep look into Java's ecosystem in "Where's Java Going In 2020". The recent JRebel "Java Development Trends and Analysis 2022" report gave us the opportunity to revisit. So, "Where's Java Going In 2022", according to JRebel?
The new report which marked the 10th anniversary of JRebel's initiative, looks at the state of the Java ecosystem from the perspective of:
It drew a total of 846 responses, half of them, and the majority, being developers, with the rest split between Java Architects, Team Leads, Directors, Consultants and Other.
Most importantly 31% of the sample worked in large Enterprise settings surpassing 1000 employees, therefore the report provides a very good indication of the usage of Java on an industrial level.
Why has Java always been the favorite of enterprises?
Enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it. The reasons are plenty. The one that enterprises value most is backwards compatibility, being notoriously allergic to radical updates and upgrades. Systems that worked 20 years ago, written in Java 5, should be able to compile and run under version 8. Stability is what matters.
Saying that another important index is Java version's adoption and whether Oracle JDK is preferred over OpenJDK. With a much faster release cycle after version 8, now touching version 18, you would expect that most would have migrated to a more recent version. This is not what actually happens though. As the survey highlights, 37% of the developers taken the survey are still on the venerable version 8 (from 58% in 2020), although Java 11 with 29% (from 22% in 2020) is gaining ground. This indicates that people prefer stability rather than getting hold of all the latest bells and whistles.
On the OpenJDK vs OracleJDK front, things have changed a bit compared to JRebel's 2020 report which had commented:
It was very surprising to see how many of our survey respondents are paying for Oracle JDK. I fully expected the open source options to have a much larger market share.
and suggests a reason:
the large Java 8 developer demographic represented in our survey. We think that the number of developers using Java 8 suggests that the project hasn’t been updated in a long period of time which could be what has kept the applications in the Oracle distribution.
The support provided by Oracle JDK may be more important than we thought.
This year OracleJDK share is 36% from 48% in 2020. GraalVM up from 0.25% in 2020 to 3% this year.
The rest of questions were on performance issues, microservices and CI/CD.
The architecture of the primary application the respondents develop was based on Microservices (32%) followed by the old timer Monolith (22%).
I would have thought that this has to be because of the resurgence of JVM-based frameworks that make Java a first class citizen in the microservices world. I'm talking about Quarkus, which together with Micronaut and Helidon, is part of a new league of open-source frameworks that have sprung out in the last few years in order to boost the usage of Java in the microservices world. Their AOT capabilities, coupled with GraalVM native image executables, should have really made a difference.
Despite Spring Boot still occupying first place, with a whopping 74%, followed by Quarkus, Vert. x, and DropWizard rounded out the top four at 5%, 2%, and 1% respectively. The devil is in the details however. Quarkus in 2020 had a 0.5% share while Spring Boot 82%. Given that Spring is the dominant framework aren't they using it in combination with Spring Native which lets you compile Spring applications to native images using the GraalVM native-image compiler?
A major issue identified in the report was that there's an increase in the time it takes to start up the services in microservice applications since the original transition/creation of the microservice. The survey found that a combined 60% had experienced an increase, while 35% percent were unaffected.
Another disappointing outcome is that instead of having better redeployment times, having broken down a monolith into distinct manageable pieces, most found redeployment times exceeding five minutes; others exceeding 10 minutes.
Under the Java Virtual Machine Platform category, Docker was by far the most popular selection representing 41% of the overall respondents. Kubernetes was in second place, at 26%, while VMWare rounded out the top three at 16%. Jenkins with 46% was deemed the most popular CI/CD Technology, Github Actions in second place with 16%.
In other categories, AWS was the favorite PaaS Provider, once more Tomcat was the Application Server of choice, Maven was the most popular Build Tool at 68% with Gradle at 23% following. Maven up from 44% in 2020 and Gradle down from 47% respectively. This goes to show that although Gradle was hyped, it proved too cumbersome for general Java development; better stick to Android.
To sum the most interesting findings up, companies turn to microservices not because of the faster start-up and redeploying times but for other reasons like modularity and flexibility. The other noticeable aspect was that Spring Boot is still the dominant way of approaching Java microservices with the rest of the newer counterparts having to cover a lot of ground to get to the same level. That leads us to ponder about the usage of AOT and GraalVM. Is it low as in an overrated hype or is it too new to be considered as a viable alternative as of yet?
The grand conclusion was that while technology changes, people don't rush to adopt it. This especially resonates with the large enterprises as they prefer stability over invention. Of course, at some point they'll eventually jump onto the bandwagon, but this takes a lot of time and thoughtful planning.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 30 March 2022 )|