AWS DevOps Exam Prep


Article Outline
  1. 1. Domain 1: SDLC Automation
  2. 2. Domain 2: Configuration Management and Infrastructure as Code
  3. 3. Domain 3: Monitoring and Logging
  4. 4. Domain 4: Policies and Standards Automation
    1. 4.1. AWS IAM
      1. 4.1.1. IAM Roles
      2. 4.1.2. IAM Policies
        1. 4.1.2.1. IAM Policy Conditions
    2. 4.2. Data protection
      1. 4.2.1. ELB SSL Configurations
      2. 4.2.2. CloudFront SSL Settings
      3. 4.2.3. Network Perimeter Controls
        1. 4.2.3.1. Security Groups
        2. 4.2.3.2. NACLs
        3. 4.2.3.3. Host Firewalls
      4. 4.2.4. Amazon GuardDuty
  5. 5. Domain 5: Incident and Event Response
  6. 6. Domain 6: High Availability, Fault Tolerance, and Disaster Recovery
  7. 7. Advanced Testing Practices Using AWS DevOps Tools (2.5 hours)
    1. 7.1. Overview of Testing
    2. 7.2. DevOps Review
    3. 7.3. Continuous Integration
    4. 7.4. Continuous Delivery
    5. 7.5. Continuous Deployment
  8. 8. Lab: Automate Application Testing Using AWS CodeBuild (1 hour)
    1. 8.1. Examine and test the web application in the development environment
    2. 8.2. Automate testing in your build
    3. 8.3. Review the build pipeline and analyze the results
    4. 8.4. Create tests to cover all lines of code
    5. 8.5. Optional: Write tests for all winning combinations
  9. 9. Lab: Automate Deployment Testing and Continuous Monitoring with AWS Tools (2 hour)
    1. 9.1. Review the existing infrastructure pipeline
    2. 9.2. Automate testing and AWS CodeBuild
    3. 9.3. Automating static code analysis
    4. 9.4. Configure CloudWatch Synthetics for continual monitoring
  10. 10. Overview of Testing
    1. 10.1. Identify the benefits of a testing strategy in your development
    2. 10.2. Describe the different stages of testing using the testing pyramid
    3. 10.3. Use test coverage to design an effective testing plan
    4. 10.4. Recognize the benefits of automating testing in your development lifecycle
  11. 11. DevOps Review
    1. 11.1. Identify DevOps practices that provide faster application revisions
    2. 11.2. Apply knowledge of AWS tools, such as AWS CodeCommit, AWS CodeDeploy, AWS CodeBuild, and AWS CodePipeline, to build and automate your CI/CD pipeline
    3. 11.3. Use AWS serverless options and third-party tools at each stage of your CI/CD pipeline
  12. 12. Continuous Integration
    1. 12.1. Establish code standards as a requirement into your development practice
    2. 12.2. Implement various testing methods in the CI stage
    3. 12.3. Apply the benefits of unit testing and static code analysis
    4. 12.4. Apply Test Drive Development (TDD) and Behavior Driven Development (BDD) to create an effective test strategy
    5. 12.5. Use Amazon CodeGuru to review and improve the quality of your code
    6. 12.6. Demonstration: Static Code Analysis
    7. 12.7. Demonstration: Perform Pull Request
  13. 13. Continuous Delivery
    1. 13.1. Apply testing methods in the continuous delivery stage as needed
    2. 13.2. Recognize the benefits of functional, regression, and performance testing
    3. 13.3. Implement testing methods using third-party tools or serverless options
    4. 13.4. Perform synthetic testing to ensure continuity of a service
    5. 13.5. Automate security testing to implement security audit rules
    6. 13.6. Demonstration: Synthetic Testing
  14. 14. Continuous Deployment
    1. 14.1. Apply testing methods in the continuous deployment stage as needed
    2. 14.2. Use health checks as a strategy to avoid deployment failures
    3. 14.3. Perform approval trigger tests to automate continuous deployment
    4. 14.4. Use AWS Lambda to automate approvals
    5. 14.5. Apply deployment options available with AWS CodeDeploy
    6. 14.6. Implement deployment types, including segmented and canary deployments
    7. 14.7. Control pipeline flow by disabling and re-enabling transitions between stages
    8. 14.8. Demonstration: Amazon CloudWatch Synthetics
    9. 14.9. Demonstration: Stopping a Deployment
  15. 15. Course Summary
    1. 15.1. Recall and identify various resources from course topics
    2. 15.2. (Optional) Create a sandbox environment using sample code in your own AWS account to test your knowledge

