Module 8 - Automation Flashcards
What are your options for deploying and managing your application lifecycle?
DIY with CloudFormation
Elastic Beanstalk (orchestrates various AWS services, including EC2, S3, SNS, CloudWatch, autoscaling, and Elastic Load Balancers)
What is IaC?
Infrastructure as Code: the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.
You define a template; use CloudFormation as the engine to process the template.
What is an architecture template?
A JSON or YAML text file that describes and defines the resources to be deployed in your environment, including runtime parameters like instance size.
What is the benefit of IaC?
Repeatability and reusability while building your environments. You can build the same complex environments with one template. (E.g. one change in the template security groups works for all environments). Makes resource maintenance easier, provides consistency, and reduces effort through parallelization.
You can create your template with conditions, so that different AMIs are used for different environments (dev, qa, prod).
What is CloudFormation?
An API wrapper. It translates the template to API requests that form a stack of resources.
What is a CloudFormation stack?
All the resources defined by the template. They are treated as a single unit by CloudFormation. Nested stacks and cross-stack references are possible.
How do you change a stack?
1) Make a modified template
2) Put in new input parameter values
3) Both
Then CloudFormation generates a change set for review. You can make as many change sets as you like to evaluate how each would affect your resources.
Execute the change set you choose. CloudFormation updates your stack.
What are the sections of a CloudFormation template? Which are required?
- Format version
- Transform
- Description
- Metadata
- Parameters
- Mappings
- Conditions
- Resources (required)
- Outputs
What is a layered architecture with regard to CloudFormation?
An architecture that organizes stacks into multiple horizontal layers that build on top of one another.
Each layer has a dependency on the layer directly under it.
You can have 1 or more stacks per layer (but they have to have similar ownership and lifecycles).
What are AWS Solutions Implementations?
Prebuilt reference architectures vetted by AWS. There are 200+ of these. Comes with detailed architecture, a deployment guide, and instructions for automated and manual deployment
What is AWS CDK?
AWS CDK is an open-source software development framework to model and provision your cloud application resources using familiar programming languages (Python, JavaScript, TypeScript, Java, or C#)
What is AWS Systems Manager?
An AWS service that you can use to view and control your infrastructure on AWS. Helps you maintain security and compliance by scanning your managed nodes and reporting on (or taking corrective action on) any policy violations it detects.
A managed node is any machine configured for Systems Manager (EC2, edge devices, on-prem servers and virtual machines (VMs), including VMs in other cloud environments)
Use Systems Manager from the Amazon EC2 console
Why use AWS Systems Manager?
Shortens the time to detect problems Automates tasks to increase efficiency Improves visibility and control Manages hybrid environments (AWS and on-prem) Maintains security and compliance