Ominaisuudet

1.1. Compute (Nova)

Compute -moduuli on alustan ydin, jolla hallitaan palvelimia (instances) ja verkkoja.

Palvelimet sijaitsevat fyysisesti jommalla kummalla kahdesta eri saatavuusalueesta (Availability zone). Kukin palvelin perustuu mallipohjaan (Flavor) jotka ovat ennalta määritettyjä palvelinkonfiguraatioita. Palvelimen voi skaalata joko alas- tai ylöspäin annettujen konfiguraatiopohjien puitteissa.

Ilmaisen kokeilujakson (FREE-TIER) resurssit on suunniteltu kokeilukäyttöön. Näiden instanssien suorituskyky on tarkoitettu testaamiseen, eikä niiden suorituskyky kuvaa Pilven todellista suorituskykyä. Kokeilujaksopalvelinten verkkoliikenteen määrä ja levy-IO on rajoitettu kapasiteetin turvaamiseksi.

 

NIMI KOKOONPANO VERKON NOPEUS (Mb/s)
NBL-FREE-TIER 1 CPU 768MB, 32 Gt järjestelmälevyä 10
NBL-N1-TINY 1 CPU, 1Gt, 8Gt järjestelmälevyä 100
NBL-N1-SMALL 1 CPU, 2Gt, 32Gt järjestelmälevyä 200
NBL-N1-MEDIUM 2 CPU, 4Gt, 50Gt järjestelmälevyä 200
NBL-N1-LARGE 4 CPU, 8Gt, 100Gt järjestelmälevyä 500
NBL-N1-XLARGE 8 CPU, 16Gt, 100Gt järjestelmälevyä 1000
NBL-N1-2XLARGE 16 CPU, 32Gt, 150Gt järjestelmälevyä 1500
NBL-M1-SMALL 1 CPU, 4Gt, 50Gt järjestelmälevyä 200
NBL-M1-MEDIUM 2 CPU, 8Gt, 50Gt järjestelmälevyä 500
NBL-M1-LARGE 4 CPU, 16Gt, 100Gt järjestelmälevyä 1000
NBL-M1-XLARGE 8 CPU, 32Gt, 150Gt järjestelmälevyä 1500
NBL-M1-2XLARGE 16 CPU, 64Gt, 200Gt järjestelmälevyä 2000
NBL-HM1-LARGE 2 CPU, 16Gt, 100Gt järjestelmälevyä 1000
NBL-HM1-XLARGE 4 CPU, 32Gt, 150Gt järjestelmälevyä 1500
NBL-HM1-2XLARGE 8 CPU, 64Gt, 200Gt järjestelmälevyä 2000
NBL-HM1-4XLARGE 16 CPU, 128Gt, 300Gt järjestelmälevyä 2000

 

Oletuksena palvelimen käyttöjärjestelmä asennetaan paikalliselle levylle, joka ei ole pysyvää levytilaa. Tämä tarkoittaa sitä, että palvelimen tiedot säilyvät esim. uudelleen käynnistyksen yhteydessä, mutta palvelimen poistamisen yhteydessä kaikki sinne tallennetut tiedot häviävät. Pysyvämpään tarpeeseen kannattaa pitää tiedostot erillisellä massamuistilla (Volume), joka voidaan tarvittaessa liittää toiseen palvelimeen.

 

 

Imaget (Levykuvat)

Palvelussa on tarjolla useita valmiita levykuvia eri käyttöjärjestelmillä varustettuna. Voit valita halutun levykuvan palvelimen luontivaiheessa.

 

KÄYTTÖJÄRJESTELMÄ VARAA TILAA JÄRJESTELMÄLEVYLTÄ
CentOS 6 (x86_64) 1.1 GB
CentOS 7 (x86_64) 326.7 MB
Debian 7 (amd64) 997.3 MB
Ubuntu 12.04 (LTS amd64) 249.4 MB
Ubuntu 14.04 (LTS amd64) 244.0 MB
Windows Server 2008 (R2 Datacenter 64-bit) 17.2 GB
Windows Server 2012 (R2 Std 64-bit) 11.6 GB

