IaaS / OpenStack Trond Hasle Amundsen GSD/GD/IT-DRIFT/USIT Universitetet i Oslo 14. mars 2014
IaaS Infrastructure as a Service Muligheten til å leie prosessorkraft, lagring, nettverk og andre fundamentale maskinressurser hvor kunden er i stand til å opprette, lagre data og/eller kjøre vilkårlig programvare. Dette inkludererer operativsystem og applikasjoner. Marketing-begrep Ikke presis beskrivelse av teknologi Definisjoner varierer
Tradisjonell IaaS Benytter en tradisjonell virtualiseringsrigg i bakkant
Tradisjonell IaaS Benytter en tradisjonell virtualiseringsrigg i bakkant Er bundet av rammene til virt-løsningen
Tradisjonell IaaS Benytter en tradisjonell virtualiseringsrigg i bakkant Er bundet av rammene til virt-løsningen Liten forskjell fra vanlig virt-løsning
Tradisjonell IaaS Benytter en tradisjonell virtualiseringsrigg i bakkant Er bundet av rammene til virt-løsningen Liten forskjell fra vanlig virt-løsning Bruker lagring fra SAN
Tradisjonell IaaS Benytter en tradisjonell virtualiseringsrigg i bakkant Er bundet av rammene til virt-løsningen Liten forskjell fra vanlig virt-løsning Bruker lagring fra SAN Små muligheter for software defined networking (SDN)
Moderne IaaS Massivt skalerbar
Moderne IaaS Massivt skalerbar Standard byggeklosser til alt
Moderne IaaS Massivt skalerbar Standard byggeklosser til alt Bruker lagring i software
Moderne IaaS Massivt skalerbar Standard byggeklosser til alt Bruker lagring i software Integrert funksjonalitet for software defined networking
Moderne IaaS Massivt skalerbar Standard byggeklosser til alt Bruker lagring i software Integrert funksjonalitet for software defined networking Applikasjoner må tilpasses!
Pets vs. Cattle
Pets vs. Cattle
Virt workload vs. Cloud workload Kjæledyr I Har navn som happy.uninett.no I De er unike, elsket og oppdratt for hånd I Når de blir syke, tar man dem til veterinær og pleier dem tilbake til god helse
Virt workload vs. Cloud workload Kjæledyr Gårdsdyr I Har navn som happy.uninett.no I Har nummernavn som ku-086.uninett.no I De er unike, elsket og oppdratt for hånd I De er nesten identiske med hverandre I Når de blir syke, tar man dem til veterinær og pleier dem tilbake til god helse I Når de blir syke, avliver man dem og skaffer en ny
Virt workload vs. Cloud workload Tradisjonell workload Store VM-er med tilstand Levetiden måles i år Applikasjoner skalerer opp (mer vcpu, vram) Applikasjoner er IKKE designet til å tolerere feil
Virt workload vs. Cloud workload Tradisjonell workload Store VM-er med tilstand Levetiden måles i år Applikasjoner skalerer opp (mer vcpu, vram) Applikasjoner er IKKE designet til å tolerere feil Cloud workload Små, tilstandsløse VM-er Levetiden måles i timer til måneder Applikasjoner skalerer utover horisontalt med flere VM-er Applikasjoner FORVENTER feil
Hvorfor vi trenger en elastisk sky Vi har for mye data Enkeltstående maskiner klarer ikke lenger å behandle den store mengden data For mange henvendelser til tjenesten Det finnes flere klienter enn noen gang Servere feiler, sånn er det bare... Eksempel: Med 10.000 superstabile servere som har MTBF (Mean Time Between Failure) på 30 år, vil det i snitt feile en om dagen...
OpenStack Sky-infrastruktur for sky-applikasjoner OpenStack er både Software og Community
Hvilket problem løser OpenStack? Openstack leverer et rammeverk for å bygge elastisk sky-infrastruktur i massiv skala Fasiliterer håndtering av Compute-, Nettverk-, og Lagringsressurser Leverer infrastruktur for elastiske applikasjoner
Komponenter i OpenStack leverer... COMPUTE Management av virtuelle maskiner Omfattende støtte for ulike hypervisors NETTVERK Management av IP-adresser Sikkerhetstjenester LAGRING Volumer (blokklagring) Object storage for VM-images og filer
OpenStack: Utvikling Austin (Okt 2010) Første release
OpenStack: Utvikling Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Essex (Apr 2012) Dashboard og Identity service sluppet, Quantum ble lagt til Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Folsom (Okt 2012) Quantum (nettverk) fullt integrert, volume service ble lagt til Essex (Apr 2012) Dashboard og Identity service sluppet, Quantum ble lagt til Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Grizzly (Apr 2013) Modning av Quantum og Cinder, fokus på oppgraderings-support Folsom (Okt 2012) Quantum (nettverk) fullt integrert, volume service ble lagt til Essex (Apr 2012) Dashboard og Identity service sluppet, Quantum ble lagt til Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Havana (Okt 2013) Ceilometer og Heat ble integrert Grizzly (Apr 2013) Modning av Quantum og Cinder, fokus på oppgraderings-support Folsom (Okt 2012) Quantum (nettverk) fullt integrert, volume service ble lagt til Essex (Apr 2012) Dashboard og Identity service sluppet, Quantum ble lagt til Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack: Utvikling Icehouse (Apr 2014) Vi gleder oss! Havana (Okt 2013) Ceilometer og Heat ble integrert Grizzly (Apr 2013) Modning av Quantum og Cinder, fokus på oppgraderings-support Folsom (Okt 2012) Quantum (nettverk) fullt integrert, volume service ble lagt til Essex (Apr 2012) Dashboard og Identity service sluppet, Quantum ble lagt til Diablo (Sep 2011) Første Production Ready -versjon Cactus (Apr 2011) Bedre skalering, støtte for flere hypervisors Bexar (Feb 2011) OpenStack Compute ble ferdig, første release av Image Service Austin (Okt 2010) Første release
OpenStack arkitektur Modulær arkitektur Basert på et (voksende) sett av kjernetjenester Designet for skalerbarhet og elastisitet
OpenStack Identity Service (Keystone) Felles rammeverk for autorisering Håndterer brukere, prosjekter (tenants) og roller Pluggbare backends (SQL, PAM, LDAP etc.)
OpenStack Dashboard (Horizon) Leverer et enkelt self-service-grensesnitt for sluttbrukere Basisfunksjoner for administrasjon av skyen (ikke management av infrastruktur) Definere brukere, prosjekter (tenants) og kvoter
OpenStack Compute (Nova) Støtter flere hypervisors (KVM, Xen, LXC, Hyper-V, ESX) Eget OpenStack-API og support for Amazon EC2 API Distribuerte controller-tjenester håndterer skedulering, API-kall m.m.
OpenStack Block Storage (Cinder) Leverer blokklagring for virtuelle maskiner (persistente disker) Ligner på Amazon EBS Plugin-arkitektur slik at leverandører kan legge til utvidelser
OpenStack Networking (Neutron) Nettverkstjeneste Rammeverk for Software Defined Networking (SDN) Tillater integrering av nettverksløsninger basert på software eller hardware
OpenStack Networking in too much detail
OpenStack Image Service (Glance) Lagrer og henter disk images (templates for virtuelle maskiner) Støtter Raw, QCOW, VMDK, VHD, ISO, OVF og AMI/AKI I bakgrunnen: Filsystem, Swift, Amazon S3
OpenStack Object Storage (Swift) Modellert etter Amazon S3 Leverer en enkel tjeneste for lagring og henting av vilkårlig data Eget API og S3-kompatibelt API
OpenStack Telemetry Service (Ceilometer) Samler performance-data (CPU, nett etc.) Designet for integrering og utvidelse Innsamlet data er tilgjengelig gjennom et REST-API
OpenStack Orchestration Service (Heat) Leverer template-basert orkestrering av sky-applikasjoner Modellert etter AWS CloudFormation Avansert funksjonalitet som høytilgjengelighet og automatisk skalering
Sette komponentene sammen OpenStack bruker message queues for kommunikasjon mellom komponenter Støttede queueing backends: RabbitMQ, Qpid og ZeroMQ
Red Hat Storage (Gluster) Distribuert lagring Skalerbarhet og hastighet Høy tilgjengelighet Globalt navnerom Elastisk hash-algoritme Elastisk håndtering av volumer Basert på etablerte standarder
Status IaaS-prosjektet De fleste komponenter er installert Unntatt: Heat (orchestraction) Swift (object storage RHSS tilbyr denne) RHSS brukes til Glance (image) Nova (compute) Cinder (block storage) Swift (object storage)
Vi har tatt snarveier Ikke satt opp LDAP med Keystone (identity) Ønsker å bruke SAML2 med Feide, eller UHAD Ikke satt opp autentisering og kryptering for message broker Redundans Neutron (network), Nova (compute) og message broker må ha redundans Controller-tjenester (API etc.) bør ha redundans Database bør ha redundans (vanskelig)
Vår arkitektur
Veien videre Sette opp redundans for det meste Venter på Icehouse for redundans på nettverk Teste redundans Koble Identity mot Feide/SAML2 eller UHAD Mer testing og dokumentasjon av RHSS Arbeid med Foreman for automatisk oppsett av infrastruktur Avklare best practice (nett, storage, compute) Brukertesting Dokumentasjon Ny hardware Gunnartest Produksjon?