[DZone Research] Microservices Priorities and Trends
Learn about the trends in tools, frameworks, and more in the microservices world, according to our 2018 survey of the DZone community.
Join the DZone community and get the full member experience.
Join For FreeDZone recently surveyed our community members to learn about how they're using microservices and how they think microservices architecture will impact software development going into the future. In this analysis, we'll review the results and see how a global community of developers feels about this new and rapidly growing concept.
The Popularity of Microservices
First, we asked respondents if they or their company were currently using microservices for application development. Nearly 50% said they were, and another 38.7% were considering it, confirming what we expected: microservices and their benefits are gaining popularity fast.
Next, we asked about the factors that influenced this decision. Those who were using microservices listed scalability and faster deployments as the leading factors, followed by the ability to improve quality by having teams focusing on smaller parts of the app. Respondents also liked the ability to choose different tools and languages for separate services.
76% of those who were not interested in using microservices said it was because of a lack of applicable use cases or a lack of knowledge. DZone's Microservices Zone can help with both of these: check out the tutorials in our Microservices Zone to learn both basic and more advanced skills in microservices development and all the varied and practical use cases of this software architecture.
Moreover, an impressive 80% of respondents said that microservices architecture is already making their lives easier.
Next, let's look at the most popular languages and ecosystems for microservices development.
Programming Languages
As in most other parts of software development, the overwhelming leader in this category was Java, at 80.2%, with JavaScript and Node.js coming in at 27.7% and 34.3% (these numbers won't add up to 100% since many developers use more than one programming language).
Python is also gaining prevalence, with 28.4% of developers saying they use it in microservices, and C# starting to rise at 17.5%.
For programming language ecosystems, again, Java is the leader by far (82.8%), with client-side JavaScript coming in second with 59.6% and Node.js for server-side at 32.2%.
Python is also represented with 28.9% of respondents using it, C# at 24.3%, and C/C++ at 19.5%.
Frameworks and Tools
Frameworks and tools for building microservices are one of the most popular topics in our Microservices Zone. Our results in our survey reflected the popular topics in the Zone, being lead by Spring Boot, in use by 48.6% of respondents, nearly half. Java EE is also very popular at 28.5%. AWS Lambda was still represented at 15.5% of responses, and there was a mix of other frameworks, such as Hystrix, Akka, and MicroProfile.
Containers are another topic linked closely to microservices development. They're perfect for the small, self-contained units that make up microservices architecture and also help with monitoring and other essential aspects of software development and testing. In the DZone community, 64.3% of respondents are using containers with microservices, many of them in both development and production.
For container orchestration, the winner is Docker Swarm, used by 46.2% of respondents, close to half. Kubernetes follows at 31.2%, and AWS ECS clocks in at 20.8%. Other tools were used in smaller numbers, and many respondents said they didn't need a container orchestration tool.
Almost 80% of respondents are using a tool to secure their microservices. The most popular is OAuth 2 at 43.9%, followed closely by JSON Web Tokens, used by 41%. User authentication is also a common security mechanism, used by 31.6% of those surveyed.
Over half of those surveyed said a service discovery tool wasn't necessary for them, but among those that use one, Apache Zookeeper is the most popular, with Eureka a close second.
There was a similar response to distributed tracing, but Zipkin is in the lead, used by 9.6% of respondents.
Challenges
We asked our community about the challenges they have faced when working with microservices architecture. The biggest issue for respondents was monitoring, along with changing the culture of their organization to embrace microservices. Many were also concerned about ensuring security and stability.
Refactoring legacy applications when shifting to microservices architecture holds many challenges of its own. 50% of those surveyed said they had trouble figuring out where to split up components in their monolith, and almost as many said overcoming tight coupling was a major issue. The large amount of time they needed to invest in refactoring the monolith also caused problems for 38.5% of respondents.
You can find solutions to these problems and more in the articles we post daily in our Microservices Zone.
Interest and Concerns
We also asked what DZoners wanted to learn more about in regards to microservices architecture. By looking at this word cloud, you can see that security is a huge concern! Securing their microservice applications is on developers' minds, and for good reason.
Testing is also something developers and testers want to perfect — seeing as this is also one of the biggest challenges of microservices overall, we're not surprised that our community wants to strengthen their skills.
Most of those we surveyed are using microservices for web applications or SaaS (78.7%). Enterprise business apps are also a big use case, with 49% of respondents building these with microservices.
If you have any thoughts on the challenges of microservices, use cases, or things you'd like to learn here on DZone, let us know in the comments! And don't forget to head to the Microservices Zone homepage to get started polishing those microservices development skills.
Opinions expressed by DZone contributors are their own.
Comments