Selvbetjent adgang til open source-infrastruktur med NATS og Huma

Vores session, med titlen 'Brug af NATS og Huma til at forbedre open source-infrastruktur', var designet til at give både B2B- og europæiske forskningsfællesskaber robust selvbetjent adgang.

Jon Ander Novella de Miguel

Jon Ander Novella de Miguel

Safespring Engineer

Denne tekst er automatisk oversat for din bekvemmelighed. Du kan læse teksten på:

.

Jeg havde for nylig mulighed for at præsentere på OpenInfra Day Sweden 2024, og jeg er glad for at kunne dele indsigter og nyheder fra vores team hos Safespring.

I løbet af de seneste tre måneder har vi arbejdet på et nyt værktøj, der skal forbedre selvbetjent adgang til open source-infrastruktur for vores B2B-kunder og kunder i den europæiske forskningssektor. Dette værktøj udnytter styrken i NATS- og Huma-teknologierne.

Safesprings mission Safespring sigter mod at blive den foretrukne platform for europæisk cloud computing. Vi er dedikeret til at levere sikre, compliant cloudtjenester på tværs af flere datacentre i Norden, herunder Oslo, Stockholm og Luleå. Vores tjenester overholder GDPR og europæiske sikkerhedsstandarder, hvilket sikrer højeste grad af sikkerhed for vores brugere.

Download præsentation
Klik her for at downloade præsentationen som PDF.

Projektoversigt

Vores projekt adresserer behovet for automatiseret klargøring af ressourcer som projekter, brugere, netværk og adgangskontrollister på tværs af flere OpenStack-installationer. Vi har udviklet et selvbetjenings-API ved hjælp af to nøgleteknologier:

  1. NATS - Et beskedsystem til mikrotjenester.
  2. Huma - Et HTTP-framework i Golang, der gør det nemt at oprette OpenAPI-specifikationer.

Mål for selvbetjenings-API’et

  1. Distribueret administration: Muliggør effektiv, distribueret administration af kundernes ressourcer, reducerer driftsomkostninger og giver kunderne mulighed for at klargøre projekter on demand.
  2. Infrastrukturføderation: Understøt fødereret infrastruktur for projekter, der involverer flere organisationer, såsom vores igangværende samarbejde med Europa-Kommissionen.
  3. Kontrolleret ressourceklargøring: Implementér et kontrollag til at håndtere kunders anmodninger om ressourcer og sikre overholdelse af foruddefinerede kvoter og adgangsniveauer.

Tekniske detaljer

Huma-frameworket

  • Kompatibilitet med populære routere.
  • Brug af generiske HTTP-handler-signaturer for bedre vedligeholdelse.
  • Annoterede struct-typer til input- og outputmodeller, som muliggør automatisk generering af OpenAPI-specifikationer.

Huma, det HTTP-framework vi har valgt, er integreret i Golang-økosystemet.

<div class="pb-2"></div>

NATS-mikrotjenester

  • Fire-and-forget-messaging: Effektiv publicering af beskeder uden at afvente svar.
  • Emnebaseret messaging: Muliggør målrettet kommunikation med flere tjenester samtidigt.
  • Indbygget lastbalancering: Sikrer høj tilgængelighed og effektiv ressourcefordeling.

For at overvinde HTTP’s begrænsninger ved dynamisk tjenesteopdagelse og lastbalancering har vi taget NATS i brug som besked-middleware.

<div class="pb-2"></div>

Arkitektur

Vores arkitektur består af:

  1. Selvbetjenings-HTTP-API: Hovedgrænsefladen for brugerinteraktion.
  2. NATS-mikrotjenester: Distribueret på tværs af forskellige datacentre, lytter på emner og udfører operationer som oprettelse af projekter og brugere.
  3. Centrale tjenester: Herunder en kvote- og ACL-controller til at styre ressourceallokering og adgangskontrol.

Messaging-mønstre

Vi har implementeret flere NATS-messaging-mønstre, herunder:

Udfordringer og løsninger

  1. Forenet API for OKD og OpenStack: Udvikling af en abstraktion, der fungerer på tværs af forskellige platforme, samtidig med at kompleksiteten omkring brugere og grupper håndteres.
  2. Integrationstest: Sikre robust test mod genanvendelige OpenStack- og OKD-miljøer, på trods af udfordringer med indlejret virtualisering.

Konklusion

Dette projekt repræsenterer et vigtigt skridt fremad i at levere skalerbar, selvbetjent adgang til open source-infrastruktur for vores kunder. Ved at udnytte NATS og Huma har vi skabt et robust, effektivt og sikkert værktøj, der imødekommer de voksende krav fra vores B2B- og europæiske forskningsmiljøer.

Du er velkommen til at kontakte os, hvis du har spørgsmål eller ønsker mere detaljeret information om vores projekt!