Workshops

I have been delivering multi day technical deep dive hands on technical workshops for 15+ years. Below are outlines for workshops I have been delivering recently. Please reach out if you would like to schedule a delivery of any of these workshops. I am always creating new workshops get in touch if you are looking for a technical workshop on a topic you don’t see below.

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 workshop.

Duration: 1 to 2 days depending on how much hands on you want to do

Practical 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 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 or Kubernetes?
  • Does a developer run all the microservices they are working on their 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
  • 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 platforms come together and help you understand how to get rapidly going on your microservices journey.

Duration: 1 to 2 days depending on how much hands on you want to do

Building Observable Microservices

Observability is a pillar of making operator friendly microservices that are easy to monitor and troubleshoot in production. This talk covers the three types of observability metrics, logs, and distributed tracing. We will illustrate best practices for making microservices observable using micrometer, zipkin, spring cloud, prometheus, grafana and other tools. Come learn how to make your microservices more observable.

Duration: 4 hours

Implementing Microservices Security Patterns & Protocols

Building secure microservices requires mastering a variety of patterns, protocols, frameworks, and technologies. This deep dive provides a holistic end-to-end view of how to secure microservices using industry standard protocols and Spring. The goal is to present how standards such as JWT, JWA, JWS, JWE, JWK, OAuth2, OpenID Connect, TLS can be combined to make writing secure microservices easy.

The deep dive will alternate between slides that explain the security standards and protocols and code walkthroughs/live coding showing how to apply the patterns and standards using Spring Security 5.2. We will demonstrate the following patterns and their implementations.

Duration: 4 hours