Containers Crossing the Chasm
Docker containers and allied mechanisms for application lifecycle management and orchestration are gaining a huge amount of attention in the tech community. A few recent surveys show that developers are the early adopters of this technology with operational use set to gain further traction in the next twelve months.
Our team first found benefits with docker containers back in 2013 when we used it to simplify our CI/CD pipelines. Docker patterns such as the "build container" and the "test container" helped abstract our integration tests from the underlying environment. In addition the use of docker images as “immutable infrastructure” really helped with promoting applications through different runtime environments as well as with failure recovery and DR scenarios. One of our customers put it at the time “you can deliver faster and more reliably than any of the other teams here…how do you do that?” Docker was a key ingredient.
Fast-forward five years and Docker plus Kubernetes have emerged as the de-facto standard for container-based platforms. All the major cloud vendors offer containers as a service, Kubernetes as a service or a combination of the two. In addition, many organisations are running containers and Kubernetes on-premise either directly or with frameworks such as Red Hat OpenShift. We are rapidly moving toward a time where it is possible to build images once and run them anywhere - on any cloud and on-premise. My feeling is that Kubernetes is becoming the new “app server” for the 21st century and the next real manifestation of cloud computing after IaaS - Platform as a Service (PaaS). A recent InfoQ discussion on DevOps trends echoes my hypothesis that Kubernetes will be the foundation for hybrid cloud and that raw cloud brokerage will "become an anti-pattern."
Image from Digital Ocean Currents report 2018
But perhaps I’m rushing to a conclusion. Containers have been widely embraced by developers but the indicators are that they are not yet mainstream in production operations environments. A recent survey by DigitalOcean found that 49% of their surveyed developers use containers but another survey (PDF link) by Diamanti found that only 12% of organisations currently use containers in production.
This echoes the early experience of our team - developers are finding productivity gains with containers in development and CI/CD environments but the benefits are still filtering through to the operations side of the organization. However, there seems to be momentum in the right direction. The same Diamanti survey finds that 47% of respondents plan to deploy containers in production in 2018. By this time next year we may find the majority of organisations have some containers in production. The business case revolves around reduced license costs for hypervisors (dominated by VMWare), increased performance and increased application density.
Image from InfoQ DevOps and Cloud Trends Report - January 2018
The adoption and maturity of container technologies has been breathtaking in just the last 5 years. Accompanied by interest in DevOps and microservices we are seeing a broad change in the way that organisations build, deliver and manage applications. I think this change has a lot of momentum and a long way to go. To quote the Diamanti report:
“As use of containers becomes more widespread, their impact will be profound. Everything will change dramatically, from how applications are deployed as microservices to the underlying infrastructure that runs those applications in the cloud and on-premises”
There’s still an interesting journey ahead with maturing technologies and the need for education and cultural change plus the inevitable struggles with legacy systems, architectures and ways of working. But I think the maritime allusions will continue to propagate and in the end maybe we’ll all become “wharfies”.
And we are certainly still in the early days of this technology. Technical challenges remain around persistence and cross-cutting concerns such as security. The InfoQ discussion I mentioned earlier notes that since Kubernetes has “won the battle,” Service Mesh technology will become the new focal point for developers.
If you are interested in microservices, containers, Kubernetes and what comes next, then join us at APIdays Melbourne on September 3rd and 4th.
With more than 35 speakers, three streams, keynotes and an amazing array of sponsors, this year APIdays Melbourne will be better than ever. Bring a friend because you’ll need more than one person to take it all in.
The full agenda and tickets are available at https://apidays.com.au.
?
I think they are a transitional phase before 90% of them are replaced with serverless functions. I for one will not miss all the infrastructure and K8s complexity.?
Passion + Action = Traction
6 年'My feeling is that Kubernetes is becoming the new “app server” for the 21st century' - quoted out of context I know how, but .. how true!!