Serverlaboratorium

Cognitec har det siste året bygget et serverlaboratorium (hjemmelab) for å kunne lære mer om teknologier som virtualisering, containere – og Kubernetes. I den forbindelse har det blitt satt opp tre minimaskiner, blant annet HP Elitedesk G4 og G6 som vist på bildet (bildet er KI-generert).

Her er liste over noe av programvaren som er installert i laboratoriet, hvor det aller meste er åpen kildekode:

  • Proxmox VE for å kjøre virtuelle maskiner og LXC Linux-containere med Ceph plattform for distribuert lagring
  • Virtuelle Ubuntu-servere og Windows 2022/2025 servere som kjører på Proxmox
  • Proxmox Backup Server for sikkerhetskopiering av VM-er og containere til et Synology NAS
  • Dockge for å kjøre Docker containere via docker compose
  • Authentik som identitetsleverandør for sikker pålogging mot eksponerte tjenester
  • Talos Kubernetes med Container Storage Interface (CSI)-drivere for å automatisk opprette av lagringsvolumer mot Ceph på Proxmox og mot eksternt Synology NAS
  • Wireshark med tunnel inn i Kubernetes-klyngen
  • Traefik som reverse proxy server både kjørende som Docker-container og kjørende i Kubernetes for å eksponere tjenester i virtuelle maskiner og i Kubernetes

Proxmox VE, basert på Debian Linux, har blitt svært populært for å kjøre virtuelle maskiner, spesielt etter at Broadcom fjernet gratisversjonen av VMware ESXi. Plattformen støtter både KVM for full virtualisering og LXC for lette containere. Med et brukervennlig webgrensesnitt kan du enkelt administrere klynger, utføre live migrering, ta snapshots og sikre høy tilgjengelighet (HA). Dette gjør Proxmox til et kraftfullt verktøy for å bygge fleksible og kostnadseffektive virtualiseringsløsninger, enten du eksperimenterer hjemme eller drifter et profesjonelt datasenter.

Talos er et minimalistisk, sikkerhetsfokusert operativsystem laget spesielt for å kjøre Kubernetes-noder. Det erstatter tradisjonelle Linux-distribusjoner med et uforanderlig (immutable) system der alt styres deklarativt via YAML-konfigurasjon – uten SSH eller pakkehåndtering. Talos gir dermed en svært konsistent, automatiserbar og sikker plattform for Kubernetes. Dette gjør det til et ideelt valg for utviklere og bedrifter som ønsker å strømlinjeforme Kubernetes-oppsett og sikre robust drift i krevende miljøer.

I kombinasjon med DNS fra Cloudflare og Traefik-spesifikke annotasjoner i Kubernetes, kan man for eksempel kjøre opp en nytt WordPress-portal på et nytt subdomene bare ved hjelp av en enkelt Helm-kommando.

Ved å bruke tre servere får man et robust grunnlag for høy tilgjengelighet (High Availability) og et stabilt klynge-quorum – altså flertallsbeslutningen som avgjør hvilken node som “eier” tilstanden i et distribuert system. Dette er spesielt viktig både for Proxmox-klyngen, som da kan flytte virtuelle maskiner automatisk ved feil på én node, og for Ceph-lagringen, som krever minst tre noder for å kunne speile og rebalansere data uten å miste tilgjengelighet. Også i Kubernetes gir tre kontrollnoder (Control Plane) et pålitelig cluster med redundans i etcd-databasen, slik at systemet fortsetter å fungere selv om én node skulle gå ned. Resultatet er et serverlaboratorium som oppfører seg som et ekte datasenter – komplett med feiltoleranse, replikering og kontinuerlig drift.

Man kan selvsagt stille spørsmålet: Hvorfor sette opp egne servere når alt nå kjøres i skyen? Vel, noe av hensikten er å lære seg lavnivåoppsett av kjøremiljøer for virtuelle maskiner og Kubernetes. Dessuten ville tilsvarende datakraft – med tanke på minne (192 GB), CPU og lagring – kostet betydelig mer hos en skyleverandør. Laboratoriet brukes først og fremst til opplæring, og dermed er ikke høy oppetid like kritisk som i et profesjonelt miljø. Som en bonus bidrar serverne også med litt ekstra varme på kontoret i vintermånedene.

IoT prototype med Arduino

Arduino er en spennende plattform for å utvikle rimelige prototyper for IoT (tingenes internett). Viktor har her laget en video der han forklarer steg for steg hvordan han utvikler en alarm-prototype som sender SMS når f.eks. en dør åpnes. Ta gjerne kontakt om dere trenger hjelp i skjæringspunktet mellom mobil, web, sky og IoT.

QCon San Francisco

Tor Anders mellom to foredrag på Qcon 2017

I november 2017 var både Tor Anders Johansen og Viktor Kjartansson på IT-konferansen QCon i San Francisco som ble avholdt for 11. år på rad. Qcon er en plattformnøytral IT-konferanse for erfarne arkitekter og utviklere som holdes både i London, New York, Sao Paolo, Shanghai, Beijing og Tokyo i tillegg til San Francisco. Den arrangeres av InfoQ – et nettsted som har 1,2 millioner månedlige lesere – alle profesjonelle IT-folk.

Årets hovedtemaer var DevOps (du bygger det – du kjører det), «AI» / kunstig intelligens (og «Big data» / maskinlæring), spennende arkitekturer og spesielt mye rundt mikrotjenester («patterns and practices»), kontainere (Docker og verktøykassen rundt som f.eks. Kubernetes), «serverless» arkitektur (kjør funksjoner i skyen), sikkerhet (angrep og forsvar), nye programmeringsspråk (bl.a. Go, Rust) og ny nettleserteknologi (webassembly og protokollen QUIC som skal erstatte HTTP2) – hvor man tok pulsen på de aller siste teknologitrendene.

Keynote – innledningsforedrag ved Leslie Miley «Bias in BigData/AI and ML»

Alle foredragsholderne var utøvende arkitekter og utviklere ettersom konferansen tar sikte på å være en praktisk rettet konferanse, i motsetning til akademisk og teoretisk. Foredragsholderne deler erfaring fra hvordan de bygget løsninger som kunne skalere til millioner av brukere, fra selskaper som bl.a. Netflix, Slack, Reddit, Ebay, Paypal, LinkedIn, Docker, Google, Microsoft og Oracle. Alt man hører på foredrag kan man dra hjem og gjøre selv. For de som er interesserte i foredragene så ble det aller meste filmet og kan finnes på https://www.infoq.com/qcon-san-francisco-2017.

Viktor og Tor Anders på stranden i San Francisco

I tillegg til masse spennende faglig påfyll under konferansen ble det også tid til team-building, sightseeing i San Francisco og ikke minst vinsmaking i Napa Valley. Vel hjemme i Norge er vi godt i gang med å utvikle enda bedre løsninger – ved å sette det vi tok med oss fra konferansen – ut i live i praksis.