Deployments & Managing Infrastructure at Scale Flashcards
What is CloudFormation?
CloudFormation is a declarative way of outlining your AWS Infra, for any resources.
CloudFormation will auto create resources for you, in the right order, with the exact configs that you specified.
What are the benefits of Cloud Formation?
Infrastructure as Code - Resources are not manually created which is great for control.
Predictable Cost - You can estimate costs of resources based on your template. Once created, each resource in the stack is tagged so you can see how much the stack costs.
Savings - You can schedule a stack to be created/deleted in dev to save costs.
Productivity - Ability to destroy/create on the fly
Don’t reinvent the wheel - leverage existing templates and docs
What is Cloud Formation Stack Designer?
Is a visual digram that shows all resources and the relations between components.
What is Beanstalk?
It is a PaaS that allows a developer centric view of deploying applications on AWS.
Uses all the same components of Infra (EC2, ASG, ELB, RDS…), but it’s all in one view that’s easy to make sense of!
You still have a view of all individual components.
What are the three architecture models offered by Beanstalk?
Single Instance = for dev
LB + ASG = for prod or pre prod web apps
ASG only = for non web apps in prod
How can you monitor the health of your deployments on Beanstalk?
Beanstalk does have a full monitoring suite
A health agent is on each EC2 instance and is pushed to CloudWatch. You can view these metrics in Beanstalk.
What is the difference between Beanstalk and CloudFormation?
CloudFormation is used to deploy infra as code (doesn’t have to be an application or EC2).
Beanstalk is a code centric view where you need to upload your code and then Beanstalk will figure out how to run your code. It is more application focused.
What is AWS CodeDeploy?
Allows developers to deploy an application from v1 to v2 automatically.
It is a hybrid service that works both with EC2 as well as On-Premise.
Servers/Instances must be provisioned and configured ahead of time.
What is AWS CodeCommit?
AWS’s git repository (competitor to GitHub).
What is AWS CodeBuild?
Allows you to build code in the cloud.
Compiles source code from CodeCommit, runs scripts to test and produces packages that are ready to be deployed.
What is AWS CodePipeline?
Allows you to orchestrate the different steps to have code automatically pushed to production.
Basis for Continuous Integration and Continuous Delivery.
What is AWS CodeArtifact?
A secure, scalable, and cost-effective artefact management for software development. Stores code dependencies.
What is AWS CodeStar?
A unified UI to easily manage software deployment activities in one place.
It is a “quick way” to correctly set up CodeCommit, CodePipeline, CodeBuild, CodeDeploy, etc.
What is AWS Cloud9?
Cloud9 is a Cloud IDE or web based (browser) code editor.
Allows you to work on your projects anywhere you have internet access, and collaborate with teammates (think GoogleDocs).
What is AWS SSM?
SSM = Systems Manager
Hybrid AWS service that allows you to get operational insights into the state of your infrastructure.