Kysy konsultilta: Miten infra-komponentit kannattaa jakaa stack:eihin CDK:ssa?

13. marraskuuta 2023

Miten infra-komponentit kannattaa jakaa stack:eihin CDK:ssa?

Kuten moni muukin asia, riippuu se pitkälti siitä, miten toteutus halutaan tehdä.


Moni voisi ajatella, että samaan stackiin olisi hyvä määritellä toisistaan suoraan riippuvaiset komponentit, jotka eivät voi toimia ilman toisiaan. Tällä tavalla omasta mielestäni stackin ja stagen merkitys kuitenkin sekoittuu ja lopulta kaikki komponentit voivat päätyä samaan stackiin. Pienemmissä kokonaisuuksissa tämä ei ole välttämättä ongelma, mutta yhtään isomman järjestelmän kanssa koodi voi puuroutua ja deployment muuttua hankalammaksi.


Itse suosimani tapa määritellä komponentit on eritellä infra häilyvään ja pysyvään infraan. Pysyvä infra on tyypillisesti sellaista, jota ei missään tapauksessa saa poistaa ja joka säilöö dataa kuten Dynamo ja S3. Häilyvä infra voidaan poistaa ja deployata uudelleen ilman ongelmia, kuten Lambda ja API Gateway. Tämän erottelun jälkeen jokaiselle pysyvälle infralle voidaan tehdä oma stack. Häilyvää infraa voi määritellä samassakin stackissa, jos komponentit ovat suoraan toisistaan riippuvaisia. Esimerkiksi API Gateway ja sen taustalla pyörivät Lambdat voivat hyvin olla samassa stackissa.


Infran määrittely on kuitenkin aina tapauskohtaista ja on hyvä muistaa myös tiimissä yhteisesti sovitut konventiot.


Timo Laakso

Senior Consultant

Viimeisimmät kirjoitukset

AWS DevOps Agent
8. joulukuuta 2025
AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.
4. joulukuuta 2025
AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.
24. marraskuuta 2025
Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions.
18. kesäkuuta 2025
Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan.
Lisää kirjoituksia