AWS DevOps Engineer Professional (DOP-C01)
The AWS Certified DevOps Engineer Professional (DOP-C01) exam is one of the most difficult but also one of the highest paying IT certifications offered by Amazon Web Services. This exam is the AWS Certification that is typically taken after acquiring the SysOps Administrator Associate and Developer Associate certifications.
Validating a candidate's technical expertise in creating, operating, and managing distributed application systems on the AWS platform is the purpose of the AWS Certified DevOps Engineer Professional test. It is geared toward people who hold the position of DevOps Engineer in an organisation. The exam also validates a candidate’s ability to complete the following tasks:
Implement and manage continuous delivery systems and methodologies on AWS
Implement and automate security controls, governance processes, and compliance validation
Define and deploy monitoring, metrics, and logging systems on AWS
Implement systems that are highly available, scalable, and self-healing on the AWS platform
Design, manage, and maintain tools to automate operational processes
Hence, in this repository, I've created a study guide with a timeline to help you allocate your exam preparation. A guides you on how to study and what topic you need to focus on for your exam.

Part 1: SDLC Automation
- Automate a CI/CD pipeline by implementing the necessary concepts.
Determine the best methods for implementing source control
Integrate and automate testing concepts.
- Build and manage artefacts in a secure manner by utilising these concepts.
- Learn how to use AWS Services to implement deployment and delivery strategies (e.g., A/B testing, Blue/Green testing, Canary testing, Red/Black testing)
-
AWS CodeCommit
-
AWS CodeBuild
-
Concepts
- Build Project
- Source
- Environment
- S3 and SNS
-
Security
- AWS IAM Access
- Artifact Encryption
- AWS CodeBuild Role
-
AWS CodeDeploy
-
EB CLI
-
EB extension
- .ebextensions
- YAML file
- Allow us to customize all the things that is needed for apps
-
Commands
-
Container
- Ensure that your command is run on only one instance
- leaders_only: true
- Purpose: Creation of DB. running DB migration script & etc.
- Run AFTER the apps & web server is set up & the apps version file is extracted
-
Command
- Run BEFORE the apps & web server is set up & the apps version file is extracted
-
Canary Deployment
- Is a process where we deploy a few features and shift % of traffic to new feature to perform some analysis to see is the feature successful.
-
Versioning
-
Alias
-
Spliting Traffic
-
Lambda@Edge
- Viewer Request
- Origin Request
- Viewer Response
- Origin Response
- CloudFront Cache
- fully managed Docker registry that makes it easy for developer to store, manage, & deploy docker images.
- Create ECR repository
- Login to ECR
- Push/Pull ECR docker images
- It is a container orchestration service that support Docker containers and allow you to easily run and scale containerized apps on AWS
- EC2
- Fargate
- Run containerized apps without provisioning, monitor or manage the underlying AWS resource
- Is an open-source automation server which allows us to automate wide variety of things which includes the entire CI/CD pipeline.
- Distributed Builds(worker nodes)
- Jenkins Plugins
-
Concepts
-
Repository
- The place where all code changes are store and versioning.
-
Branches
- Master Branch
- Feature branch
-
Commit
- Push new code updates to the repository
-
Pull Request (PR)
- Merge Request (MR)
- PR Validations
-
Git Strategy
Whitepaper: Containerized Microservices
-
Decoupled
-
Single Function
-
Well-Defined API's
-
12-Factor App
- Isolation Dependencies
- Ephemeral(Disposable)
- Scalability (Concurrency)
-
Org Structure
- Autonomous Teams
- Own Microservices all the way to Prod
-
Product not Project
- Automation
- Self-Service
- Continuous Integration
- Continuous Delivery
-
Smart Endpoints Dump Pipes
-
Decentraliszed Governance
- Freedom to choose dependency
- Freedom to choose build tools
-
Decentralized Data Management
- Freedom to choose data tools
- No Shared data sources
-
Design for Failure
- Disposable (stateless)
- Latency and timeouts to be expected
- Able to failover to other region/dc
- Self-Healing
- Logs as event-streams
Part 2: Config. Management & IaC
- Identify the most appropriate deployment services based on the actual requirements of the project
- Determine application and infrastructure deployment models based on the needs of your company.
- Automate resource provisioning using security concepts.
- On a deployment, determine how to use lifecycle hooks.
- Use AWS configuration management tools and services to learn about system management concepts.
Elastic Container Service (ECS)
- Codebase
- Dependencies
- Config
- Backing services
- Build, release, run
- Processes
- Port binding
- Concurrency
- Disposability
- Dev/prod parity
- Logs
- Admin processes
-
Concepts
- Serverless
- Triggers
- Runtime
- Deployment Package
- Concurrency
-
Features
- Version and Alias
- Concurrency limits
- Layers-custom runtimes
- Step Functions
- Extension
-
Quotas
- Memory - 1024MB
- Timeout - 900 seconds(!5mins)
- Deployment Package
500MB Zipped and 250mB Unzipped
- /tmp strg: 512MB
-
Security
-
IAM
- Execution Role
- User Access
-
Data
- Encryption in Trainsit
- Encryption at Rest
- Env. Variable SSM/Secret Mgr
- Key-value memory database
-
Deploy and Manage an API
-
Multiple stages
-
Request throttling
-
RESTful, HTTP, and WebSocket API
-
Amazon manages the underlying resources
-
Use-Cases
Part 3: Monitoring & Logging
- Based on the project's actual needs, select the best deployment services.
- Assess your company's requirements to determine the best model for deploying applications and infrastructure.
- Security concepts can be used to automate the provisioning of resources.
- Determine how to use lifecycle hooks during a deployment.
- Learn about system management with the help of AWS tools and services.
-
Video Stream
-
Data Stream
-
Data Firehose
- Real-time streaming of data into AWS S3, AWS RedShift, ElasticSearch or Splunk
- No retention of data
- Automate Scaling and setup
-
Data Analytics
-
Data Warehouse
-
Centralize Logs
- Apps Logs
- Network Logs
- Infra logs
-
Columnar data store
- Business Intelligence data tool
- Visualisation, analysis, & reporting on metrics by querying AWS RedShift
- Correlating multiples logs
-
Managed ELK Stack
-
Centralise logs, reporting, alerting, metrics, and analytics
-
Automated backup, upgrades, scaling, and maintenance
-
Terms
- Cluster(Domain)
- Indice/Index
- Types
- Document with properties
-
What is it?
- Track config of AWS resources over time
- Gives insight into policy compliance
- Reactive response, not Proactive
-
Terms
-
Resources
-
Config Item
-
Config at specific time
- Basic config., specific config. , releationship, AWS CloudTrail ID's , Metadata
-
Config Rules
-
Conformance Packs
- Package of Rules + Remediation actions
-
Evaluation
- Determines one rule against one resource ( changes determined by evolutions)
-
Aggregator
- Used to centralize dashboard
-
Features
- multiple account and region
- Integration with ServiceNow and Jira Service Desk
-
What it is?
- Included in Support Plan (Developer)
- Scan and Alert for best practices
- Weekly scan and email, but manually scan more frequently
-
Features
-
Security Checks
- Security Groups
- Public Snapshots
- AWS S3 Buckets
-
Cost Optimisation
-
Fault-Tolerance
-
Performance
-
Service Limits
-
Purpose
- Distributed tracing system
- Helps analyze and troubleshoot bugs
- Understand performance
- End-to-end view of requests
- Component map of apps
-
Components
- AWS X-Ray SDK/API: Implemented in the code
- AWS X-Ray Daemon: Implemeneted at the server layer proxying request from code to AWS X-Ray
-
Service to monitor?
- API Gateway
- App Mesh
- AppSync
- EventBridge
- SNS
- SQS
- S3
- EC2
- ECS
- Beanstalk
- Lambda
-
Integration
- AWS Config
- CloudTrail
- CloudWatch
- EventBridge
- Load Balancing
- Organization
- Cost Allocation
- Automation
- Ops Support
- Control Access
- Security Risk Management
Resource Group & tag Editor
- Implement/Update Tag over the regions
- Create Resource Group and Tag Group
Part 4: Policies & Standard Automation
- Logging, metrics, monitoring, testing, and security standards can be enforced by applying the necessary concepts.
- Determine how to cut costs by automating processes.
- Utilize the concepts necessary to put governance strategies into action
- Encrypted Credential manager
- App's retrieval of password
- Automated password rotation
-
Network Reachability
-
Host-based security scan
- CVE's
- CIS Benchmark
- Security best-practice
Part 5: Incident & Event Response
### What To Learn?
- Determine the source of the problem and the best course of action for resolving it
- Decide on a way to automate alerting and event management
- Implement the concepts necessary for automated healing to take place.
- Integrate key event-driven automation concepts into your work
-
Process
- Find the issue
- Find the thing that are working
- Look for the things you can change
- Implementation details
-
Tools
-
Monitoring
-
Alerting
-
Remediation
- AWS Lambda
- AWS System Manager
-
Prevention
- AWS IAM
- AWS CloudFormation
-
Only support AWS EC2
-
Can perform Step and Scheduled scaling
-
Creates and configure Auto-Scaling-Group
-
Support multiple-Purchase model
-
Support Multiple AZs
-
Support Multi-instance sizes in a single apps
-
Security
-
Cost Optimization
- On-Demand, Reserved, Spot Instances - Combined
- Multiple instance types
- Support AWS EC2, ECS, DynamoDB, Aurora
- Only scales based on target tracking scaling policies
- Creates and manages CloudWatch alarms and triggering scaling
- Predictive scaling for EC2
- Automatically scan for scalable services
Part 6: High Availability (HA), Fault-Tolerance, & Disaster Recovery (DR)
- Determine whether multi-AZ or multi-region architectures are appropriate for your application.
- Learn how to implement high availability, scaling, and fault tolerance
- Use business requirements (e.g., RTO/RPO, cost) to select the best services.
- Learn how to create and implement disaster recovery plans that are automated.
- Determine what areas of a deployment may be at risk.
-
Global Services
- AWS S3
- AWS IAM
- AWS Route53
- AWS CloudFront
-
Regional Services
- S3 Data
- AutoScaling
- DynamocDB
- Load Balancing
- VPC
- Load Balancer
- EC2 Auto-Scaling
- AWS Auto-Scaling
- CloudWatch
- CloudFront
- Elasticache
- Route53
- S3
- CloudWatch
- EC2 Auto-Scaling
- AWS Auto-Scaling
-
RTO & RPO
-
RDS
- Automated backups
- DB Snapshits
- Multi-AZ
- Read Replica
-
EC2 & EBS
-
DynamoDB
- Snapshits and Point-in0-time recovery
- Global Table(Cross-region replication)
-
Route53
- Health Check for endpoints
- Active-Active and Passive routing
- Round-robin
- Weighted Routing
-
S3
- Durability/Availability
- Cross-Region Replication (CRR)
- Archieve Access Tier are moved to the Frequent Access tier in 3-5 hours
- Deep Archive tiear are moved to Frequent Access tier within 12 hours
- Glacier Retrieval
-
Strategies
- AWS Lambda: Snapshot schedule, Cross region copy)
- AWS System Manager
- AWS Backup
STUDY: Course & Exam Preparation
INFO: DOP-C01 Exam Breakdown
-
SDLC Automation (22%)
-
Config. Management & IaC (19%)
-
Monitoring & Logging (15%)
-
Policies & Standard Automation (10%)
-
Incident & Event Response (18%)