Den 1. juli 2022 havde vi kaffebar. På dagen diskede Povl Kvols op med spændende kaffedrinks, og derudover var der også et par korte tekniske indlæg af Jakob Bendsen (GitHub Copilot) og Jesper Terkelsen (Linkerd).
Jesper Terkelsen gav en både inspirerende, velfungerende og 100 % uforberedt demo af Linkerd i forlængelse af Jakob Bendsens indlæg om Codepilot på Lund&Bendsens Kaffebar.
Linkerd er et af 16 projekter, der i dag er “Graduated” hos CNCF. Linkerd deler status med projekter som Kubernetes, Prometheus, Jaeger, containerd, etcd, fluentd (hvad er det med det …d, mere om det senere). CNCF beskriver sig selv som “CNCF is the vendor-neutral hub of cloud native computing, dedicated to making cloud native ubiquitous”, og ønsker at fremme udvikling af cloud teknologier på tværs af virksomheder. Et ædelt formål.
Linkerd er et servicemesh. Et “Service Mesh” er et relativt nyt begreb, og Linkerd er ifølge wikipedia den netværksproxy der definerede begrebet. Et Service Mesh simplificerer den netværks kompleksitet, der er blevet introduceret med større containerbaserede infrastrukturer, som i dag oftest kører i clustre som Kubernetes.
Indenfor softwarearkitektur er et Service Mesh et dedikeret netværkslag, der faciliterer service-til-service kommunikation, og blandt andet abstraherer kompleksiteten i det underliggende netværk væk fra applikationslaget og gør funktionaliteter som observability, security, og reliability til en del af platformen, i stedet for applikationen. Funktionaliteten i Linkerd er opdelt i et dataplan og et controlplan, hvor dataplanet er implementeret som en proxy, der opfanger netværkstrafik, og controlplanet kontrollerer proxiernes adfærd. I Jesper Terkelsens demo var proxierne deployet som sidecars til applicationer, hvilket er nyttigt, når man deployer med containers i f.eks. Kubernetes. Jesper Terkelsen viste, hvordan Linkerd simpelt er defineret som en linie i et Helm chart, og hvilke muligheder man får ved at kombinere Linkerd med det distribuerede logging framework Jaeger og Prometheus. Jaeger og Prometheus er begge “graduated” fra CNCF.
Og så til det “d”. I mit professionelle liv har jeg i 30 år arbejdet med daemon programmer, som for mig er en baggrundsproces, oprindeligt i et unix system. Daemon programmer navngives traditionelt med et afsluttende “d”. Så langt så godt. Jeg nu slået op, hvor begrebet “daemon” egentlig kommer fra, og interessant nok er det ikke en afart af en dæmon, men derimod:
“Many people equate the word “daemon” with the word “demon”, implying some kind of satanic connection between UNIX and the underworld. This is an egregious misunderstanding. “Daemon” is actually a much older form of “demon”; daemons have no particular bias towards good or evil, but rather serve to help define a person’s character or personality. The ancient Greeks’ concept of a “personal daemon” was similar to the modern concept of a “guardian angel”—eudaemonia is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.”
Speakers profile:
Jesper’s background is in software engineering, with interests spanning: typesafe languages, distributed systems, cloud infrastructure, dev-ops automation, software architecture, project management, leadership, organisational theory and human processes. Working as a consultant for 10+ years in telecom and finance. Jesper has spent the last 8 years in Tradeshift helping the company grow by leading engineering teams, building software systems and software development processes.