Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lessons learned from doing EdgeDevOps (GitOps) in the bush, air and underwater - API Days Australia 2022

Lessons learned from doing EdgeDevOps (GitOps) in the bush, air and underwater - API Days Australia 2022

API Days 2022 - 15th September 2022 (Video recording https://youtu.be/PYpHWBQapSs/)

Dasith Wijesiriwardena
Juan Burckhardt
Jason Goodsell
Suganya Srinivasan

It is not an exaggeration to say that most modern systems that teams build are running on the cloud in a distributed architecture. There are some well-known successful practices around DevOps for these cloud native solutions as well. But what happens when you want to use the same workflows to deploy and run on the edge where connectivity might be intermittent or not available (air gapped systems)? How do we run Kubernetes on the edge and use our favourite GitOps workflows? In this talk we will talk about some of the techniques and practices we have been using to build and run workloads on Azure Edge and other edge devices. During this talk you will discover the challenges faced running Kubernetes on the edge and some practical solutions, starting off from your development environment, to continuously having your code deployed and running on a fleet of devices in an automated way regardless if it's a mobile platform, drone or a submarine.

Dasith Wijesiriwardena

September 15, 2022
Tweet

More Decks by Dasith Wijesiriwardena

Other Decks in Programming

Transcript

  1. Lessons Learned From Doing EdgeDevOps in The Bush, Air and

    Underwater 14-15 Sep 2022 Dasith Wijesiriwardena Juan Burckhardt Jason Goodsell Suganya Srinivasan
  2. EdgeDevOps ▪ What is it? Just DevOps but for the

    “edge.” ▪ Why can’t we do what we normally do? Because edge devices are “special” ▪ Constraints (i.e. network connectivity, latency) ▪ There are 1..n devices (potentially with different versions) ▪ More like choreography than orchestration
  3. Inner-Development Loop Problem How do you ensure everyone on the

    team has the same development environment?
  4. What Are DevContainers? ▪ Standardised development environment ▪ Docker container

    ▪ Contains common tools ▪ Everything needed for development ▪ Transportable ▪ Ability to run in CI/CD pipeline
  5. Partially Connected Scenario Features: ▪ Cache on the base station

    ▪ Leaf discoverability (ZeroConfig network) ▪ Leaf Bootstrap
  6. Zarf is Not a Silver Bullet ! Challenges: ▪ Not

    Prod ready ▪ Debugging ▪ Version control ▪ Big binaries ▪ Restricts k8s ▪ Validation/Encryption Pros: ▪ Big community ▪ DoD is using it ▪ Good docs ▪ K8S native ▪ Single package
  7. ZeroConfig Networking ▪ Set of technologies that automatically create a

    usable computer network. ▪ Does not require manual operator intervention or special configuration servers (i.e. DHCP). ▪ Automatically … assign IP addresses, resolve hostnames, and locate services. ▪ UDP Broadcast (Query+Response pattern) ▪ Multicast DNS (mDNS) ▪ DNS Service Discovery (DNS-SD)
  8. Wrapping Up ▪ DevContainers (Inner-DevLoop) ▪ Flux (GitOps) ▪ Harbor

    (Container Image Cache) ▪ GitEA (Git Repo Cache) ▪ Zarf (Packaging) ▪ mDNS, DNS-SD (Discoverability)
  9. Presentation template designed by powerpointify.com Special thanks to all people

    who made and shared these awesome resources for free: CREDITS Photographs by unsplash.com Free Fonts used: https://www.fontsquirrel.com/fonts/oswald @dasiths