Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide - Second Edition

Book description

Written by Microsoft MVPs and Azure experts, this comprehensive guide comes with self-study exercises to help you understand the concepts better and move closer to becoming a skilled Azure DevOps engineer

Key Features

  • Explore a step-by-step approach to designing and creating a successful DevOps environment
  • Understand how to implement continuous integration and continuous deployment pipelines on Azure
  • Integrate and implement security, compliance, containers, and databases in your DevOps strategies

Book Description

The AZ-400 Designing and Implementing Microsoft DevOps Solutions certification helps DevOps engineers and administrators get to grips with practices such as continuous integration and continuous delivery (CI/CD), containerization, and zero downtime deployments using Azure DevOps Services.

This new edition is updated with advanced topics such as site reliability engineering (SRE), continuous improvement, and planning your cloud transformation journey. The book begins with the basics of CI/CD and automated deployments, and then moves ahead to show you how to apply configuration management and Infrastructure as Code (IaC) along with managing databases in DevOps scenarios. As you make progress, you'll explore fitting security and compliance with DevOps and find out how to instrument applications and gather metrics to understand application usage and user behavior. This book will also help you implement a container build strategy and manage Azure Kubernetes Services. Lastly, you'll discover quick tips and tricks to confidently apply effective DevOps practices and learn to create your own Azure DevOps organization.

By the end of this DevOps book, you'll have gained the knowledge needed to ensure seamless application deployments and business continuity.

What you will learn

  • Get acquainted with Azure DevOps Services and DevOps practices
  • Discover how to efficiently implement CI/CD processes
  • Build and deploy a CI/CD pipeline with automated testing on Azure
  • Integrate security and compliance in pipelines
  • Understand and implement Azure Container Services
  • Effectively close the loop from production back to development
  • Apply continuous improvement strategies to deliver innovation at scale

Who this book is for

The book is for anyone looking to prepare for the AZ-400 certification exam. Software developers, application developers, and IT professionals who want to implement DevOps practices for the Azure cloud will also find this book helpful. Familiarity with Azure DevOps basics, software development, and development practices is recommended but not necessary.

