Oikeusrekisterikeskuksen pilviperustan kehitys ja implementointi – AWS Landing Zone Accelerator (LZA)
Oikeusrekisterikeskuksen (ORK) pilvimatka alkoi toukokuussa 2023. Pilvimatkan tavoitteena on siirtää tietojärjestelmien testi- ja kehitysympäristön työkuormat konesaleista julkipilveen vuoteen 2025 mennessä ja rakentaa kyvykkyyttä ajaa myös tuotantoympäristöjä pilvessä. ORK:lla oli jo entuudestaan työkuormia pilvessä, sekä AWS:ssä että Azuressa, eivätkä nämä ympäristöt olleet ORK:n omassa hallinnassa. ORK päätti jo projektin alkuvaiheessa että nykyiset sekä tulevat työkuormat siirretään omiin ympäristöihin, ja näillä toimin saavutetaan pilvikapasiteettien hallittavuutta ja tietoturvaa. Tässä julkaisussa keskitytään AWS:ään ja sen ympäristön rakentamiseen, mutta ei kuitenkaan teknisestä näkökulmasta vaan pilviperustan kehittämisen näkökulmasta. Mikäli haluat tutustua LZA:han teknisestä kulmasta, näistä linkeistä on hyvä aloittaa:
- AWS Landing Zone Accelerator - Overview
- AWS Landing Zone Accelerator - Documentation
- Landing Zone Accelerator on GitHub
Omaan AWS- organisaatioon siirtyminen vaatii suunnittelua ja kehittämistä. Siirtyminen perinteisestä konesalista pilveen tuo uusien mahdollisuuksien mukana myös haasteita. Jotta ympäristö olisi turvallinen ja helposti ylläpidettävä, siihen on rakennettava pilviperusta, joka nimensä mukaan toimii perustana kaikkiin resursseihin. Pilviperustaan kuuluu muun muassa lokitus, tietoturvan hallinta ja automatisointi. Pilviperustalla toteutetaan edellä mainittuja yhteisiä palveluita tietojärjestelmille, jotka siirtyvät ORK:n AWS- organisaatioon ja varmistetaan näiden järjestelmien vaatimustenmukaisuus pilvessä. Pilviperustaksi valikoitui AWS:n kehittämä Landing Zone Accelerator (LZA).
LZA on avoimeen lähdekoodiin perustuva ratkaisu, jota AWS kehittää ja ylläpitää. Ratkaisu on jaettu kahteen osaan, taustajärjestelmään ja asiakaskohtaiseen konfiguraatioon. Taustajärjestelmä on AWS:n vastuulla, kun taas konfiguraatiot ovat asiakkaan vastuulla. Tämä jako mahdollistaa sen, että AWS pystyy jatkuvasti kehittämään ja päivittämään omaa ratkaisua ilman vaikutuksia asiakkaiden pilviympäristöihin. Kuten yleisesti tiedetään, päivitykset ovat herkkiä virheille, ja siksi riskienhallinnan täytyy toimia. Edellä mainitusta syystä, ORK:lla otettiin kaksi ympäristöä käyttöön; testi- ja tuotantoympäristöt. LZA:n päivitys ajetaan ensin testiympäristöön, jossa varmistutaan päivityksen toimivuudesta. Onnistuneen testauksen (=päivityksen toimivuus) jälkeen päivitys tuodaan tuotanto-organisaatioon.
LZA:n käyttöönotto on yksinkertaista. Tähän tarvitaan AWS organisaatio ja osaamista pilvestä. Ratkaisun voi asentaa niin ikään uuteen organisaatioon kuin olemassa olevaankin organisaatioon, jossa on jo resursseja. ORK:n organisaatio oli tässä tapauksessa uusi. Taustalla LZA hyödyntää pilvitarjoajan palvelut AWS Organizations ja AWS Control Tower. Jälkimmäinen palvelu ei ole pakollinen, mutta on vahvasti suositeltu, varsinkin jos kyseessä on uusi organisaatio. Itse asentaminen vaatii vain yhden Cloudformation templaten asentamista Management tilille (tai LZA dedikoidulle tilille), ja LZA hoitaa loput. On kuitenkin huomioitavaa, että ensimmäinen versio on todella yksinkertainen ja tähän päälle pitää rakentaa haluttuja ominaisuuksia.
Ominaisuuksia LZA:han rakennetaan käyttämällä YAML konfiguraatiotiedostoja. Eli kyseessä on ns. “low-code” ratkaisu. Kehittäjällä ei tarvitse olla osaamista koodauksesta, mutta siitä on hyötyä. Sen sijaan AWS:stä on oltava syvää ymmärrystä ja kokemusta, jotta ymmärtää mitä on asentamassa ja miten palvelut toimivat. Asiakkaille on käytössä kahdeksan YAML tiedostoa, joihin voi määrittää ne palvelut, joita halutaan ottaa käyttöön. Tällä hetkellä LZA tukee jo yli 35 palvelua. Ei-tuettuja käyttötapauksia on mahdollista ottaa käyttöön asentamalla Cloudformation templateja osaksi ratkaisua, vaikka ne eivät olisi LZA:ssa tuettuja. Tämä tarkoittaa käytännössä sitä, että melkein kaikki on mahdollista toteuttaa LZA:n kautta. ORK päätti ottaa kuitenkin joitain (sellaisia, joita ei tueta LZA:ssa) palveluita käyttöön hyödyntäen “click-ops” -mallia AWS Consolen kautta. Syy tähän oli, että näihin palveluihin ei ollut API kutsuja olemassa (eli ei myöskään Cloudformation tukea), tai että palvelu oli huomattavasti helpompi ottaa käyttöön click-opsilla. Näihin palveluihin kuului mm. Inspector ja Firewall Manager.
ORK:n matka LZA:n kanssa alkoi joulukuussa 2023, ja vakaa perusta saavutettiin toukokuussa 2024. Uuteen organisaatioon on tuotu yksi järjestelmä, ja suunnittelupöydällä on monta lisää. Pilvihanke ei kuitenkaan ole ollut täysin tekninen, vaan ORK on samalla kehittänyt omia sisäisiä prosesseja liittyen pilveen. Tekninen ratkaisu ja prosessit ovat tukeneet toisiaan, ja koska pilviperusta on omissa käsissä, pystyy ORK toteuttamaan juuri sellaisen perustan, kuin itse haluavat ja tarvitsevat.
Hyvät puolet
AWS:n kehittämän ratkaisun parhaimpiin puoliin kuuluu sen helppous ja nopeus. Perusversion LZA:sta saa käyttöön muutamassa tunnissa, ja siinä vaiheessa asiakkaalla on jo peruslokitukset, tilien hallinta jne. käytössä. Pilviperustan kehittämiseen nollasta voi helposti mennä vuosia, mutta LZA:n avulla ORK saavutti vakaan perustan viidessä kuukaudessa. Mikäli aloittaisiin projektia uudestaan, tähän menisi vain murto-osa ajasta, kun ymmärtää miten LZA toimii ja millaisia sudenkuoppia löytyy.
Koska kaikki konfiguraatio tapahtuu muutamassa konfiguraatiotiedostossa, on myös helppoa ymmärtää, miten asiat on tehty, ja tulevaisuudessa muut kehittäjät pystyvät jatkamaan kehittämistä ja ylläpitoa.
Huonot puolet
Kaikesta huolimatta, mikään ratkaisu ei ole täydellinen. Ei edes LZA. Kaksi isointa haastetta projektin aikana olivat dokumentaatio sekä kehittäjäkokemus.
Dokumentaatiota löytyy paljon, ja siitä on myös paljon apua. Kokemuksemme mukaan siinä oli kuitenkin myös paljon virheitä, tai joidenkin palveluiden kohdalla ei saatavilla dokumentaatiota ollenkaan. Projektin aikana ORK:lla oli kuitenkin AWS:n tuki, joten oli helppoa kysyä apua ja neuvoja.
Projektin alussa, kun kehitys on nopeampaa, isompana hidasteena oli LZA:n automatisoidut putket (pipelines). Kaikki muutokset menevät aina putken läpi, jossa resurssit asennetaan. Tämä putki on valitettavan hidas, ja kestää aina noin tunti tehdä muutoksia. Tämä ei kuitenkaan ole ongelma ylläpitovaiheessa. Päinvastoin, on erittäin tervetullutta, että putki tarkistaa koodin virheiden varalta.
Kaiken kaikkiaan tämän projektin läpivieminen ja ORK:n pilvimatkan toteutus tähän saakka on onnistunut odotusten mukaisesti. Tästä on hyvä jatkaa!
Get in Touch.
Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.