Workshop
Kubernetes: an Under The Hood Tour
Kubernetes (K8s) is a very powerful tool, primarily concerned with orchestrating and automating the deployment and management of networked applications.
Understanding how Kubernetes works makes you an effective power user for building higher level platforms. This workshop is aimed at technologists and team leads looking to lift up the hood and understand what are all the major parts of k8s and how they connect with each other. Attend if you want to answer the questions below.
- What is the overall architecture of K8s and its use of control theory?
- What problems does K8s solve out of the box vs. expecting users to bring a solution for?
- What are the defacto industry standards that Kubernetes has catalyzed?
- What is a K8s controller and how does it work?
- What kinds of controllers are there, and what roles do they play?
- What processes run on a K8s master node?
- What processes run on a K8s worker node?
- Exactly what is a pod, or a container in a pod?
- What is a container runtime and what role does it play within a k8s cluster?
- How does K8s schedule and launch a container?
- How does pod security and role-based access control (RBAC) work in Kubernetes?
- How does networking in K8s work?
- How does K8s integrate with load balancers? Or other cloud resources?
- How does persistent storage in K8s work? What kinds of volume drivers are out there, and why would you want to use specific types?
- What are the standard mechanisms for extending K8s?
The workshop will answer these questions through a series of demos, slides, and hands on exercises where attendees get to explore K8s under the hood. Our goal is to help attendees connect the dots and understand how all the components and processes of k8s fit together to create a composable, extensible kernel for managing networked applications and systems.
Attendees should already have basic k8s knowledge to be able to follow the class.
Workshop
Microservices
Implementing microservices in the real world requires solving some difficult problems. Such as:
- How can a microservices be tested without having to deploy all it's dependencies?
- How a microservice be deployed without having to regression test every client of the microservice?
- How can microservices be secured?
- How can a microservices securely access credentials / certificates?
- Where should a microservice store it's configuration?
- How can configuration of a microservice be changed without having to restart the microservice?
- How can a microservice compose a collection of other microservices?
- How can a microservice fail gracefully?
- Where should a microservice store it's state?
- What should a CD pipeline for a microservice look like?
- How can a microservice be deployed to Kuberenetes?
- How can a microservice be deployed to Cloud Foundry?
- Does a developer run all the microservices they are working on thier laptop during development?
Frameworks such as Spring Cloud, and Platforms like Kuberenets and Cloud Foundry provide highly effective and opinionated ways to implement microservices. This workshop provides a collection of sample applications that illustrate how to solve the above problems. For each sample application we will start with a short deck that explains the architecture of the application, the microservice patterns used, this will be followed by a hands on lab where attendees will get the application running on their laptops and learn how to use the frameworks. The following technologies will be covered:
- Spring Cloud Config
- Spring Cloud Contract
- Spring Cloud Config
- Spring Cloud Pipelines
- Micrometer metrics
- Netflix OSS (Hystrix, Eureka)
- Service Meshes with Envoy & Itsio
- Security with OAuth2 / OpenId Connect and Spring Security
- Service Composition with Reactive WebClient
- Spring Security
- Cloud Foundry
- Kubernetes
Our goal is not in-depth coverage of each framework, rather it's to weave the story of how all these frameworks, and platfroms come together and help you understand how to get rapidly going on your microservices journey.