Useat organisaatiot miettivät tällä hetkellä pilvipalveluihin siirtymistä tai niissä operoimisen hallinnoimista oikealla tavalla. Samaan aikaan kilpailevat innovaatioiden ja kehittämisen nopeus suhteessa pilveen liittyvään hallinnointiin, niin että olennaisimmat huomioitavat seikat tulevat kuntoon. Tällaisia huomioitavia seikkoja ovat muun muassa turvallisuusnäkökohdat, näkyvyys läpi infrastruktuurin sekä jaetut palvelut, joilla organisaation pilvikäyttöä hallinnoida tehokkaasti.
Perusproblematiikka nousee siitä, että joustavuudesta ja kehittämisen nopeudesta ovat useimmiten kiinnostuneet yrityksen sisäiset tai ulkoiset kehittäjät, kun taasen hallinnoinnista IT-osasto tai vastaavat organisaation osat. Uudemmat tuulet kuten DevOps tai DevSecOps pyrkivät yhdistämään näitä näkökulmia jonkin verran, mutta käytännössä organisaation on kuitenkin otettava kantaa molempiin näkökohtiin.
Hallinnoinnin tarve ja innovoinnin nopeus ovat usein kaksi keskenään hieman vastakkaista tavoitetta. Käytännön tasolla esimerkiksi uusien resurssien käyttöönotto pilvessä tulisi olla saumatonta, niin että yksittäinen kehittäjä tai kehittäjäorganisaatio voi ottaa uusia asioita käyttöön pilvessä sillä nopeudella, jolla se on pilvessä mahdollista - käytännössä siis sekunneissa tai minuuteissa. Samoin täytyy olla mahdollista myös poistaa resursseja käytöstä testauksen jälkeen nopeasti ilman, että niihin tehtävät muutokset vaikuttavat johonkin tuotantokuormiin.
Samaan aikaan kuitenkin on hyvä olla suojakaiteita, jotka suojaavat organisaatiota ja kehittäjiä itseään tekemästä vahingossa tai huonossa tapauksessa tarkoituksella valintoja tai testailuja, joilla voi olla esimerkiksi olennaisia kustannus- tai turvallisuusvaikutuksia. Tällainen hallinnoinnin tarve ei saisi kuitenkaan tukahduttaa kehittämisen ja innovoinnin nopeutta, jonka pilvipohjainen ympäristö mahdollistaa. Tasapaino on jotenkin löydettävä, niin että molemmat puolet tulevat huomioiduksi. Käytännön tasolla tämä ei voi myöskään olla manuaalinen prosessi, jossa joku kehittäjätiimin ulkopuolinen henkilö tekee tätä esimerkiksi tiketti-pohjalta vaan prosessi on automatisoitava mahdollisimman pitkälle.
Miten käytännössä voi olla mahdollista ottaa huomioon hallinnoinnin vaatimat operointi- ja turvallisuusnäkökohdat, määräystenmukaisuus (compliance) ja kustannustavoitteet suhteessa ketteryyden vaatimiin nopeaan kokeiluun, muutokseen vastaamiseen ja itsepalvelutavoitteisiin? Seuraavassa esimerkki AWS:stä.
Perustukset suojakaiteille
Eri pilvipalvelutoimittajilla on tarjolla erilaisia ja erikokoisia ratkaisuja, joita ohjaa alla olevan pilven rakenne ja pilven tapa rakentaa esimerkiksi organisaation osien, projektien, pilviresurssien ja kustannusten välistä jaottelua. Mikäli käytettäväksi pilveksi on valittu esimerkiksi Amazon Web Services (AWS), voi sitä käyttöön ottavalle organisaatiolle tulla yllätyksenä, että jaotteluun käytetään pääsääntöisesti useita tilejä (accounts), eikä esimerkiksi jaotteluita tilin sisäisillä rakenteilla.
Esimerkkinä tällaisesta jaottelusta on tilien perustaminen projekteihin (projekti A ja projekti B), ympäristöihin (tuotanto, testaus tai kehitys) tai jopa henkilöihin perustuen, jolloin esimerkiksi jokaiselle kehittäjälle perustetaan oma hiekkalaatikkotili testausta ja kehitystä varten. Tämä on usein hieman vaistonvastaista, mikäli pilvipalveluita käyttävä organisaatio on tottunut siihen, että yritykselle perustetaan yksi tili esimerkiksi IT-osaston toimesta ja sen alla puolestaan perustetaan tarvittavat resurssit.
AWS:n käyttämä useamman tilin strategia voi olla haastavaa toteuttaa alusta lähtien oikein, mikäli aihealue ei ole ennestään tuttu. Miten tilirakenne kannattaisi suunnitella, kun halutaan mahdollistaa kehittämisen nopeus ja ottaa huomioon kuitenkin sellaiset suojakaiteet, jotka suojaavat kehittäjää ja organisaatiota vahingoilta? Toteutuksessa tulisi lisäksi huomioida näkökohdat, jotka ovat organisaation läpi yhteisiä. Tällaisia poikkialaisia näkökohtia ovat muun muassa tietoturvallisuus, näkyvyys läpi organisaation, auditointi, lokien kerääminen sekä käyttäjä- ja käyttöoikeuksienhallinta. Näiden periaatteiden ottaminen huomioon on mahdollista myös myöhemmässä vaiheessa, mutta helpointa asiat on laittaa kuntoon heti pilven käyttöönoton yhteydessä.
Suojakaiteet as a Service: AWS Control Tower
Uusien tilien yhteydessä voidaan AWS:n ollessa kyseessä käyttää Control Tower -palvelua, joka mahdollistaa tilirakenteen luomisen best practice -neuvoja hyödyntäen. Control Tower auttaa tarvittavien tilien luomisessa sekä niihin liittyvän hallinnoinnin mahdollistamisessa.
Käytännössä Control Tower luo organisaatiolle mm. seuraavat rakenteet:
- Tarvittavan organisaatiohierarkian AWS-tilien ja käyttäjien hallintaa varten
- Toiminnallisuudet uusien AWS-tilien luomiseen itsepalveluna
- Käytännöt, joilla automaattisesti kytketään uudet AWS-tilit organisaatiohierarkiaan ja varmistetaan, että AWS-tilit ovat organisaation tietoturvamääritysten mukaisia
- Käyttäjä- ja käyttöoikeushallinnointi kaikkien AWS-tilien yli organisaation kertakirjautumista (Single Sign-On, SSO) hyödyntäen
- Mahdollisuus konfiguroida erilliset, suojatut AWS-tilit, joihin kerätään automaattisesti kaikki loki- ja audit trail -data organisaation käytössä olevista AWS-ympäristöistä
- Organisaation käytössä olevien AWS-tilien verkkokonfiguraatioiden keskitetty hallinnointi
- Kojelautanäkymä organisaation AWS-tilien ja -resurssien tilaan
- Palveluiden keskitetty seuranta, mahdollisuus asettaa notifikaatioita esimerkiksi rajojen ylittyessä tai epänormaaliin toimintaan liittyen
Tähän kuitenkin liittyy koukku, eli Control Tower palvelua ei voida tällä hetkellä ottaa käyttöön olemassa olevilla tileillä, mikä on aiheuttanut harmistusta sen käyttöönottoa miettivissä organisaatioissa. AWS on väläytellyt myös olemassa olevien organisaatioiden tuontia Control Tower -palveluun tulevaisuudessa, mutta tällä hetkellä Control Towerin käyttöönotto vaatii uudet tilit ja tilirakenteet AWS:een.
Control Towerin alla olevat rakenteet kuten organisaatiot, kertakirjautuminen, Service Catalog, CloudFormation, tms. ovat käytettävissä myös vanhoilla tileillä, mutta tällöin rakenteet täytyy tehdä itse eikä niitä saa automatisoidusti Control Towerin kautta. Control Towerin tuottamia infrastruktuuri koodina -rakenteita (Infrastructure as Code, IaC) voidaan kuitenkin käyttää pohjana omille CloudFormation-malleille. Näin vanhoihinkin AWS-organisaatio- ja tilirakenteisiin voidaan alkaa lisäämään hallintaa ja automaatiota. Täydellistä infrastruktuuri koodilla -lähestymistapaa etsivän organisaation kannattaa ehkä kuitenkin harkita ensin esimerkiksi AWS Landing Zone -palvelun käyttöä suoraan.
Control Tower on siis varteenotettava vaihtoehto tilanteissa, jossa uusia tilejä perustetaan AWS:een tai olemassa olevia tilejä ollaan migroimassa uusille tileille. Samaten Control Toweriin tutustuminen voi olla aiheellista myös AWS:ää pidempäänkin käyttäneille organisaatioille, jotka haluavat nähdä AWS:n vaihtoehdon hallinnoinnin ja itsepalvelun mahdollistamiseen.
Jos organisaatiosi on täysin uusi AWS:n käyttäjä, niin Control Towerin kautta luotu rakenne takaa hyvän pohjan AWS-tilien hallinnalle. Control Tower luo käyttöönoton yhteydessä hyvän perusrakenteen organisaatiolle ja mahdollistaa suojakaiteiden, eli tilejä ohjaavien sääntöjen, hyvät oletukset sekä suoraan mahdollistaa käyttöoikeuksien jakamisen keskitetystä hakemistosta eri tilien yli.
Samaten uusien tilien käyttöönotto tietylle organisaation osalle onnistuu Control Towerin käyttöönoton jälkeen itsepalveluperiaatteella muutamalla hiiren klikkauksella. Esimerkiksi vaikkapa niin, että jokainen organisaation kehittäjä voi luoda turvallisen ja hallinnoidun AWS-tilin itselleen itsepalveluperiaatteella. Tämä on mieletön mahdollistaja nopeuden ja ketteryyden suhteen, kun innovointi alkaa tapahtua pilven mahdollistamalla vauhdilla.
Control Tower käyttöön!
Control Towerin käyttöönotto alkaa määrittelemällä organisaation perustiedot AWS:n hallintakonsolin kautta. Tämän jälkeen Control Tower luo useita käyttöä helpottavia rakenteita valmiiksi.
Rakenteista tärkein lienee tilirakenne, jossa on jaetut tilit lokeja ja auditointia varten sekä master-tili, joka omistaa Control Towerin. Oheisessa kuvassa on luotu myös muutama lisätili, joita voitaisiin käyttää esimerkiksi kehittäjien hiekkalaatikkotileinä.
Control Tower luo myös perusteet organisaatiorakenteelle, joissa kullakin voi olla käytössä eri määrä suojakaiteita tarpeen mukaan. Core- ja Root- organisaation osat on tarkoitettu Control Towerin hallinnoimien jaettujen tilien käyttöön, joihin kuuluu esimerkiksi jaettu tili lokeja varten.
Suojakaiteita voi ottaa käyttöön eri organisaation osissa sen mukaan, mitkä ovat kyseisille alitileille tarpeellisia. Tällainen hyödyllinen varmistus on esimerkiksi, ettei tietyille alitileille sallita käyttäjiä, joilla ei ole kaksivaiheinen tunnistautuminen (MFA) käytössä.
Osa suojakaiteista on kuitenkin sellaisia, että ne olisi suotavaa olla käytössä kaikille tileille, joten ne ovat oletuksena päällä organisaatiorakenteen osasta riippumatta. Hyvä esimerkki tällaisesta suojakaiteesta on varmistus, ettei alitileiltä voida poistaa konfiguraatiomuutosten auditointia vahingossa tai tahallisesti. Oheisessa kuvassa tällaisia suojakaiteita on kategorisoitu Control Towerissa Mandatory -kategorian alle.
Uuden alitilin luonti organisaatiorakenteeseen puolestaan onnistuu käyttämällä tiliautomaattia (Account Factory). Tämän tuotteen Control Tower luo automaattisesti AWS:n Service Catalog -palveluun ja se on tämän jälkeen organisaatiossa käytettävissä niillä henkilöillä, joille tarvittavat oikeudet on annettu.
Hallinnoitujen ja AWS:n parhaiden käytäntöjen mukaisten alitilien luominen on tiliautomaatilla hyvin helppoa, tilien luomisessa tarvitsee antaa vain muutaman perustiedon, ja Control Tower hoitaa lopun.
Control Toweriin kannattaa ehdottomasti tutustua, mikäli mietit AWS-ympäristön fiksua hallinnointia. Tutustuminen on ehdottoman arvokasta myös siinä tapauksessa, että käytössäsi on jo useita AWS-tilejä. Control Towerin tuottamia rakenteita tutkimalla saa hyvän käsityksen siitä, miten rakentaa tuottavuutta ottaen kuitenkin suojakaiteet huomioon.
NordHero auttaa sinua AWS:n kanssa, olitpa sitten ottamassa käyttöön Control Toweria tai hakemassa parhaita käytäntöjä pilven hallintaan muilla keinoin!