Slide 1

Slide 1 text

Lessons Learned From Doing EdgeDevOps in The Bush, Air and Underwater 14-15 Sep 2022 Dasith Wijesiriwardena Juan Burckhardt Jason Goodsell Suganya Srinivasan

Slide 2

Slide 2 text

HELLO! Jason Commercial Software Engineering Dasith Juan Suganya @dasiths https://dasith.me @jsburckhardt

Slide 3

Slide 3 text

Partially Connected Scenarios Introduction to EdgeDevOps Agenda Disconnected Scenarios Development Workflow Discovery and Networking

Slide 4

Slide 4 text

Introduction to EdgeDevOps

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Looking at the Development Workflow

Slide 7

Slide 7 text

Inner-Development Loop Problem How do you ensure everyone on the team has the same development environment?

Slide 8

Slide 8 text

Inner-Development Loop Solution ▪ DevContainers (VS Code) ▪ GitHub CodeSpaces

Slide 9

Slide 9 text

What Are DevContainers? ▪ Standardised development environment ▪ Docker container ▪ Contains common tools ▪ Everything needed for development ▪ Transportable ▪ Ability to run in CI/CD pipeline

Slide 10

Slide 10 text

Complexity with Deploying to The Edge

Slide 11

Slide 11 text

Evolution of “Compute”

Slide 12

Slide 12 text

Our EdgeDevOps Flow

Slide 13

Slide 13 text

Our EdgeDevOps Flow

Slide 14

Slide 14 text

Edge Devices That Are Partially Connected

Slide 15

Slide 15 text

Sample Environment

Slide 16

Slide 16 text

Partially Connected Scenario

Slide 17

Slide 17 text

Partially Connected Scenario

Slide 18

Slide 18 text

Partially Connected Scenario

Slide 19

Slide 19 text

Partially Connected Scenario

Slide 20

Slide 20 text

Partially Connected Scenario

Slide 21

Slide 21 text

Partially Connected Scenario

Slide 22

Slide 22 text

Partially Connected Scenario Features: ▪ Cache on the base station ▪ Leaf discoverability (ZeroConfig network) ▪ Leaf Bootstrap

Slide 23

Slide 23 text

Edge Devices That Are Disconnected

Slide 24

Slide 24 text

Sample Air Gapped Environment

Slide 25

Slide 25 text

Sample Air Gapped Environment

Slide 26

Slide 26 text

Sample Air Gapped Environment

Slide 27

Slide 27 text

Sample Air Gapped Environment

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

For Edge Devices Zero Config Networking

Slide 30

Slide 30 text

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)

Slide 31

Slide 31 text

Wrapping Up ▪ DevContainers (Inner-DevLoop) ▪ Flux (GitOps) ▪ Harbor (Container Image Cache) ▪ GitEA (Git Repo Cache) ▪ Zarf (Packaging) ▪ mDNS, DNS-SD (Discoverability)

Slide 32

Slide 32 text

Any questions? THANKS! @dasiths dasith.me https://www.nationalgeographic.com/travel/destinations/asia/sri-lanka/ @jsburckhardt burckman.com

Slide 33

Slide 33 text

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