In a world in which developers are expected to churn out solutions faster than the speed of sound, microservices are taking hold. Development teams working in continuous development and continuous integration pipelines and releasing within sprints are turning to these modular, self-contained services. In addition, enterprises are moving away from Java EE App Server and favoring microservices and containers as the new way to package and deploy.
Those are some of the key takeaways from a recent survey of 2,151 Java Virtual Machine (JVM) developers and IT professionals from Lightbend (formerly Typesafe). The survey finds more than 30% of respondents are already running microservices in production, with another 20% "seriously piloting" microservices for ultimate production deployment.
As the survey's authors put it:
"The old world where JVM language developers relied on operators to do the work around deploying applications is in the midst of major upheaval, as the entire Java EE stack built around heavyweight app servers is losing relevance.Where in the past infrastructure was left to the operators,today JVM developers are being brought into the DevOps tent based on the new characteristics of the modern enterprise application, as well as major new innovations in the infrastructure itself."
Microservices are highly granular and modular services, constructed via APIs and HTTP, capable of running their own processes independent of centralized management. An advantage is that a microservice failure will remain contained to that microservice, not the entire application.
The primary appeal of microservices, the Lightbend survey finds, is the greater developer agility they enable. Among those organizations actually running microservices in production, the number one benefit cited (by 30% of respondents) is the "increase in development velocity for new releases."
The greatest obstacle to microservice adoption at this point is corporate culture, as cited by 46% of respondents. Plus, there's a need for more robust tooling. For companies actually running microservices in production, the immaturity of operations tools spiked as a concern for 34% of IT professionals.
Interestingly, the survey finds large enterprises to be microservices "laggards" -- those respondents from organizations with 10,000 or more employees appear to be struggling to run microservices in production (19%), compared to 32% at companies with fewer than 10,000 employees.
The larger enterprises in the survey see microservices as a path to modernization. In larger organizations, 36% of microservices efforts are related to modernizing legacy applications, compared to 26% of their slightly smaller counterparts. DevOps is also driving the need to move to microservices. One-third of large enterprises cite the top reason for microservices as "DevOps agility for faster, safer deployments," followed by 24% who cite the ability to "increase development velocity for new releases."
In addition, Scala developers are ahead of Java developers in microservices adoption. A total of 42% of respondents whose production applications are written primarily in Scala are running microservices in production, compared to 28% of respondents whose production applications are written primarily in Java.
There is also a high correlation between massive-scale deployments and microservices adoption, the survey also finds. Developers whose applications are supporting 10,000 or more concurrent users at peak intervals are running microservices in production at a higher rate (43%) than other survey respondents (30%).