DevOps In AWS Flashcards
Break down the difference between
Continuous Integration
Continuous Delivery
Continuous Deployment
CI is about integrating code changes frequently and checking for conflicts and issues.
CDelivery - automates the process of packaging and deploying software to different environments like testing
CDeployment - automatically deploys code changes to production after passing tests and checks.
What are the tools within AWS that make up the CI/CD pipeline?
Code Pipeline - CI/CD Orchestration
Code Commit
Code Build
Code Deploy
Benefits of Iac 5
Automation
Replicability
Scalability
Testing and Validation
Versioning
What are the IaC tools in AWS
AWS CloudFormation
AWS CDK (Cloud Development Kit)
AWS SAM (Serverless Application Model)
Deployment Approach: Canary
Gradually rolling out new features or updates to a subset of users or traffic.
It allows for testing and gathering feedback before deploying to the entire user base.
Deployment Approach: Rolling vs Canary Risks
Rolling deployments help manage risks, but to a lesser extent compared to canary deployments. As the new version is rolled out across more servers, any issues may affect a larger number of users, requiring appropriate monitoring and rollback mechanisms.
Deployment Approach: Blue Green
Two identical environments, “blue” and “green,” are set up.
The new version of the application is deployed to the “green” environment, which is then tested and validated.
Once validated, traffic is switched from the “blue” environment to the “green” environment, effectively deploying the new version.
Q: What is DevOps?
DevOps is a software development approach that combines development (Dev) and operations (Ops) teams to improve collaboration, automate processes, and deliver software more rapidly and reliably.
Q: What are the key principles of DevOps? 5
The key principles of DevOps include:
Continuous integration
Continuous delivery
Infrastructure as code
Automation & Collaboration, and
Monitoring
What is the role of configuration management in DevOps?
Managing and maintaining consistent configurations of systems and infrastructure across your architecture.
What does configuration management help you achieve? 3
Ensures reproducibility, scalability, and reducing manual errors.
What are the benefits of using containers in DevOps? 3
Containers provide
Portability
Scalability
Isolation for applications
How does monitoring contribute to DevOps practices? 3
Real-time visibility into application and infrastructure performance
Early Identification of issues to make data-driven decisions
Ensures system reliability
Explain the approval process in relation to continuous delivery?
The initiation of continuous delivery process is automated but requires a manual approval step before the application is deployed to production.
What is the function of the manual approval step in continuous delivery model?
The approval step allows stakeholders to review and validate the changes before they are released to prod.