BT

Your opinion matters! Please fill in the InfoQ Survey!

Enterprise Development Trends 2016: A Survey of JVM Developers by Lightbend

| by Michael Redlich Follow 6 Followers on Nov 08, 2016. Estimated reading time: 4 minutes |

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

Lightbend surveyed over 2100 JVM (Java and Scala) developers to study:

  • Correlations between development trends and IT infrastructure trends.
  • How organizations are modernizing their applications.
  • Real production usage breakdowns of emerging technologies.

The full report entitled “Enterprise Development Trends 2016: Cloud, Container, and Microservices Insights from 2100 JVM Developers” examined the main drivers behind the shift from building applications with heavyweight J2EE servers to microservices and lightweight containers.

As shown below, developers that participated in the survey represented a diverse range of companies:

The survey revealed three main findings:

  • Microservices and fast data are driving major application modernization efforts.
  • Lightweight containers are democratizing infrastructure and challenging Java EE application servers.
  • Benefits of portability and flexibility are driving the “cloud native” agenda.

Today’s distributed services, designed for unprecedented heavy volume and data, are relying on reactive systems that are more flexible, loosely coupled, and scalable.

This shift towards reactive systems is explained in the Reactive Manifesto:

These changes are happening because application requirements have changed dramatically in recent years. Only a few years ago a large application had tens of servers, seconds of response time, hours of offline maintenance and gigabytes of data. Today applications are deployed on everything from mobile devices to cloud-based clusters running thousands of multi-core processors. Users expect millisecond response times and 100% uptime. Data is measured in Petabytes. Today's demands are simply not met by yesterday’s software architectures.

Frequent release cycles are key in maintaining demand for continuous data. As stated in the report:

If you’re still releasing software every 12-18 months, you might as well go back to the Waterfall model.

Microservices and Fast Data

Today’s enterprise applications are designed with a focus on real-time data and streaming. Microservices, a relatively new trend in applications development, evolved from Service-Oriented Architecture. As defined in the report:

10 years ago, service-oriented architecture (SOA) embodied many of the same principles as microservices, and had great promise for the design of interfaces and decomposing applications. But where SOA failed was the lack of emphasis on the infrastructure. Microservices are being widely adopted today because in addition to service isolation it embodies deployment and lifecycle concerns that were never adequately handled by SOA.

Matt Brasier, principal consultant at C2B2, posted late last year on the debate concerning microservices versus SOA:

Both SOA and microservices are the same set of principles, applied at different layers of the organisation.

 

The very existence of microservices comes down to the success of SOA principles.

 

The real answer to SOA vs microservices is that both are appropriate for different solutions, but as there are a lot more applications being produced than enterprise architectures, the chances are that a microservice framework is a better fit for your project than an ESB.

Steve Millidge, founder and director of Payara and C2B2, stated:

Microservices isn't different from SOA. It's still about SOA.

Despite this, the survey results demonstrates an increasing trend in organizations migrating to microservices as shown below:

Late last year, this increasing trend of microservices had been predicted and earlier this year, InfoQ discussed, in part, “that 2016 would be the year of Java EE microservices.”

Survey results show that frameworks such as, Apache Spark, Apache Kafka, and Akka, designed to meet the demand of continuous data, were the more popular choices as shown below:

While the increasing trend to microservices looks promising, one of the key takeaways with microservices in Lightbend’s report states:

Microservices Seem Easier to Operate, But Are They Really?> — For companies actually running microservices in production, the immaturity of operations tools spiked as a concern for 34% (compared to 22% of total survey responses who cited immaturity of operations tools as a challenge for microservices).

InfoQ discussed lessons learned from the seven microservices antipatterns. Daniel Bryant, Chief Scientist at OpenCredo, discussed the seven deadly sins of microservices and how to avoid them. In this Basho blog, Sean Kelly covered some microservices fallacies as a guide to determine the feasibility of migrating to microservices. And Alex Zhitnitsky takes a “down-to-earth view at frameworks...to actually implement microservices and see what they’re all about” in this OverOps blog. The frameworks discussed were Java EE, Lightbend’s Lagom, Pivotal’s Spring Boot, Dropwizard, and Spotify’s Apollo.

Lightweight Containers

Lightweight containers are building momentum as developers “are looking at containers as that great hope for infrastructure portability that they’ve been chasing for a long time.” As shown below, while 30% of respondents experimenting with containers, 22% are using containers in production and another 22% are piloting them.

Survey results show that containers such as Docker/Docker SWARM, Kubernetes, and Marathon (a container orchestration platform for Mesos and DC/OS) were the more popular choices as shown below:

Docker has close to 50 customers that include ADP, PayPal, Uber, Lyft, and Merck. Kubernetes has almost 20 customers that include SAP, Ancestry, and eBay.

One of the Lightbend report’s key takeaways regarding containers states:

Developers Think Containers Have a Huge Potential to Disrupt the JVM Landscape — 57% of respondents said containers will disrupt the JVM landscape, 32% were not quite sure yet, while only 11% thought containers were mostly hype.

Charles Babcock, editor-at-large, cloud at InformationWeek discusses the nine essentials you need to know about containers.

Conclusion

Other key takeaways from Lightbend’s report include:

  • Scala developers are ahead of Java developers in adoption to microservices and lightweight containers:
    • Microservices are being used in production by 42% of Scala developers compared to 28% of Java developers.
    • Containers are being used in production by 31% of Scala developers compared to 21% of Java developers.
  • Developers in smaller companies (1-200 employees) have a higher influence on technology decisions than with larger companies.
  • Containers are a more likely choice for writing IoT applications.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT