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: Container and Orchestration Platforms in Action
Location: Broadway Ballroom South Center, 6th fl.
Day of week: Wednesday
Track Host: Andrew Spyker
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.
10:35am - 11:25am
Chick-Fil-A: Milking the Most Out of 1000's of K8s Clusters
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.
11:50am - 12:40pm
Control Planes: Designing Infrastructure for Rapid Iteration
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.
1:40pm - 2:30pm
CRI Runtimes Deep Dive: Who's Running My Kubernetes Pod!?
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.
2:55pm - 3:45pm
Forced Evolution: Shopify's Journey to Kubernetes
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.
4:10pm - 5:00pm
Container and Orchestration Platforms Open Space
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.
5:25pm - 6:15pm
Containers at Web Scale Panel
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.
Victor Marmol, Staff Software Engineer @Google
Andrew Leung, Senior Software Engineer @Netflix
Xiaojian Huang, Engineer Manager @Uber
Wendy Dembowski, Staff Software Engineer @Google
Tracks
-
Microservices: Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Developer Experience: Level up Your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand. Tools, techniques, and trends.
-
Modern Java Reloaded
Modern, Modular, fast, and effective Java. Pushing the boundaries of JDK 9 and beyond.
-
Modern User Interfaces: Screens and Beyond
Zero UI, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Practical Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, Caffe, & more
-
Ethics in Computing
Inclusive technology, Ethics and politics of technology. Considering bias. Societal relationship with tech. Also the privacy problems we have today (e.g., GDPR, right to be forgotten)
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, Goldman Sachs
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probalistic programming
-
Container and Orchestration Platforms in Action
Runtime containers, libraries, and services that power microservices
-
Finding the Serverless Sweetspot
Stories about the pains and gains from migrating to Serverless.
-
Chaos, Complexity, and Resilience
Lessons building resilient systems and the war stories that drove their adoption
-
Real World Security
Practical lessons building, maintaining, and deploying secure systems
-
Blockchain Enabled
Exploring Smart contracts, oracles, sidechains, and what can/cannot be done with blockchain today.
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Empowered Teams
Safely running inclusive teams that are autonomous and self-correcting