Opens in a new tab
vmblog logo 2024 wht (updated)

Weaveworks 2016 Predictions: Containers even more interesting in 2016

Share: 

vmblog predictions 2016

Virtualization and Cloud executives share their predictions for 2016.  Read them in this 8th Annual VMblog.com series exclusive.

Contributed by Mathew Lodge, COO of Weaveworks

Containers even more interesting in 2016

2015 was a year of huge hype around Docker, containers, cloud-native applications, and the promise of a future where everyone can write flexible, resilient applications like AirBnB, Spotify and Uber.

2016 promises to be even more interesting, as @container_borat explained on Twitter:

Prediction 1: Growing Production Docker Deployments

In 2015, we saw the resolution of a chess game around the dominant container format. CoreOS threatened a schism of container-dom with rkt, an implementation of the appc container spec, an alternative container runtime to Docker. However, the Linux Foundation worked with Docker to introduce OCI (Open Container Initiative), which established an open source container standard based on Docker runc. With vendors lined up behind one open source container runtime, the focus shifted back to making customers successful with containerized applications.

Two recent surveys indicate that Docker containerization has made big strides in adoption for development and testing of applications, yet production deployments are still relatively limited. In 2016, I predict a shift towards production Docker deployments for three reasons:

1)      Multi-host Docker networking now works “out of the box”. Prior to Docker 1.9, containers on different servers couldn’t communicate without additional effort to wire them together. Docker 1.9 builds a “micro SDN” so all containers in a cluster can communicate over a standard layer 2 network. Ecosystem add-ons like Weave Net improve on what Docker has shipped by, for example, removing the Docker networking requirement to run external database clusters like Consul or etcd. All together, this is a big step forward and makes deploying Docker in production significantly easier.

2)      External persistent storage took huge steps forward in Docker 1.8 and 1.9, with a storage plug-in architecture and better persistent volume management. Ecosystem solutions like ClusterHQ’s flocker and Volume Hub, and Rancher Labs’ Persistent Storage Services for Docker, have been joined by plugins from major storage vendors like EMC.

3)      Production monitoring solutions for Docker have started to appear. Established players like New Relic and Sysdig added container monitoring, and new container-native monitoring tools like Weave Scope were introduced.

Prediction 2: Container Management Starts to Look Like a Game of Thrones Wedding Scene

In Game of Thrones, blood runs as freely as wine at weddings where feuding families all seek control of key strategic territory. For production Docker deployment, the strategic territory is management and control of container fleets, and it’s getting increasingly crowded and contentious.

At DockerCon Europe a few weeks ago, there were no less than 5 new container management and orchestration plays, including Docker’s Universal Control Plane, based on their acquisition of Tutum earlier this year.

Google was early with Kubernetes, based on its own experiences managing a billion container-starts per week. Apache Mesos is a popular alternative in use at large scale players like Apple, and you also have Marathon from Mesosphere, and that’s also what you’ll use if you’re on Microsoft Azure. AWS introduced its own container orchestrator at Re:invent for its EC2 Container Service. There’s also VMware Photon Controller, DCHQ, Cloud 66 and many others joining the fray.

That’s too many alternatives, too soon: 2016 is going to be brutal for vendors, and potentially confusing for users.

Prediction 3: We Stop Shooting Our Cattle

Seriously folks, we need a new metaphor to get past the “pets vs. cattle” theory of application architecture. Old-school applications are supposed to be like pets: we give them care and feeding and nurse them back to health if they get sick. This has been declared Bad because we are bereft when our pets die, and it takes us a while to recover. Containers are supposed to be like cattle:  if they get sick, we’re should just shoot ‘em and get some new ones. Cattle-like treatment goes hand-in-hand with the stateless container mantra and “12 factor apps”.

News flash: as someone who grew up in the middle of Cheshire dairy farming, and has a chunk of family in Texas, I know firsthand that ranchers (farmers) don’t shoot their cattle when they’re sick. They try to find out what’s wrong.

The analogy with Docker containers is visualization and monitoring: now you’ve deployed your containerized application, what does it look like and is it healthy? If it’s sick, how did it get that way? If I get some new cattle to replace the sick ones, why do they start getting sick too? The ability to monitor and optimize the health of your containers is going to be essential production Docker applications.

Answering the question “why is it slow?” with containerized micro-services is significantly different to a traditional application with fewer moving parts. The network plays an even more crucial role, but it is also how containers work together that matters. Traditional monitoring tools seek to drill down, to get to individual actions; in a distributed system, you also need to see how the system functions as an integrated whole.

There’s lots of good thinking here from folks with a lot of distributed performance management experience like Google, Netflix and others. But the open source landscape is a mass of lego bricks with no assembly instructions – that’s why I think 2016 will see new ways of looking at this problem.

The net: the container space in 2016 is rapidly maturing. Battle lines are being drawn (a longer more thoughtful piece on that: http://thenewstack.io/post-amazon-challenge-new-stack-model/). The rapid adoption of Docker containers shows no signs of slowing down, and 2016 is the beginning of wider production deployment.

##

About the Author

Mathew Lodge is Chief Operating Officer at Weaveworks Inc, the container networking and visualization company, and was previously Vice President in VMware’s Cloud Services group. Mathew has 20 years’ diverse experience in cloud computing and product leadership. He has built compilers and distributed systems for projects like the International Space Station, helped connect six countries to the Internet for the first time, and managed a $630m router product line at Cisco. Prior to VMware, Mathew was Senior Director at Symantec in its $1Bn+ information management group.