2020 Java Development Report - Highlighting Growth and Challenges of Microservices
February 24, 2020

Rod Cope
Perforce

The 2020 Java Developer Productivity Report, carried out by Perforce Software, received detailed responses from nearly 400 Java development professionals (with 74% identifying themselves as developers) worldwide. If there was one message that stood out loud and clear it was this: microservices are growing fast, but bring considerable new challenges for developers.


Microservices Adoption

The survey found over 50% of respondents already using microservices, with 28% still working in the monolith environment. 10% reported working in SOA-based architectures, with the remainder spread across desktop, mobile, and serverless application architectures.

Nearly two-thirds of respondents reported working in, or in the process of transitioning to microservices, with a further 21% considering microservices adoption. That means a combined 85% of those surveyed are working with, or considering, microservices for their current project.

Challenges With Microservices

Microservices adoption may have outpaced expectations, but this architectural sea-change carries new challenges for application performance.

Performance issues were the biggest challenge cited by survey respondents, with 29% experiencing problems trouble-shooting inter-service performance, and 33% experiencing performance issues in the overall distributed system. The top performance issue reported by 55% of respondents was slow application response time, followed by memory leaks at 28% and excessive open connections at 24%.

The next biggest issue reported was setting up the local development environment, at 41%, due to this being an intricate, difficult and time-intensive process. This was closely followed by trouble-shooting of inter-service functionality (38.85%).

One prominent concern for developers was their visibility into how their microservices work together as a system. Developers rated their satisfaction with code visibility at only six out of ten.


New Architecture, New and Old Problems

Beyond microservices, at 70%, developers are being asked to have far greater responsibility for application performance. Over half reported non-functional performance goals, which, in practice, means they are carrying out more application performance tests, but often without full insight into how their code is impacting the rest of the application.

This may be a contributing factor to why the survey also found that over 78% of teams had issues that reached production stage in the previous 12 months, though only 17% said that had happened regularly. The good news is the 21% who did not experience issues escaping into production.

Redeploys are another pain point for developers. With the average Java developer reportedly deploying code ten times per day, lengthy redeploys can cause significant roadblocks during development. In fact, almost half of all the survey respondents reported over four minutes per redeploy. (This is despite the widespread adoption of microservices, which were expected to decrease redeploy times.) A further third experience redeploy times of between two and three minutes, with only 20% fortunate enough to experience just one minute per redeploy.

Microservices Technologies

With an average satisfaction rating of six out of ten, most developers were above satisfied with available microservices troubleshooting technologies. 72% of developers reported ratings of satisfied and above, with the remaining 28% less than satisfied with available troubleshooting options.

The popularity of microservices-ready (or requisite) technologies like Docker, Spring Boot and IntelliJ IDEA showed the impact of microservices on the Java development technology landscape. Spring Boot claimed the title for most popular runtime platform at over 80% use, while IntelliJ IDEA led IDE usage at over 81%. Docker, now synonymous with microservices, led virtualization tools usage at over 70%. Kubernetes (often used alongside Docker) represented 35% usage, while VMware and Vagrant followed with 17% and 4% usage, respectively.

Looking Forward

While tools and technologies quickly evolve to supply the means of widespread innovation, developers still face many of the same issues.

Will new innovations solve these perennial issues? Perhaps the focus for the next decade needs to be more on how to empower developers to automate, remove, and streamline tasks for these increasingly complex applications.

Rod Cope is CTO of Perforce
Share this

Industry News

September 17, 2020

env0, a developer of Infrastructure-as-Code (IaC) management software, announced the availability of its new open source solution for Terraform users, Terratag.

September 17, 2020

Push Technology announced a partnership with Innova Solutions, an ACS Solutions company, specializing in global information technology services.

September 17, 2020

Alcide achieved the AWS Outposts Ready designation, part of the Amazon Web Services (AWS) Service Ready Program.

September 16, 2020

Portshift announced serverless container security support for AWS Fargate.

September 16, 2020

Sonatype and NeuVector announced a new integration that provides a comprehensive view of all Kubernetes and Container open source risk in one place.

September 16, 2020

Pure Storage entered into a definitive agreement to acquire Portworx, a Kubernetes data services platform enterprises trust to run mission-critical applications in containers in production.

September 15, 2020

OutSystems announced a series of new tools and capabilities that will empower organizations of all sizes to build applications quickly, build them right, and build them for the future.

September 15, 2020

VMware unveiled new offerings to help customers further accelerate their app and infrastructure modernization initiatives. VMware vSphere 7 Update 1, VMware vSAN 7 Update 1 and VMware Cloud Foundation 4.1 product releases streamline customer adoption of Kubernetes and support stateful applications with new developer-ready capabilities and enhance scalability and operations with new features.

September 15, 2020

Oracle announced the general availability of Java 15 (Oracle JDK 15).

September 14, 2020

Actifio announced a global alliance with Persistent Systems, a global solutions company with deep technology expertise, to help enterprises with data stack modernization and acceleration of digital transformation initiatives.

September 14, 2020

Perforce Software announced the release of the Helix TeamHub Command-Line Client (hth-cli).

September 14, 2020

StackRox secured an additional $26.5 million in funding.

September 10, 2020

JourneyApps announced the official launch of its OXIDE Integrated Development Environment (IDE) which ushers in a new paradigm of building, deploying and managing secure and powerful business applications.

September 10, 2020

Solo.io announced the WebAssembly OCI Image Specification, which defines a standard format for bundling and storing a Wasm module and its metadata as an OCI (Open Container Initiative) image in order to facilitate interoperability across different solutions.

September 10, 2020

Flexential announced new dedicated Hosted Private Cloud - vCenter Access capabilities that enable organizations to use industry-leading third-party tools to manage workloads and data protection requirements on a single, consolidated cloud platform.