Track: Container and Orchestration Platforms in Action

Location: Broadway Ballroom South Center, 6th fl.

Day of week: Wednesday

Containers and container management platforms continue to be adopted given the benefits they give to organizations with regards to developer velocity, alignment with microservices and efficiencies in cloud architectures. This track will focus on systems that make these benefits possible and on how organizations are using these core technologies to accelerate feature delivery and offload developers from unnecessary complexities. The rise of complexity in these technologies have also driven many users to leverage third parties to build their container platforms as well as container-as-a-service offerings. This session will further investigate the tools and approaches organizations use to adapt these container-centric solutions for their businesses.

Track Host: Andrew Spyker

Manager, Netflix Container Cloud @Netflix

Previously worked to mature the technology base of our container cloud (Project Titus) within the development team including advanced scheduling and resource management, Docker container execution, and AWS & Netflix infrastructure integration. Recently, moved into a product management role collaborating with supporting Netflix infrastructure dependencies as well as supporting new container cloud usage scenarios including user on-boarding, feature prioritization/delivery and relationship management. Now, managing the extended development team that will enable our container cloud to be a key aspect of Netflix's infrastructure. Still on-call, but now loving building the team as much as building the product.

Last year, I shared about how Internet of Things and Edge Compute are providing a new platform for Chick-fil-A to transform its in-restaurant operations, from the customer experience to kitchen automation. At that time, we were running Docker Swarm to manage our container-based microservices at the Edge. We have since shifted to running Kubernetes.

The nature of our business requires an interesting scale. While most companies running Kubernetes in production are running thousands of containers over tens of clusters, Chick-fil-A is running tens of containers over thousands of physically distributed clusters. This scale “breaks” some of the native tooling and requires significant control plan developments.

In this session, Brian Chambers (Architecture) and Caleb Hurd (SRE) will share about how Chick-fil-A manages connections and deployments to our restaurant Edge Kubernetes clusters using two to-be-announced open source projects. You will learn how we obtain operational visibility to our services, including logging, monitoring, and tracing. We will also share early lessons and battle stories learned from running Kubernetes at the Edge.

As a small engineering team of 40 at Clever, we aim to focus all of our efforts on building feature depth and improve resiliency. As a company focussed on K-12 education, we want to maximize time working with our customers and not on building orchestration infrastructure. However, we also know that well designed infrastructure and developer tooling allows us to move faster safely.

Our infrastructure team mirrors our product teams’ extreme extreme focus on user experience, and we constantly evaluate our options. Over time we have moved our container orchestration system from a internally built prototype in 2014 to Mesos Marathon and finally Amazon Elastic Container Service. We build infrastructure when required, but move to an off-the-shelf solution when it satisfies our requirements to minimize ongoing maintenance. This has allowed our small team to build reliable products that support education in over 60% of K-12 schools in the US.

In this session I want to share our learnings on how to build developer control planes to allow your infrastructure team to make changes without disrupting engineers. Specifically I will talk about

Lessons learnt about building control planes using snapshots of our own service deployment orchestration tooling over the last four years. A lot of our building blocks are available as public repositories on Github

Designing infrastructure tooling for rapid evolution and change using examples from the rollout of our batch processing system over the last year.

Evaluation and decision making frameworks for choosing between using cloud-managed, open source and build-your-own options through our own move from self-hosting containers to using a containers-as-a-service platform.

A significant amount of today's focus and activity in the world of container orchestration is happening in the Kubernetes community. A little known fact to some users and practitioners on the platform is that Kubernetes itself has no code in the project that can create or start a Linux or Windows container.

So, what code is running the containers within your Kubernetes pods? As it turns out, since Kubernetes 1.5 a new API definition, called the Container Runtime Interface (CRI), allows any CRI-implementing container runtime to plug into the kubelet configuration and provide container runtime services for Kubernetes.

In this talk we'll deep dive on CRI implementations, and give a hands-on demonstration of how Kubernetes, the CRI, and CRI-supporting runtimes work together to handle the container lifecycle within your K8s pods. Rather than just talk, we'll "black belt" this talk at the command prompt, digging into the useful capabilities of the CRI and how we can understand the inner workings between Kubernetes and the CRI container runtimes that support it.

Shopify, in 2014, was one of the first large scale users of Docker in production. We ran 100% of our production web workers in hundreds of containers. We saw the value of containerization and aspired to also introduce a real orchestration layer.

Fast forward two years to 2016, when instead we had a clumsy and fragile homemade middleware for controlling containers. We started looking at orchestration solutions again and the technology behind Kubernetes intrigued us.

In this talk I'll briefly go over the challenges we saw in moving from a traditional host-based infrastructure to a cloud native one, moving not only our core app to Kubernetes but also hundreds of our other apps at the same time. I'll focus on the cluster tooling solutions we've built, such as controllers, cluster creators, and deploy tools. We've automated things ranging from our DNS to certificates and even complex cluster creations - and all with a real programming language rather than a handful of random scripts.

The ability to extend Kubernetes to fit our needs has been the greatest reward of this project. It's given us a new paradigm on which to build upon rather than relying on old patterns.

Open Space is a simple way to run productive meetings from 5 to 2000 or more people, and a powerful way to lead any kind of organization in everyday practice or extraordinary change. In Open Space sessions, participants create and manage their own agenda of parallel working sessions around a central theme of strategic importance.

Containers and container management platforms are becoming a standard part of many infrastructures. At Facebook, Google, Netflix, and Uber container technologies have been a large part of their infrastructures for many years. By leveraging these technologies, each company has seen improvements in developer productivity, overall systems reliability and improvements in compute efficiency. Come to this session to hear how these improvements have been delivered, what lessons were learned during implementation and operations, and what the future looks like in the container management space.