Table of contents

  1. Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide
  2. Contributors
  3. About the authors
  4. About the reviewers
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Download the color images
    6. Conventions used
    7. Get in touch
    8. Share Your Thoughts
  6. Part 1 – Digital Transformation through DevOps
  7. Chapter 1: Introduction to DevOps
    1. Technical requirements
    2. What is DevOps?
      1. The relationship between DevOps and Agile
      2. Goals and benefits of a DevOps culture
    3. Creating your ideal DevOps organization
    4. Exploring DevOps practices and habits
      1. DevOps practices
      2. DevOps habits
    5. The five stages of the DevOps evolution
      1. Normalizing the technology stack
      2. Standardizing and reducing variability
      3. Expanding DevOps practices
      4. Automating infrastructure delivery
      5. Providing self-service capabilities
    6. Summary
    7. Self-practice exercise
    8. Questions
    9. Further reading
  8. Chapter 2: Site Reliability Engineering Fundamentals
    1. Technical requirements
    2. Introduction to SRE
      1. Why is reliability so important?
      2. What is availability?
      3. Reliability challenges and SRE
    3. Key principles and practices
      1. Implementing SLOs and SLIs
      2. Establishing an error budget policy
      3. Reducing toil
    4. Summary
    5. Self-practice exercises
    6. Questions
    7. Further reading
  9. Chapter 3: Getting the Best Out of DevOps Tools
    1. SDLC and DevOps tools
      1. Key activities in a DevOps life cycle
      2. Tools for your DevOps needs
    2. Azure DevOps and GitHub
      1. Azure DevOps
      2. GitHub
    3. Azure DevTest Labs
    4. Azure Monitor
      1. Azure Monitor Logs
      2. Azure Monitor Metrics
      3. Application Insights
    5. Visual Studio Code
    6. Summary
    7. Self-practice exercises
    8. Questions
    9. Further reading
  10. Part 2 – Getting to Continuous Delivery
  11. Chapter 4: Everything Starts with Source Control
    1. Technical requirements
    2. Types of source control in Azure DevOps
      1. Centralized source control
      2. Decentralized source control
      3. Source control systems
      4. Migrating between control systems
    3. Selecting a branching and merging strategy
      1. Branching strategies
      2. Merging strategies
    4. Managing repositories
      1. Monorepo or multi-repo
      2. Creating and removing repositories
      3. Securing repositories
      4. Branch policies
    5. Other tools for source control
      1. GitHub
      2. GitLab
      3. Subversion
    6. Summary
    7. Questions
    8. Exercises
    9. Further reading
  12. Chapter 5: Moving to Continuous Integration
    1. Technical requirements
    2. Introducing continuous integration
      1. The four pillars of continuous integration
    3. Creating a build definition in Azure DevOps
      1. Connecting to source control
      2. Configuring a job
      3. Adding tasks to your job
      4. Publishing build artifacts
      5. Creating variables and variable groups
    4. Running a build
      1. Viewing the build results
      2. Building a pull request
      3. Accessing build artifacts
    5. Working with YAML pipelines
      1. The reason for using build definitions as code
      2. Writing a basic YAML pipeline
      3. Multi-job pipelines
      4. Variables
      5. Pipeline artifacts
      6. Tips for writing YAML pipelines
    6. Agents and agent queues
      1. Built-in agent pools
      2. Creating a private agent pool
      3. Agent selection
      4. Finding agent capabilities
      5. The benefits of self-hosted agent pools
    7. Automating CI builds using GitHub Actions
    8. Other tools
      1. GitLab CI
      2. Jenkins
    9. Summary
    10. Questions
    11. Exercises
    12. Further reading
  13. Chapter 6: Implementing Continuous Deployment and Release Management
    1. Technical requirements
    2. Continuous delivery and continuous deployment
    3. Working with Azure DevOps releases
      1. Creating artifacts and release triggers
      2. Specifying the stages to deploy the release
      3. Working with deployment groups
    4. Writing multi-stage YAML pipelines
      1. Adding stages to YAML pipelines
      2. Downloading artifacts
      3. Approvals
    5. Implementing CD strategies
      1. Blue-green deployments
      2. Progressive exposure
      3. Blue-green versus canary deployments
      4. Feature flags
      5. Roll back or fail forward
    6. Deploying mobile applications
      1. Connecting to the app store
      2. Using distribution groups
      3. Publishing an app
      4. App Center via Azure Pipelines
    7. Automating release notes
    8. Other tools
      1. Octopus Deploy
    9. Summary
    10. Questions
    11. Exercises
    12. Further reading
  14. Part 3 – Expanding Your DevOps Pipeline
  15. Chapter 7: Dependency Management
    1. Technical requirements
    2. Identifying shared components
      1. Types of feeds
    3. Creating a feed
      1. Setting up a feed
      2. Managing views on a feed
      3. Configuring upstream sources
    4. Publishing packages
      1. Publishing packages manually
      2. Publishing packages from a pipeline
      3. Version basics
    5. Restoring packages
      1. Restoring packages from Visual Studio
      2. Restoring packages from a pipeline
    6. Working with Universal Packages
      1. Uploading and downloading Universal Packages from Azure Pipelines
      2. Uploading and downloading Universal Packages using the Azure CLI
    7. Exploring other tools
      1. MyGet
      2. Artifactory
      3. Azure Container Registry
    8. Summary
    9. Questions
    10. Exercises 
    11. Further reading
  16. Chapter 8: Implement Infrastructure and Configuration as Code
    1. Technical requirements
    2. Having everything as code
    3. Working with ARM templates
      1. Parameters
      2. Variables
      3. Functions
      4. Comments and metadata
      5. Resources
      6. Dependent resources
      7. Nested templates
      8. Outputs
    4. Deploying ARM templates
      1. PowerShell
      2. The Azure CLI
      3. Azure Pipelines
      4. ARM REST API
      5. Azure Cloud Shell
    5. Reverse engineering a template
      1. Using Export template
      2. Using Resource Explorer
      3. Subscription-level templates
      4. Azure Blueprints
      5. Bicep
    6. Using Azure Automation
      1. Automation account resources
      2. Runbooks
      3. PowerShell DSC
    7. Managing application settings
      1. Azure App Service settings from an ARM template
      2. Loading settings at runtime from a key vault
      3. Azure App Configuration
    8. Other tools
      1. CloudFormation
      2. Chef
      3. Puppet
      4. Ansible
      5. Terraform
    9. Summary
    10. Activity 
    11. Questions
    12. Further reading
  17. Chapter 9: Dealing with Databases in DevOps Scenarios
    1. Technical requirements
    2. Managing a database schema as code
      1. Migrations
      2. End state
    3. Applying database schema changes
      1. Upgrading as part of the release
      2. Upgrading with the application code
      3. Adding a process
    4. Going schema-less
      1. Writing objects to the database
      2. Reading objects from the database
    5. Other approaches and concerns
      1. Minimizing the influence of databases
      2. Full side-by-side deployment
      3. Testing database changes
    6. Summary
    7. Questions
    8. Further reading
  18. Chapter 10: Integrating Continuous Testing
    1. Technical requirements
    2. Defining quality
      1. Metrics for quality
      2. Technical debt
    3. Understanding test types
      1. Types of automated functional tests
      2. Types of manual functional tests
      3. Strategies for deciding which types of functional tests you need
      4. Types of non-functional tests
    4. Executing tests in a pipeline
      1. Running unit tests
      2. Running integration tests
      3. Running external tests
    5. Maintaining quality
      1. Code reviews
      2. Automatically gathering quality metrics
      3. Visualizing quality
      4. Quality gates
    6. Summary
    7. Questions
    8. Self exercise
    9. Further reading
  19. Chapter 11: Managing Security and Compliance
    1. Technical requirements
    2. Applying DevOps principles to security and compliance
      1. Bringing developers and security engineers together
      2. Security concerns
    3. Working with secrets
      1. Storing secrets in service connections
      2. Storing secrets in variable groups
    4. Detecting application code vulnerabilities
      1. OWASP Top 10
      2. Implementing automated vulnerability scanning
      3. The OWASP ZAP
    5. Working with dependencies
      1. Working with WhiteSource Bolt
    6. Ensuring infrastructure compliance
      1. Assigning an Azure policy or initiative
      2. Writing an Azure Policy
      3. Initiatives
      4. Fetching audit results
    7. Monitoring and detecting runtime security risks 
