A survey of 5,000 application developers conducted by DigitalOcean, a provider of cloud services, finds that about half of them—49 percent—are now using containers.
The top five benefits cited for using containers are scalability (39 percent), simplified testing (24 percent), faster testing (23 percent) and avoidance of vendor lock-in (10 percent).
The most widely used container orchestration engine is Kubernetes (42 percent), followed by Docker Swarm (35 percent), Red Hat OpenShift (5 percent) and Apache Mesos (3 percent). More than half (52 percent) of respondents using containers have yet to adopt an orchestration platform. Those that have adopted a container orchestration engine report signiﬁcant time savings—more than half (51 percent) are saving at least five hours a week, with 15 percent reporting saving more than 10 hours.
The survey finds that 42 percent are making use of continuous integration/continuous delivery (CI/CD) platforms to facilitate the building and delivery of containerized applications. Just under one-third (29 percent) are employing CI tools only, while 7 percent say they have only implemented a (CD) framework. A full 21 percent say they have not implemented any CI/CD framework.
Shiven Ramji, vice president of product for DigitalOcean, says that when it comes to containers application developers are leading the way. The issue now is how the rest of enterprise IT organization will respond. In the absence of container management expertise among the internal IT staff, there’s a natural tendency for developers to rely on cloud services to build applications using containers.
That reliance on cloud services is also the first place many developers are being exposed to serverless computing frameworks. The DigitalOcean survey finds that while usage of serverless computing frameworks is nascent, half the developer respondents say they have a strong understanding of how to employ them. One-third of respondents (33 percent) report they have deployed at least one application on a serverless computing framework, which Ramji says is surprising, given the relative immaturity of serverless frameworks.
The most widely used serverless computing framework is Amazon Web Services (AWS) Lambda (52 percent), followed by Google Cloud Functions (23 percent), Microsoft Azure Functions (10 percent) and Apache/IBM OpenWhisk (2 percent).
The biggest hindrance when it comes to deploying serverless computing frameworks is debugging applications and a paucity of monitoring tools (27 percent), while 25 percent of survey respondents expressed reservations concerning vendor lock-in.
The biggest benefits of serverless computing cited are reduced server costs (33 percent), more time to focus on application development (28 percent), faster software deployment (23 percent) and decreased software complexity (14 percent).
Ramji says most developers have yet to fully work through the relationship between functional programming models enabled by serverless computing and containers. Most serverless computing frameworks are based on an event-driven architecture that provides a level of abstraction using a framework built using containers. That approach makes it easier to dynamically scale applications. But for long-running applications that consume a finite amount of resources, it may be still more cost-effective to run them as a set of microservices based on containers.
Whatever the ultimate outcome, the one thing that is for certain is that the relationship between containers and serverless computing frameworks will be very tight indeed.