Palveluun on myös mahdollisuus tuoda omia levykuvia.

 

 

1.2. Levytila (Cinder)

Pysyvämpää levytilan tarvetta varten voidaan tiedot tallentaa levytilaan (Volumes). Levytila on palvelimesta riippumaton levyosio, toisin kuin palvelimen oma paikallinen levytila.

Levytila voidaan luoda käyttäen hallintapaneelia tai API-rajapintaa. Levytilan kokoa rajoittaa ainoastaan palveluun hankittu kokonaiskapasiteetti (Quota) ja aiemmin käytetty levyn määrä. Kun levy luodaan ensimmäisen kerran, se on tyhjä levy ilman osioita tai tiedostojärjestelmää. Levy pitää ensin liittää palvelimeen (Attach) jotta se voidaan alustaa käyttöön, ja vielä sen jälkeen liittää käyttöjärjestelmään (Mount) jotta sille voi tallentaa tiedostoja.

Levyn voi liittää vain yhteen palvelimeen kerrallaan. Levy voidaan kuitenkin irrottaa palvelimelta ja liittää toiseen palvelimeen.

Levytila on käytettävissä vain yhden saatavuusalueen sisällä.

Pysyvää, staattista tietoa voidaan tallentaa myös käyttäen Object storage-tallennustilaa.

 

NIMI PAIKALLINEN LEVY MASSAMUISTI (Volumes) OBJECT STORAGE
Käyttötarkoitus Käyttöjärjestelmä Pysyvä tallennustarve Staattinen tallennustarve (Varmuuskopiot, kuvat, arkisto)
Käyttö Tiedostojärjestelmä Massamuisti REST API
Saatavuus Palvelimen sisällä Palvelimen sisällä Mistä tahansa
Säilyy kunnes Palvelin poistetaan Käyttäjä poistaa Käyttäjä poistaa
Koko Palvelinkonfiguraation (flavor) määrittämä Käyttäjän määrittämä Rajaton

 

 

Cloud 9 sisältää kolmea erityyppistä levypintaa:

 

LEVYN TYYPPI FYYSINEN LEVY KÄYTTÖTARKOITUS SUORITUSKYKY
LTK-SSD SSD Tietokanta, sovellusvälimuisti 50000 IOPS luku / 13000 IOPS kirjoitus / Siirto 300 Mt/s
LTK-SAS NL-SAS Sovellukset, staattinen data 3000 IOPS luku / 3000 IOPS kirjoitus / Siirto 150 Mt/s
LTK-ARK SATA Arkisto,staattinen data, varmuuskopiot 1500 IOPS luku / 1500 IOPS kirjoitus / Siirto 100 Mt/s

 

 

1.2.1. Tilannekuvat (Snapshot)

Levyn tilannekuva on kopio levyn tilanteesta annettuna aikana. Yleisesti tilannekuva saatetaan ottaa jotta voidaan luoda uusi samanlainen levytila.

Levykuvaan tallentuu tiedostojärjestelmän nykyinen tila, mutta ei muistin tila.

Huomaathan, että levykuvaa ei kannata käyttää varmuuskopiona, sillä se tallentuu samalle fyysiselle laitteelle kuin missä lähdelevy on. Siitä voi olla apua palautustilanteessa esim. inhimillisen virheen jälkeen, mutta ei fyysisen laitevian kohdatessa.

 

1.3. Verkkojen hallinta (Neutron)

