Week 15
Infrastructure as Code
Friday, December 8, 2017
Cloud systems are complex and with numerous components and relationships
How do you manage these components over time?
https://www.slideshare.net/AmazonWebServices/deep-dive-aws-cloudformation
How do you manage these components over time?
AWS Management Console?
https://www.slideshare.net/AmazonWebServices/deep-dive-aws-cloudformation
How do you manage these components over time?
AWS CLI? Boto3 scripts?
https://www.slideshare.net/AmazonWebServices/deep-dive-aws-cloudformation
How do you manage these components over time?
Need a smart configuration tool
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
MyEC2Instance:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-2f726546"
InstanceType: t1.micro
KeyName: testkey
BlockDeviceMappings:
-
DeviceName: /dev/sdm
Ebs:
VolumeType: io1
Iops: 200
DeleteOnTermination: false
VolumeSize: 20
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "A sample template",
"Resources": {
"MyEC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-2f726546",
"InstanceType": "t1.micro",
"KeyName": "testkey",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sdm",
"Ebs": {
"VolumeType": "io1",
"Iops": 200,
"DeleteOnTermination": false,
"VolumeSize": 20
}
}
]
}
}
}
}
CloudFormation is critical here, so that:
Networking
Compute
Data
Infrastructure Management
Networking
Compute
Data
Infrastructure Management
Lots of great resources: