DevOps Pro Europe 2022

May 30 - June 3

Workshops

Online

May 24 - 26

Conference

Online

Josh Thurman

Positon: Co-founder, Developer Relations

Company: Uffizzi

Country: US

Biography

Co-author of the Continuous Previews Manifesto, Head of DevRel at Uffizzi, and highly decorated Navy SEAL who leverages his experience leading high-performing teams to help organizations improve how they build and deliver software. After 12 years and 11 deployments across the globe, Josh left the SEAL community in 2018 to co-found Uffizzi. Day-to-day he organizes Uffizzi’s Open Source and serves as its Head of Developer Relations. When he’s not talking about the intersection of process and technology improvements Josh competes as a National level Age Group Triathlete and enjoys spending time with his wife and four kids.

Adam Vollrath

Positon: DevOps Architect

Company: Uffizzi

Country: US

Biography

Cloud Architect and Infrastructure Lead for Uffizzi. Adam has over 15 years industry experience in networking, hardware, infrastructure, Cloud Native Development and DevOps. He has a degree in Computer Science and is a Red Hat Certified Engineer and a Google Cloud Professional Cloud Architect. He developed the backend architecture for Uffizzi and he manages Kubernetes clusters across all the major cloud providers in support of Uffizzi OSS efforts. Adam is a service-oriented community leader in East Nashville and enjoys spending time with his wife and newborn son. In his free time he likes to fly private aircraft.

Workshop

Deep Dive: On-Demand Dev Environments with Docker-compose, Kubernetes, and Uffizzi OSS.

Does your Dev team have to fight over a limited number of Dev Environments?

Is merging broken features into main causing you big headaches?

If Yes – this workshop is for you!

In this workshop we’ll cover a better way for teams to build and test software with Continuous Previews (aka on-demand or ephemeral environments) for the Full-Stack powered by Docker compose, Github Actions, Kubernetes and Uffizzi OSS.

Attendees for this workshop will leave with:

  1. An understanding of the Continuous Previews methodology (https://continuous-previews.org)
  2. How to Install and Manage uffizzi_app and dependencies on your Kubernetes cluster
  3. How to configure trigger-based preview environments with Uffizzi CLI and Docker compose.
  4. How to configure Github Actions to use Github Events (Open / Close PR) to trigger on-demand preview environments.

Most teams in the container era are leveraging `docker-compose.yml` to manage the Dev Environments on their local workstation but we all know the limitations here – it’s not easily shareable!

What if you could leverage the popular Docker compose configuration to create shareable on-demand test environments in the cloud with HTTPS endpoints? Every engineer on your team could have as many test environments as they need, when they need them, for as long as they need them.

A capability like this has traditionally been reserved for teams with the time, expertise, and resources to build and maintain it i.e. FAANG companies. But now with Docker-compose, Kubernetes, and Uffizzi Open Source you can easily access this capability.

With a Continuous Previews process and technical solution your team can benefit in these ways:

-No more fighting over a limited number of Dev Environments
-No more merging untested code into main

-Catch issues early – when they’re easier to FIND and FIX
-Deliver new features faster to your end users

We all have CI/CD, it’s time to adopt Continuous Previews as a game-changer for how rapidly your organization can release new features!

*This is a BYOC (Bring Your Own Kubernetes Cluster) event

Agenda

Part 1: Intro to Continuous Previews (CP): [15min]

  • Concept and Process Review
  • Principles
  • Traditional QA vs. CP

Part 2: Architecture and Configuration: [15min]

  • How it all fits together- Uffizzi_app, Uffizzi_controller, Uffizzi_CLI, Postgres, Redis, Kubernetes
  • How it works
  • Docker-compose vs. `x-uffizzi` extensions

Part 3: Establishing Your Kubernetes Cluster: [30min]

  • Cluster Creation
  • Cluster Configuration

Part 4: Installing Uffizzi and Dependencies [45min]

  • Helm Chart Install onto your Cluster

                -uffizzi_app

                -uffizzi_controller and other dependencies

                -postgres

                -redis

  • Potential Custom Resource Definition Conflicts
  • Testing the Installation

Part 5: Configuring Uffizzi [30min]

  • Download CLI
  • Writing docker-compose.uffizzi.yml
  • Configure Uffizzi

Part 6: Configuring Github Actions [30min]

  • Establishing Github Event Triggers
  • Build Job
  • Initiating Preview Deployment

Part 7: Test CP capability [15min]

  • Create Topic Branch on Demo Application
  • Open PR
  • Test Running Application
  • Close PR

Part 8: Review and Closing Comments [15min]

Objectives

Attendees for this workshop will leave with:

  1. An understanding of the Continuous Previews methodology (https://continuous-previews.org)
  2. How to Install and Manage uffizzi_app and all dependencies on your Kubernetes cluster
  3. How to configure trigger-based preview environments with Uffizzi CLI and docker-compose
  4. How to configure Github Actions to use Github Events (Open / Close PR) to trigger on-demand preview environments.
Target audience

Target Audience includes DevOps Engineers and Development Team Leaders who are interested in a Continuous Previews capability (Trigger-based on-demand, ephemeral environments)

Technical requirements

For full participation the below are required – of course observers are also welcome to this workshop

– Installations:

                – Ability to instantiate / access a Kubernetes cluster.  Preferably EKS, GKE, or AKS.  A local installation (minikube) will also work with some limitations.

                – Uffizzi CLI installed on local machine

– Technical knowledge:

                – Working knowledge of Kubernetes, Docker, and Docker-compose

                – Working knowledge of CI/CD pipelines

                – Basic knowledge of Helm