Neutron on alustan verkkojenhallintamoduuli, “networking as a service”. Sillä voidaan luoda virtualisoitu verkkoinfrastruktuuri, sisältäen verkkoja, reitittimiä ja palomuureja. Palvelimet ovat yhteydessä verkkoihin, jotka käyttävät sisäverkon IP-osoitteita, jotka voit itse määrittää. Reitittimiä käytetään tilanteessa jossa palvelinten on saatava yhteys ulkomaailmaan julkiseen Internetiin. Järjestelmän ulkopuolelta palvelimille pääsee käyttäen julkisia IP-osoitteita (floating IP addresses). Liikenteen rajoittamiseksi verkon tasolla voidaan käyttää palomuuria.

Nebula Pilven sisällä palvelinten tulee viitata toisiinsa vain sisäisillä ip-osoitteilla. Näin varmistetaan, että palvelun sisäinen liikenne pysyy virtuaalisen verkon sisällä.

 

1.4. Object Storage (Ceph)

Object storage on skaalautuvaa objektipohjaista tallennustilaa johon tallentuu sekä objektien konteksti (metadata) ja sisältö. Objektit ja tiedostot kirjoitetaan usealle fyysiselle levylle jotka on hajautettu palvelinkeskukseen. Siten jos yhdessä palvelimessa tapahtuu vikatilanne, sen sisältö replikoituu toisilta aktiivisilta palvelimilta uusiin sijainteihin levyklusterissa. Object storageen on olemassa OpenStack Swift ja Amazon S3 -yhteensopivat rajapinnat. Myös hallintapaneelista voi muokata hakemistoja (Containers) ja niiden sisältämiä objekteja.


OPENSTACK SWIFT

AMAZON S3


Kaikki Cloud 9 Object Storage -tallennustilaan tallennettu data on hajautettu vähintään kahteen saatavuusalueeseen (Availability zone).

Object Storage -hakemistojen (Container) nimet ovat uniikkeja asiakkaiden kesken. Mikäli yrität luoda hakemistoa järjestelmässä jo olemassa olevalla nimellä, et voi luoda sitä vaan saat virheilmoituksen.

Tekniset rajat ja koodit

Yleistä

  • Tasaisen suorituskyvyn takaamiseksi on LTK-OBJ palvelun suorituskyky rajattu / client
  • Rajoitin on operaatiopohjainen (GET,PUT jne) ja vaihtelee operaatiotyypeittäin. 
  • Rajoitin on lähdekohtainen.
  • Clientille päin välitetään rajoittimen tila requestin response headerien mukana 

Esimerkkinä GET request:

X-Ratelimit-Bucket:obj-general-limit
X-Ratelimit-Limit:500
X-Ratelimit-Remaining:497
X-Ratelimit-Reset:1447861054

Selitykset lyhyesti:

X-RateLimit-Reset: Unix timestamp when the rate limit counter will be reset
X-RateLimit-Limit: The total number of requests allowed in a time period
X-RateLimit-Remaining: Number of requests that can be made until the reset time
X-RateLimit-Bucket: Name of the limit hit

Jos aikaikkunan sisällä limitin sallimat requestit loppuvat kesken alkaa client saamaan 429 "Too many requests" paluukoodia. Näiden headereiden avulla älykäs ohjelma voi seurailla miltä limitti milloinkin näyttää ja milloin siihen osutaan ja tämän perusteella sitten throttlettaa/odottaa tilanteen vaatimalla tavalla.

Rajoitukset suorituskyky

  • PUT operaatioille 100 uutta operaatiota / 5 sekuntia / lähde. 
  • GET operaatioille 500 operaatiota / 10 sekuntia / lähde.

Suorituskyky

- 1 MB operaatioilla noin 20 MB/s (~160 Mbps)
- 5 MB operaatioilla noin 100 MB/s (~800 Mbps)

PUT operaation koon kasvaessa suorituskyky (Mb/s) kasvaa. Vastaavasti pienillä PUT operaatioilla suorituskyky (Mb/s) laskee.

Muut rajoitukset

  • Enintään 500 000 objektia / container

 

 

1.5. Hallintapaneeli (Horizon)

