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

May 12, 2022

Red Hat introduced Red Hat Enterprise Linux 9, the Linux operating system designed to drive more consistent innovation across the open hybrid cloud, from bare metal servers to cloud providers and the farthest edge of enterprise networks.

May 12, 2022

Couchbase announced version 7.1 of Couchbase Server.

May 12, 2022

Copado added Copado Robotic Testing to Copado Essentials.

May 11, 2022

Red Hat announced new advancements within its Red Hat Cloud Services portfolio, delivering a fully-managed and streamlined user experience as organizations build, deploy, manage and scale cloud-native applications across hybrid environments.

May 11, 2022

JFrog introduced a new Docker Desktop Extension for JFrog Xray that allows organizations to automatically scan Docker Containers for vulnerabilities and violations early in the development process.

May 11, 2022

Progress announced a series of updates in Progress Telerik and Progress Kendo UI.

May 11, 2022

Vultr announces that Vultr Kubernetes Engine (VKE) is generally available.

May 10, 2022

Docker announced new features and partnerships to increase developer productivity. Specifically, the company announced Docker Extensions which allow developers to discover and add complementary development tools to Docker Desktop.

May 10, 2022

Red Hat announced the general availability of Red Hat Ansible Automation Platform on Microsoft Azure, pairing hybrid cloud automation with the convenience and support of a managed offering.

May 10, 2022

The Fedora Project, a community-driven open source collaboration sponsored by Red Hat, announced the general availability of Fedora Linux 36, the latest version of the fully open source Fedora operating system.

May 10, 2022

Progress announced the release of Progress Chef Cloud Security, extending DevSecOps with compliance support for native cloud assets and enabling end-to-end management of all on premise, cloud and native cloud resources.

This new offering is complemented with new capabilities across the Chef portfolio targeting DevOps success in the most demanding and complex enterprise deployments.

May 10, 2022

Platform9 announced new platform capabilities in Platform9 5.5 that make it easier for cloud-native development and operations teams to build, scale, and operate apps and Kubernetes clusters in the cloud, on-premises, and at the edge.

May 09, 2022

Red Hat and Accenture have expanded their nearly 12 year strategic partnership to further power open hybrid cloud innovation for enterprises worldwide.

May 09, 2022

Opsera has partnered with Mindtree.

May 09, 2022

Mendix announced that Mendix Workflow for process automation is now generally available.