Deployments & Managing Infrastructure at Scale Flashcards
What is CloudFormation?
A declarative way of outlining your AWS Infrastructure, for any resources (most of them are supported).
Then CloudFormation creates those for you in the right order with the exact configuration that you specify
What are the benefits of AWS CloudFormation?
- No resources are manually created, which is excellent for control
- Changes to infrastructure are reviewed through code
- Each resource within the stack is tagged with an identifier so you can easily see how much a stack cost you
- You can estimate the costs of your resources using the CloudFormation template
- Savings strategy: In Dev, you could automation deletion of templates at 5PM and recreate at 8AM, safely
- Ability to destroy and re-create an infrastructure on the cloud on the fly
- Automated generation of Diagram for your templates
- Declarative programming (no need to figure out ordering and orchestration)
- Leverage existing templates on the web
- Leverage the documentation
- You can use ‘custom resources’ for resources that are not supported
What is CloudFormation Stack Designer?
A graphic tool for creating, viewing, and modifying AWS CloudFormation templates.
What is AWS Cloud Development Kit (CDK)?
Lets you define your cloud infrastructure using a familiar language. Code is then compiled into a CloudFormationTemplate(JSON/YAML)
What is AWS Elastic Beanstalk?
A developer centric view of deploying an application on AWS. Beanstalk = Platform as a Service (PaaS)
How much does Beanstalk cost?
It is free, though its underlying services are not.
What does AWS do for you with Elastic Beanstalk since it is a managed service?
- Instance configuration / OS is handled
- Deployment strategy is configurable but performed by Beanstalk
- Capacity provisioning
- Load balancing & auto-scaling
- Application health-monitoring & responsiveness
What is your responsibility when it comes to Elastic Beanstalk?
Just the application code
What are the architecture models for Elastic Beanstalk?
- Single Instance deployment: good for dev
- LB + ASG: great for production or pre-production web applications
- ASG only: great for non-web apps in production
What is Elastic Beanstalk - Health Monitoring?
- Health agent pushes metics to CloudWatch
2. Checks for app health, publishes health events
What is AWS CodeDeploy?
We want to deploy our application automatically. Works with:
1. EC2 Instances
2. On-Premises Servers
making it a hybrid service
What must you do before you can deploy code with AWS CodeDeploy?
Servers / Instances must be provisioned and configured ahead of time with the CodeDeploy Agent
What is AWS CodeCommit?
AWS version of Github. Git based repositories
What is AWS CodeBuild?
Code building service in the cloud. Compiles source code, run tests, and produces packages that are ready to be deployed (by CodeDeploy for example)
How do you pay for AWS CodeBuild?
Pay-as-you-go pricing. Only pay for the build time
What is AWS CodePipeline?
Orchestrate the different steps to have the code automatically pushed to production. Basis for CICD