Parity Check: Node.js, JVM and the Surprising Results About Docker Swarm
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.
According to a new survey of Node.js developers by RisingStack, 51 percent use Docker technology, which is up slightly from the 45 percent reported in January 2016’s Node.js Foundation survey. Those numbers seem high, but we do know that developers, in general, have been leading the container vanguard. It is important to note that “use” of Docker can mean that someone is playing around with it and not necessarily using it for production applications. Among respondents that use a container technology (Docker) or VM (VirtualBox, AWS AMIs, or VMware), 45 percent use Amazon Container Services, 25 percent use Kubernetes and 8 percent use Docker. Looking at the full sample, that means 29 percent of Node.js developers use ECS, 16 percent Kubernetes and 5 percent Docker.
We’re dubious of the aforementioned stats, particularly because many of the “container user” is likely in non-production and test environments. That being said, the data leads us to a couple insights:
- Docker technology is not Docker, Inc. Half of Node.js developers are using “Docker.” Most are probably using Docker-format containers but are not necessarily using Docker to deploy their containers. So, while some developers may be paying Docker, Inc. for support, only one in ten of this survey’s container users are using its Docker Swarm, Docker Cloud or Docker Datacenter service.
- Amazon Container Services can potentially dominate. We previously determined that most container use on AWS does not utilize its container service. The RisingStack data directly contradicts this finding. If given the option, it is likely that many survey respondents would have actually said they use VMs on AWS to run containers. Given its top-of-mind status, AWS can stake a claim to the container market if users consider Kubernetes and Docker as underlying technologies and not platforms unto themselves.
- Developers are from Mars, IT Ops from Venus. In a survey this spring, we found significant differences between how developer and operations teams use manage containers. DigitalOcean and Heroku (Salesforce.com) are traditionally strong among developers, but their prominence above Google, Microsoft and IBM offerings is strikingly different than in other market research reports.
Lightbends’s JVM Survey
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.
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.
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.