DevOps Foundations Flashcards
What are the Practices of DevOps?
Continuous integration
Continuous delivery
Microservices
Infrastructure as code
Monitoring and Logging
Increased communication and collaboration
Continuous integration
a software development practice whereby developers regularly merge their code changes into a central repository, after which automated builds and tests are run
Continuous delivery
a software development practice whereby code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment, production environment, or both after the build stage
Microservices
microservices architecture is a design approach to build a single application as a set of small services
Infrastructure as code
a practice in which infrastructure is provisioned and managed using code and software development techniques, such as version control and continuous integration
Monitoring and Logging
Companies monitor metrics and logs to see how application and infrastructure performance impacts the experience of their product’s user
Increased communication and collaboration
one of the key cultural aspects of DevOps. The use of DevOps tooling and automation of the software delivery process establishes collaboration by physically bringing together the workflows and responsibilities of development and operations
What is the goal of DevOps?
to follow a continuous delivery model that is repeatable, reliable, stable, resilient, and secure, and improves operational efficiency
Continuous Delivery (CD) Best Practices
When the following CD best practices are applied, software can be released to production at any time.
- Code changes are committed to the repository and built frequently (versioned sourced).
- Builds are deployed to test environments and tested using automated and possibly manual tests.
- Builds that pass rigorous tests are rapidly deployed to staging or production environments. A robust continuous delivery pipeline also does the following:
- Automates the provisioning of infrastructure for testing and production environments
- Enables the monitoring and management of test and production environments.
Continuous Deployment
a fully automated end-to-end process, includes CI/CD
DevOps on AWS

What AWS service can be used for Version Control?
AWS CodeCommit
Like bitbucket or github
is a managed source control system that hosts Git repositories and works with all Git-based tools. AWS CodeCommit stores code, binaries, and metadata in a redundant fashion with high availability. You will be able to collaborate with local and remote teams to edit, compare, sync, and revise your code.
What AWS Services can be used for CI/CD?
AWS CodePipeline
AWS CodeBuild
AWS CodeDeploy
AWS Code Star
AWS Cloud9
What AWS Services can be used for Microservices?
Amazon Elastic Container Service (Amazon ECS)
AWS Lambda
What AWS Services can be used for Infrastructure as Code?
AWS CloudFormation
AWS Elastic Beanstalk
AWS OpsWorks
AWS Systems Manager
AWS Config
What AWS Services can be used for Monitoring and Logging?
Amazon CloudWatch
AWS CloudTrail
AWS X-Ray
AWS AppMesh
What AWS Services can be used for Security?
AWS Identity and Access Management (AWS IAM)
Amazon GaurdDuty
AWS Key Management Service (AWS KMS)
Amazon Inspector
AWS Security Hub
What is AWS CodeCommit?
What is AWS CodePipeline?
AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates.
CodePipeline automates the build, test, and deploy phases of your release process every time there is a code change, based on the release model you define. This enables you to rapidly and reliably deliver features and updates. You can easily integrate AWS CodePipeline with third-party services such as GitHub or with your own custom plugin. With AWS CodePipeline, you only pay for what you use. There are no upfront fees or long-term commitments.
What is AWS CodeBuild?
AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages.
Its benefits are:
- Scales continously and processes multiply builds concurrently
- No build servers to manage
- Monitor builds through CloudWatch Events
What is AWS CodeDeploy?
AWS CodeDeploy is a fully managed deployment service that automates software deployments to a variety of compute services, such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers.
AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.
What is AWS CodeStar?
Enables you to quickly set up a continuous delivery toolchain for your application and start releasing code faster on AWS. AWS CodeStar provides a unified experience that enables you to easily build, test, and deploy applications to AWS with the help of AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS CodeDeploy.
What is AWS Cloud9?
What is Amazon Elastic Container Service (ECS)?
What is AWS Lambda?
What is AWS CloudFormation?
What is AWS Elastic Beanstalk?
What is AWS OpsWorks?
What is AWS Systmes Manager?
What is AWS Config?
What is Amazon CloudWatch?
What is AWS X-Ray?
What is AWS CloudTrail?
What is AWS AppMesh?
What is AWS Identity and Access Management (AWS IAM)?
What is Amazon GaurdDuty?
What is AWS Key Management Service (AWS KMS)?
What is Amazon Inspector?
What is AWS Security Hub?