and threats
    8. Other tools you can use
    9. Summary
    10. Questions
    11. Further reading
  20. Part 4 – Closing the Loop
  21. Chapter 12: Application Monitoring
    1. Technical requirements
    2. Investigating application crashes
      1. Gathering crash reports for mobile applications
      2. Gathering crash reports for desktop applications
    3. Instrumenting web applications
      1. Logging
      2. Emitting logs
      3. Metrics
      4. Investigating requests
      5. Optimizing alerting
      6. Having an on-call schedule
      7. Live site reviews
    4. Integrating with other tools
      1. IT service management applications
      2. Azure Boards
      3. Grafana
    5. Summary
    6. Questions
    7. Further reading
  22. Chapter 13: Gathering User Feedback
    1. Understanding continuous feedback
      1. Asking for direct feedback
      2. Advantages of in-product feedback
      3. Having a public roadmap
      4. Using interviews or focus groups
    2. Gathering indirect feedback
      1. Sentiment analysis
      2. Support requests
    3. Implementing hypothesis-driven development
    4. Summary
    5. Questions
    6. Further reading
  23. Part 5 – Advanced Topics
  24. Chapter 14: Adopting the Culture of Continuous Improvement
    1. Measuring your DevOps success
    2. Value stream mapping
    3. A data-driven approach
    4. Operationalizing the feedback loop
      1. Implementing effective feedback loops
    5. Summary
    6. Activity
    7. Further reading
  25. Chapter 15: Accelerate Cloud Adoption through DevOps
    1. The role of DevOps in digital transformation
    2. Modernization and cloud adoption
      1. DevOps is the foundation of modernization
      2. DevOps drives cloud adoption
    3. Managing software delivery modernization
      1. Software life cycle management
      2. Solution architecture
      3. Automation practices
      4. Cloud platform adoption
    4. Agile transformation and iterative planning
      1. Roadmap for transformation
    5. Integrating DevOps in your cloud adoption plan
      1. Case study
      2. Usual challenges and DevOps to the rescue
    6. Summary
    7. Additional reading
  26. Chapter 16: Containers
    1. Technical requirements
    2. An introduction to containers
      1. DevOps and containers
      2. Hosting options
    3. Building a container image
      1. Creating an application
      2. Adding Docker support to an existing application
      3. Creating an image with the application
      4. Running the container image
    4. Building images in Azure DevOps and running them 
