Chapter 6 Deployment Strategies Flashcards
How does continuous delivery extend CI?
Continuous delivery expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When properly implemented, developers will always have a deployment-ready build artifact that has passed through a standardized test process.
How does continuous deployment extend continuous delivery?
It is the automated release of software to customers, from check in through production.
Elastic Load Balancing and _____ are designed to work together.
Auto Scaling
Components required for scalability and availability
- Multi AZ and multi region
- Health Check and failover
- Stateless applications that store state in cache/DB
- AWS services (i.e. auto scaling)
What are 3 of the core underlying technologies used by Elastic Beanstalk?
- EC2
- ELB
- Auto Scaling
Pre-configured options for Elastic Beanstalk
- Single-instance (development, low cost)
2. Load balanced, AWS Auto Scaling (production)
What is required to deploy an Elastic Beanstalk application?
A ‘source bundle’. This can come from a source repository (i.e. CodeCommit, BitBucket) or S3 bucket.
T/F: Each Elastic Beanstalk environment is a separate version of the application, and that version’s AWS Cloud components deploy onto AWS resources to support that version. Each environment runs one application version at a time, but you can run multiple environments, with the same application on each, along with its own customizations and resources.
True
In Elastic Beanstalk, to launch an environment you must first choose a/an _____.
environment tier
The environment tier designates the type of application that the environment runs, and determines what resources Elastic Beanstalk provisions to support it. An application that serves HTTP requests runs in a web server environment tier. An environment that pulls tasks from an Amazon Simple Queue Service (Amazon SQS) queue runs in a worker environment tier.
Where are Elastic Beanstalk configuration files stored? What is the file format?
Stored in the ‘.ebextensions’ directory of your web application. The format is YAML (or JSON), and the file extension is ‘.config’
Environment
An environment is a collection of AWS resources running an application version.
How to modify application stack in Beanstalk without introducing unrecoverable failures?
Use the Elastic Beanstalk service and ebextensions to make modifications instead of CloudFormation
What is a deployment in the context of EC2 instances?
process of copying content and executing scripts on instances in your deployment group
all-at-once deployment
applies update to all instances at once. Involves downtime
in-place deployment
CodeDeploy stops application on target instance, deploys, validates. Works well if you have a load balancer (no downtime).
FYI in-place deployments not available for AWS Lambda.