Med vår OpenStack får du ett helt virtuellt datacenter där du själva väljer hur du vill sätta upp dina resurser, detta är infrastruktur som tjänst.
OpenStack är vår tjänst för Infrastruktur (IaaS, Infrastructure as a Service). Med denna tjänst får du ett helt virtuellt datacenter där du själva väljer hur du vill sätta upp dina resurser. Allt ifrån nätverk, lagring, brandväggar och servrar till kryptering och operativsystem, helt automagiskt.
Plattformen är byggd för att klara stora volymer och höga krav på säkerhet och tillgänglighet. Vi erbjuder en region här i Sverige som består av tre tillgänglighetszoner (AZ) som är tre helt separera datacenter som ligger på katastrofsäkert avstånd från varandra (20km).
Vi vill att våra kunder utnyttjar den redundans som finns i plattformen genom att bygga lösningar som är redundanta mellan våra tillgänglighetszoner.
Vår tjänst OpenStack är byggd med open source projektet OpenStack som är ett molnoperativsystem som styr stora pooler med server-, lagrings- och nätverksresurser som alla hanteras och tillhandahålls via API:er. Vår OpenStack plattform är testad och validerad av OpenStack foundation.
Det finns ett stort antal komponenter i OpenStack och nedan beskriver vi de som finns tillgängliga i vår tjänst och hur vi levererar dem.
Nova hanterar alla serverresurser som i vårt fall är virtuella maskiner baserat på kvm och dessa maskiner kallas för Instances. Det finns ett antal modeller av instanser som kallas Flavors. Dessa beskriver hur mycket CPU minne och disk som en Instans får samt på vilken typ av hårdvara som dom körs på. Våra standard Flavors körs på delade noder och vi har dedicated flavors som körs på dedikerad hårdvara för bara den Instansen. När du skapar din instans så kan du välja i vilken tillgänglighetszon den ska köra i.
Det finns två olika typer av boot diskar, antingen med en disk som bara kallas boot disk som körs på en lokal SSD disk på den serverhårdvara där instansen körs eller på en volym som körs på ett centralt lagringskluster. Det finns nackdelar och fördelar med båda typerna.
Om ni har Artificial Intelligence (AI), data analytics eller High Performance Computing (HPC) laster så har vi en Flavor med GPU (Graphics Processing Unit) som gör att du kan köra dessa laster snabbt och effektivt. Vi använder ledande GPUer baserade på NVIDIA Ampere-arkitekturen byggda för att leverera hög prestanda i datacentermiljöer.
Neutron hanterar nätverket och brandväggar. Vi har lagt ner mycket tid på design och uppbyggnad av vårt nätverk för att det skall vara redundant och skalbart över tre datacenter. Ett mål har varit att trafik alltid skall ta den närmaste vägen och inte behöva skickas fram och tillbaka mellan våra datacenter. Vi har löst detta genom att använda en helt distribuerad design för alla nätverksfunktioner. NAT, brandvägg, DHCP och metadata sker lokalt på varje serverhårdvara och all routing hanteras med anycast routing på den switch som sitter i samma rack där Instansen körs.
Kapacitetsmässigt så har vi minst 2x100Gb länkar mellan våra switchar och 2x10Gb eller 2x25Gb till våra servrar. Mellan våra datacenter har vi en fiberring med hög kapacitet och låg fördröjning, 0.5ms tur och retur.
Du skapar de nätverk, subnät, routrar och Security Groups (brandväggsregler) som behövs och ni väljer själva vilka adresser som ni vill använda.
Glance hanterar disk images och operativsystems images är det vanligaste. Vi tillhandahåller ett antal olika operativsystem images som uppdateras automatiskt en gång i månaden. Om vi inte tillhandahåller en image för det operativsystem du vill använda eller vill bygga en egen anpassad version så går det bra att ladda upp egna images. Glance lagrar sina images i Swift.
Cinder hanterar lagringsvolymer och du kan ansluta en eller fler Volymer till en Instans. En Volym är en disk från ett centralt lagringskluster. Vi har ett Lagringskluster per datacenter och vi tillåter när du ska mappa en Volym till en Instans så måste Volymen och Instansen köras i samma tillgänglighetszon.
Vi erbjuder olika typer av volymer som styr hur snabb en volym är. Du kan ändra typ och du kan även ändra storlek på en befintlig volym. För dataskydd så finns snapshot som lagrar en ögonblicksbild av en volym i samma lagringssystem och det finns backup som tar en image kopia av volymen och lagrar den i Glance. Alla volymer lagras krypterat.
Swift är en objektlagringstjänst där man kan lagra stora mängder data på ett säkert och kostnadseffektivt sätt. Perfekt för till exempel bilder, dokument och backupfiler. Ett objekt som laddas upp i Swift sparas i tre kopior, en kopia i varje datacenter.
Barbican är en tjänst för att lagra och hantera hemligheter. En hemlighet kan till exempel vara ett certifikat, en krypteringsnyckel eller ett lösenord. Hemligheterna krypteras av ett HSM kluster som har en nod i varje datacenter. Andra moduler i OpenStack kan använda sig av Barbican för att lagra hemligheter. Octavia lagrar som exempel SSL certifikat där.
Octavia är en tjänst för lastbalanserare som används när du har flera instanser som du kan sprida din last över. Octavia har HTTP L7 support och du kan terminera SSL i lastbalanseraren. När du skapar en lastbalanserare så byggs två Instanser som är redundanta för varandra aktiv/passiv.
Heat är OpenStacks tjänst för orkestrering av dina resurser. Heat har även stöd för autoskalning av resurser. Vi själva arbetar inte så mycket med Heat då tjänsten är specifik för OpenStack. Vi använder och rekommenderar andra att istället använda Terraform där man kan arbeta med flera olika plattformar och tjänster från ett och samma verktyg.
Ceilometer samlar in och lagrar information om hur alla resurser i plattformen används. Denna data används bland annat för fakturering och autoskalning av resurser.
Denna modul använder vi för att räkna ut kostnaden för de tjänster som används i plattformen. Den utgår till stor del från data på hur resurser används i Ceilometer och beräknar kostnaden från vår prislista. Vi mäter och debiterar per timme.