Deploying Applications Flashcards
What is a DevOps team
A team where development and operations functions are merged into a single team where engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.
What are the release process major phases
Source, Build, Test, Deploy, Monitor
What is Continuous Integration
Continuous Integration covers Source, Build and Test Phases. It is the practice of checking in your code to the continuously and verifying each change with an automated build and test process.
What is Continuous Delivery
Continuous Delivery extends Continuous Integration to include testing out to production-like stages and running verification testing against those deployments. There is some form of manual intervention between a code check-in and when that code is available for customers to use.
What is Continuous Deployment
Continuous Deployment extends continuous delivery and is the automated release of software to customers from check in through to production without human intervention.
What is Infrastructure as Code
The capability to define your infrastructure as a series of scripts or other code artifacts, to enable the creation of this infrastructure automatically and in a repeatable fashion, and therefore create multiple environements (dev/test/staging/production) from the same codebase.
What is AWS CodeStar
AWS CodeStar provides a unified user interface, enabling you to easily manage your software development activities in one place. It allows users to set up the entire continous delivery toolchain in minutes.
What is AWS CodePipeline
Continuous delivery service for fast and reliable application updates. Contains AWS CodeBuild, Third-party tooling and AWS CodeDeploy.
What is AWS CodeCommit
AWS CodeCommit CodeCommit enables you to privately store and manage your assets (such as documents, source code, and binary files) in the cloud. It hosts private Git repositories.
What is AWS CodeBuild
AWS CodeBuild CodeBuild compiles source code, runs tests, and produces software packages that are ready to deploy.
What is AWS CodeDeploy
AWS CodeDeploy automates code deployments to any instance, in any language and on any operating system.
What is AWS X-Ray
AWS X-Ray AWS X-Ray helps developers analyze and debug production, distributed applications, such as those built using a microservices architecture.
What is Blue/Green deployment
• Your blue environment is your existing production environment carrying live traffic.
• In parallel, you provision a green environment, which is identical to the blue environment other than the new version of your code.
• When it’s time to deploy, you route production traffic from the blue environment to the green. If you encounter any issues with the green environment, you can roll it back by reverting traffic back to the original blue environment. DNS cutover and swapping auto-scaling groups are the two most common methods used to re-route traffic in blue/green.
How to apply Blue/Green deployment
Stand up a new environment, and switch over using Amazon Route 53.
You can use Amazon Route 53 to gradually shift traffic over from the old stack (represented by its public-facing load balancer) to the new stack.
Another way to transition between versions is to modify the launch configuration of your Auto Scaling group.
What is the A/B deployment strategy
In A/B, the deployment strategy works much like blue/green in that you have two copies of your environment running.
You might choose to send a small percentage of your total traffic to the new app, perhaps to capture user feedback about the changes, or to ensure that no scaling issues were introduced in this new release.
You can gradually increase this traffic, or just collect the needed data from your users. Amazon Route 53 can implement this deployment strategy with weighted round robin.