Molemmat ovat AWS:n tarjoamia IaC (Infrastructure as Code) työkaluja, joista CDK (Cloud Development Kit) on uudempi. CloudFormation on alemman tason työkalu, millä voi kirjoittaa infraresursseja deklaratiivisesti JSON- tai YAML-formaatissa. CDK taas on korkeamman tason työkalu, millä infraa voi kirjoittaa samoilla tutuilla ohjelmointikielillä kuin sovelluskoodia, kuten TypeScript, Python, Java ja .NET.
CloudFormationissa jokainen luotava infraresurssi täytyy määritellä erikseen, mikä on aikaa vievää, mutta selkeää. CDK tarjoaa avuksi valmiita komponentteja, joiden avulla pystyy luomaan yksittäisiä resursseja tai isompiakin kokonaisuuksia nopeasti pienemmällä määrällä koodia. Omia uudelleenkäytettäviä komponentteja voidaan myös toteuttaa ja jakaa eri tiimien käyttöön. Myös CDK käännetään (tai syntetisoidaan) lopulta CloudFormation-muotoon käyttöönottovaiheessa, minkä takia CloudFormationin tunteminen auttaa ymmärtämään myös mitä CDK tekee.
Mika Catani
Senior Consultant