Parity Check: Node.js, JVM and the Surprising Results About Docker Swarm
September 18, 2016
Node.js and JVM developers deploy containers differently than everyone else. Or at least that is what you would think looking at the results of two new 1,000+ respondent surveys. A RisingStack survey shows only 5 percent of Node.js developers use Docker to “run” containers, although most of this group apparently use Docker-format containers.
A Lightbend survey shows Scala developers betting on Docker Swarm for orchestration. Both studies indicate that AWS is the leading choice to deploy containers in the public cloud. Developers probably have a bias towards Docker and Amazon Container Services, but as containers move into production IT operations and DevOps will have a strong say in which technologies are picked. As organizational thinking moves from general technology to specific products — Docker to Docker Cloud, Kubernetes to CoreOS Tectonic, Mesos/Marathon to Mesosphere DC/OS — surveys may paint a different picture.
Formerly known as Typesafe, Lightbend surveyed over 2,151 developers that use JVM languages. Although some respondents used Groovy and Clojure, about three-quarters deploy productions applications written in Scala and almost half do so with Java-based apps. The study found Scala developers to be more advanced than Java developers in terms of using containers and microservices. Its findings regarding microservices strongly support conclusions we wrote about in Re-architecting for Containers Beyond the Greenfield. Although preferences about container management align with previously reported trends, the Lightbend study appears to over-represent AWS and Docker strength.
Confirming previous findings, JVM developers are focused on containerizing new as opposed to legacy apps.
The Lightbend survey confirmed findings from a recent Bitnami survey, which indicated 1) a focus on containerizing new applications and 2) that developers further along in microservices maturity are more likely to use containers. As can be seen in the chart above, 59 percent of JVM developers are primarily targeting new applications for containerization as compared to 41 percent targeting existing apps. The Lightbend survey also found a relationship between microservices and container use:
- Among all JVM developers, 30 percent deploy microservices in production and 22 percent deploy containers in production.
- Looking just at those deploying microservices in production, the percentage almost doubles to 41 percent deploying containers in production.
According to Lightbend’s Dean Wampler, there is also correlation between Scala and leading edge ideas. Consequently, he believes that Scala developers are more likely to look at alternative languages to Java. From this perspective, it is not surprising that Scala programmers are to some degree ahead of the pack with higher rates of microservices and container use.
A Bit of a Surprise
One of the most surprising results in the report is that twice as many organizations are betting on Docker Swarm technology as compared to Kubernetes. If respondents knew that Swarm is now being bundled into the core Docker engine, then wow, it appears that Docker, Inc. has a leg up in the container orchestration wars. More likely, many of the Scala-focused developers are making an assumption based on their general market view and not actual experience orchestration containers in production. As alluded to earlier, developers have more experience playing with Docker so may be less inclined to see the value that Kubernetes and DC/OS bring to DevOps and IT operations teams. When Lightbend looked just at actual production container users, it was much more of a horse-race with Docker Swarm received 30 percent of votes as compared to 21 percent for Mesos/Marathon or Mesosphere DC/OS, and 20 percent for Kubernetes. Digging deeper into the data, Scala users are more likely than others to choose the Mesos/Marathon and DC/OS offering. One explanation for this phenomenon is that since Marathon is written in Scala, developers may be making choices based on their familiarity with the language.
JVM developers’ organizations lean towards Docker much more than Kubernetes.
Finally, although the relevant chart was not included in the report, Lightbend wrote, “66% of survey respondents said that Amazon had the most compelling offerings (of the major public cloud providers) for developers working with containers, compared to 29% for Google and only 5% for Microsoft.” Although this finding can be connected to what is known about public cloud market share, it is just as likely that Google gets a lift in responses based on the maturity of its Kubernetes based offerings.