What is AWS CodeDeploy?
A service that automates code deployments to a variety of compute services (EC2, Lambda, ECS, and Serverless).
It is infrastructure-agnostic.
What is the key configuration file used by CodeDeploy for EC2/on-premises deployments?
The appspec.yml file.
What is the purpose of the appspec.yml file?
It specifies the source files to copy and the lifecycle event hooks (scripts) to run during deployment.
What are the three main deployment configurations for an EC2/on-premises deployment?
Which CodeDeploy deployment type replaces the old instances with a fresh set of new instances?
Blue/Green deployment.
What is the main benefit of a Blue/Green deployment over an In-Place deployment?
Zero downtime and instant rollback capability.
The entire environment is tested before traffic is shifted.
In an In-Place deployment, where is the application stopped, updated, and re-started?
Directly on the existing instances.
Where must the CodeDeploy Agent be installed for EC2 and on-premises deployments?
Directly on the EC2 instance or on-premises server.
What is the recommended deployment strategy for a Lambda function in CodeDeploy?
Canary (or Linear)
incrementally shifts traffic to the new version, using CloudWatch Alarms to monitor and auto-rollback on failure.
What is AWS Elastic Beanstalk (EB)?
A high-level Platform as a Service (PaaS) that handles the complexity of deploying, managing, and scaling web applications (including provisioning EC2, load balancers, etc.).
What is the key benefit of Elastic Beanstalk for a developer?
It allows the developer to focus only on writing code; Beanstalk handles all the underlying infrastructure management.
What kind of files do you provide to Beanstalk?
Only your application code/package (e.g., a .zip or .jar file).
Which tool does Beanstalk use under the hood to provision and update the underlying resources?
AWS CloudFormation.
How does a developer configure custom infrastructure settings (e.g., install specific packages or set environment variables) in a Beanstalk environment?
By adding .ebextensions configuration files to the application source code bundle.
If you need to perform a database migration during a Beanstalk deployment, which deployment type should you use to ensure safety and zero downtime?
Blue/Green (or possibly Immutable).
What is the difference between an EB Environment and an EB Application?
An Application is a logical collection of components (templates, versions). An Environment is a specific, running instance of an Application Version (e.g., production or staging).
What deployment option does EB use that involves launching new instances with the new code and then terminating the old ones?
Immutable deployment (provides a safe rollback and zero downtime).
What is AWS CodePipeline?
A Continuous Delivery (CD) service that automates the release process for application and infrastructure updates, following a defined workflow.
What are the 2 core components of a CodePipeline workflow?
What is the typical flow of data between stages in CodePipeline?
Artifacts.
The output artifact of one stage is the input artifact of the next stage.
Where does CodePipeline store the artifacts (source code, build files) that pass between stages?
An S3 bucket
(created and managed by the pipeline itself).
In CodePipeline
What is the purpose of the Source Stage?
To pull the latest code from a source repository (e.g., CodeCommit, GitHub, S3) and place it into the S3 artifact store.
In CodePipeline
What is the primary AWS service used in the Build Stage?
AWS CodeBuild.
In CodePipeline
What is the primary AWS service used in the Deploy Stage when deploying to EC2/on-premises?
AWS CodeDeploy.