Domain 1: SDLC Automation

Domain 2: Configuration Management and Infrastructure as Code

Domain 3: Monitoring and Logging

Domain 4: Policies and Standards Automation

You are always responsible for the protection of your data both while at rest and in-transit.

AWS IAM

IAM Roles

Use Roles everywhere possible.

Role requirements:

  • Trust policy
  • Access permissions policy

IAM Policies

IAM Policy Conditions

Data protection

ELB SSL Configurations

CloudFront SSL Settings

Network Perimeter Controls

Security Groups
  • Per-instance granularity
  • Stateful = simpler to apply rules
  • Interservice communication
NACLs
  • Subnet boundaries only
  • Allow and Deny rules
  • IP ranges only
  • Block malicious traffic
Host Firewalls
  • Central or distributed control
  • IDS, IPS functions
  • Scalability

Amazon GuardDuty

Domain 5: Incident and Event Response

Domain 6: High Availability, Fault Tolerance, and Disaster Recovery

Advanced Testing Practices Using AWS DevOps Tools (2.5 hours)

Overview of Testing

DevOps Review

Continuous Integration

Continuous Delivery

Continuous Deployment

Lab: Automate Application Testing Using AWS CodeBuild (1 hour)

Examine and test the web application in the development environment

Automate testing in your build

Review the build pipeline and analyze the results

Create tests to cover all lines of code

Optional: Write tests for all winning combinations

Lab: Automate Deployment Testing and Continuous Monitoring with AWS Tools (2 hour)

Review the existing infrastructure pipeline

Automate testing and AWS CodeBuild

Automating static code analysis

Configure CloudWatch Synthetics for continual monitoring

Overview of Testing

Identify the benefits of a testing strategy in your development

Describe the different stages of testing using the testing pyramid

Use test coverage to design an effective testing plan

Recognize the benefits of automating testing in your development lifecycle

DevOps Review

Identify DevOps practices that provide faster application revisions

Apply knowledge of AWS tools, such as AWS CodeCommit, AWS CodeDeploy, AWS CodeBuild, and AWS CodePipeline, to build and automate your CI/CD pipeline

Use AWS serverless options and third-party tools at each stage of your CI/CD pipeline

Continuous Integration

Establish code standards as a requirement into your development practice

Implement various testing methods in the CI stage

Apply the benefits of unit testing and static code analysis

Apply Test Drive Development (TDD) and Behavior Driven Development (BDD) to create an effective test strategy

Use Amazon CodeGuru to review and improve the quality of your code

Demonstration: Static Code Analysis

Demonstration: Perform Pull Request

Continuous Delivery

Apply testing methods in the continuous delivery stage as needed

Recognize the benefits of functional, regression, and performance testing

Implement testing methods using third-party tools or serverless options

Perform synthetic testing to ensure continuity of a service

Automate security testing to implement security audit rules

Demonstration: Synthetic Testing

Continuous Deployment

Apply testing methods in the continuous deployment stage as needed

Use health checks as a strategy to avoid deployment failures

Perform approval trigger tests to automate continuous deployment

Use AWS Lambda to automate approvals

Apply deployment options available with AWS CodeDeploy

Implement deployment types, including segmented and canary deployments

Control pipeline flow by disabling and re-enabling transitions between stages

Demonstration: Amazon CloudWatch Synthetics

Demonstration: Stopping a Deployment

Course Summary

Recall and identify various resources from course topics

(Optional) Create a sandbox environment using sample code in your own AWS account to test your knowledge