
Wat is AWS CloudFormation?
AWS CloudFormation is een robuuste infrastructure as code tool die kan helpen bij het automatiseren en beheren van implementaties van AWS. CloudFormation templates kunnen naast JSON, ook met YAML gecreëerd worden.
Gebruikers kunnen bovendien AWS CloudFormation Designer gebruiken om templates visueel te presenteren en de onderlinge dependencies van de resources te bekijken.

Het is gewoon code
Door het programmeren van de infrastructuur kunnen gebruikers de infrastructuur als normale code benaderen. CloudFormation hanteert een declaratieve benadering van de configuratie, wat betekent dat gebruikers aangeven hoe de gewenste omgeving eruit ziet en CloudFormation de rest doet.
Tijdens dit configuratieproces beheert CloudFormation automatisch de dependancies tussen de resources. Hierdoor hoeft de volgorde niet te worden opgegeven waarin de resources worden aangemaakt, bijgewerkt of verwijderd. CloudFormation bepaalt automatisch de juiste volgorde van acties om een omgeving op te zetten.

Minder stress tijdens implementaties
Soms kan het bijwerken van de infra stack zorgen voor spanning, omdat niet zeker is welke veranderingen de omgeving kunnen aantasten. CloudFormation Change Sets maken het mogelijk om te zien welke impact jouw resources zullen hebben, voordat er wijzigingen worden doorgevoerd. Pas nadat de Change Set is voltooid, zal de stack aangepast worden.
Zelfs als je een Change Set uitvoert die fouten bevat, bevat CloudFormation zogenaamde Rollback Triggers. Hiermee verschaft CloudFormation gebruikers de mogelijkheid om de voortgang van het implementatie- of updateproces van de stack te controleren, en waar mogelijk een omgeving terug te brengen naar een eerdere versie. CloudFormation ondersteunt vele AWS -services.

Creëer een eenvoudig CloudFormation template om een S3-Bucket aan te maken
#Voorbeeld van een template van CloudFormation om een S3 bucket aan te maken:
{
“AWSTemplateFormatVersion” : “2019-08-04”,
“Description” : “Create a S3 Bucket called MyBucket”,
“Resources” : {
“bucket1”: {
“Type”: “AWS::S3::Bucket”,
“Properties”: {
“BucketName”: “AxxiusBucket”
}
}
}
}