Horizon on selainpohjainen hallintapaneeli, jota voidaan käyttää palvelun hallintaan. Se sisältää helppokäyttöisen käyttöliittymän palvelun eri moduulien hallintaan ja sisältää seuraavat ominaisuudet:

  • Palvelinten luominen ja hallinta
  • SSH-avainten luominen ja hallinta
  • Levypinnan hallinta
  • Levykuvien hallinta
  • Turvamääritysten hallinta
  • Verkkojen, reitittimien ja palomuurien hallinta
  • Object storage -hakemistojen ja objektien hallinta

 

 

1.6. Saatavuusalueet (Availability zones)

Cloud 9 sijaitsee useissa fyysisissä sijainneissa, jotka on eristetty toisistaan. Palvelussa näitä kutsutaan saatavuusalueiksi (Availability Zones). Jokainen saatavuusalue on sijoitettu erilliseen Nebulan palvelinkeskukseen, joilla on toisistaan riippumattomat resurssit ja komponentit. Palvelinkeskuksilla on omat virtalähteet, UPS-järjestelmät ja automaattiset varavirtakoneet.

 

SAATAVUUSALUE SIJAINTI
Helsinki-1 Helsinki, Lauttasaari
Helsinki-2 Helsinki, Pitäjänmäki

 

 

Palvelinkeskuksen vikaantuminen on harvinaista mutta mahdollista. Jos käytössä olevat palvelimet ja sovellukset on rakennettu vain yhden, vikaantuneen saatavuusalueen sisälle, mitkään palvelimista eivät ole saatavilla. Siksi on tärkeää rakentaa palvelimet ja ympäristön arkkitehtuuri hajautetusti molempiin saatavuusalueisiin. Myös yksittäisten komponenttien kuten verkkolaitteiden tai isäntäpalvelimien vikatilanteet ovat mahdollisia. Mahdollisten laitevikojen vaikutuksilta voi välttyä hajauttamalla palvelut useampaan saatavuusalueeseen.

Kaikki verkkoliikenne saatavuusalueiden välillä kulkee Nebulan omaa huippunopeaa runkoverkkoa pitkin. 

 

MODUULI RESURSSI SIJAINTI
Compute Palvelimet Yksittäinen saatavuusalue
Volumes LTK-SSD, SAS, ARK Yksittäinen saatavuusalue
Network Julkiset IP-osoitteet Yksittäinen saatavuusalue
Palvelun sisäiset verkot Useita saatavuusalueita
Object storage Objektiperusteinen tallennustila Useita saatavuusalueita *

* Objekteista on kolme kopiota, yksi kopio toisella saatavuusalueella.

 

Koska tiedostoja (poislukien Object Storage) ei replikoida saatavuusalueiden välillä, on tärkeää rakentaa ympäristö eri saatavuusalueille ja tehdä replikointi palvelimilla, esim. tietokantareplikointi tai hajautettu tiedostojärjestelmä.

Kaikki palvelun hallintaan liittyvät elementit, mm. avainten hallinta, rajapinnat sekä käyttöliittymä sijaitsevat aina useammalla saatavuusalueella.

Kaikki Cloud 9 palveluun tallennettu sisältö on sijoitettuna ainoastaan Nebulan omiin palvelinkeskuksiin.

 

 

1.7. Turvamääritykset (Security groups)

Security group, turvamääritykset, tarkoittaa virtuaalista palomuuria joka kontrolloi verkkoliikennettä sekä lähtevää että saapuvaa liikennettä palvelimella. Saapuvasta liikenteestä käytetään termiä ingress ja lähtevää liikennettä kutsutaan termillä egress. Oletuksena palvelussa on turvamääritys joka estää kaiken sisäänpäin tulevan liikenteen. Turvamäärityksiä voi luoda useampia ja jokaiseen määritykseen voi luoda sääntöjä, joilla voi hallita yksittäisiin palvelimiin kohdistuvaa liikennettä.


HUOM! Turvamäärityssääntöjen määrä on rajoitettu!