in Azure
      1. Creating a service endpoint
      2. Creating a new pipeline
    5. An introduction to Kubernetes
      1. The functionalities of Kubernetes
      2. Kubernetes core components and services
      3. Operation of Kubernetes
      4. Azure Kubernetes Service
    6. Kubernetes in action
      1. Creating a Kubernetes cluster
      2. Kubernetes infrastructure
      3. Managing Kubernetes
      4. Deploying a container image
    7. Upgrading containers
    8. Scaling containers and Kubernetes
      1. Scaling Pods manually
      2. Scaling nodes
      3. Autoscaling nodes
    9. Deploying to Kubernetes with Azure DevOps
    10. Summary
    11. Questions
    12. Exercises
    13. Further reading
  27. Chapter 17: Planning Your Azure DevOps Organization
    1. Technical requirements
    2. Setting up an Azure DevOps organization
      1. How Azure DevOps is organized
      2. Creating an Azure DevOps organization and project
      3. Azure DevOps security model
      4. Azure DevOps licensing
    3. Ensuring traceability
      1. Consolidating tools
      2. Standardizing tools
      3. Migration strategies
    4. Accepting there is no end state
    5. Summary
    6. Questions
    7. Activity
    8. Further reading
  28. Chapter 18: AZ-400 Mock Exam
    1. Designing a DevOps Strategy
    2. Implementing DevOps Development Processes
    3. Implementing Continuous Integration
    4. Implementing Continuous Delivery
    5. Implementing Dependency Management
    6. Implementing Application Infrastructure
    7. Implementing Continuous Feedback
    8. Answers
  29. Assessments
    1. Chapter 1, Introduction to DevOps
    2. Chapter 2, Site Reliability Engineering Fundamentals
    3. Chapter 3, Getting the Best Out of DevOps Tools
    4. Chapter 4, Everything Starts with Source Control
    5. Chapter 5, Moving to Continuous Integration
    6. Chapter 6, Implementing Continuous Deployment and Release Management
    7. Chapter 7, Dependency Management
    8. Chapter 8, Implement Infrastructure and Configuration 
as Code
    9. Chapter 9, Dealing with Databases in DevOps Scenarios
    10. Chapter 10, Integrating Continuous Testing
    11. Chapter 11, Managing Security and Compliance
    12. Chapter 12, Application Monitoring
    13. Chapter 13, Gathering User Feedback
    14. Chapter 16, Containers
    15. Chapter 17, Planning Your Azure DevOps Organization
  30. Index
    1. Why subscribe?
  31. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts

Product information

  • Title: Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide - Second Edition
  • Author(s): Subhajit Chatterjee, Swapneel Deshpande, Henry Been, Maik van der Gaag
  • Release date: September 2022
  • Publisher(s): Packt Publishing
  • ISBN: 9781803240664