Deployment Flashcards
What are the five stages of the release lifecycle?
“Source” -> “Build” -> “Test” -> “Deploy” -> “Monitor”
What differentiates “Continuous Integration”, “Continuous Delivery” and “Continuous Deployment”
Continuous integration is “Source Code” -> “Build” whereas continuous delivery is across “Source” -> “Build” -> “Test” -> “Deploy” -> “Monitor”, but with a manual “trigger” of the deployment.
Continuous Deployment is just as Continuous Delivery, but there is no manual step - code that passes all the relevant checks is immediately deployed into production.
What AWS Services manage “Source”, “Build”, “Test”, “Deployment” and “Monitor”?
Source: AWS Code Commit Build: AWS Code Build Test: No AWS Tool (uses customer's test harnses) Deployment: AWS Code Deploy Monitor: AWS X-Ray + Amazon CloudWatch
What type of source control is AWS backed by?
Git
How are the specifics of a Source -> Build -> Test -> Deploy -> Monitor pipeline designed and triggered?
AWS CodePipeline
For very simple applications (primarily stateless), what AWS service lets you most easily create an available, autoscaled application?
AWS Beanstalk
If you want to manage the lifecycle of your application with chef, how would you achieve it?
AWS OpsWork
What native “Infrastructure as Code” option does AWS offer, and what file formats does it use?
AWS Cloud Formation, which uses JSON or yaml configuration files
What does AWS CloudFormation provide?
This is Amazon’s “infrastructure as code” solution, allowing you to define application stacks in yaml or json
In an AWS CloudFormation template, which is the only required section?
“Resources” - everything else is metadata or configuration
What does the “mappings” section in an AWS CloudFormation template do?
It’s a list of key/value pairs to be used in the template, usually representing application-specific information (such as connection strings, API keys etc)
What is the “outputs” section of an AWS CloudFormation template used for?
It outputs values associated with created resources for subsequent steps in deployment pipelines (such as the URL of a created API or S3 bucket)
What is “severless computing” in AWS thinking?
These are services which host applications, and handles the provisioning and scaling of the infrastructure automatically
What are the various AWS Serverless Compute options?
Computation: AWS Lambda API Proxy: AWS Gateway Storage: S3 Database: DynamoDB Interprocess Messaging: SNS and SQS Orchestration: AWS Step Functions Analytics: Amazon Kinesis and Amazon Athena Developer Tools: Tooling
If you are deploying a Serverless Compute solution, what extension are you likely to need to CloudFormation?
Severless Application Model (SAM)