<p><span>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</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Explore a step-by-step
Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide: Prepare for the certification exam and successfully apply Azure DevOps strategies with practical labs, 2nd Edition
β Scribed by Subhajit Chatterjee, Swapneel Deshpande, Henry Been, Maik van der Gaag
- Publisher
- Packt Publishing
- Year
- 2022
- Tongue
- English
- Leaves
- 491
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
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
- Introduction to DevOps
- Site Reliability Engineering
- Getting the Best Out of DevOps Tools
- Everything Starts with Source Control
- Moving to Continuous Integration
- Continuous Deployment
- Dependency Management
- Infrastructure and Configuration as Code
- Dealing with Databases in DevOps Scenarios
- Continuous Testing
- Security and Compliance
- Application Monitoring
- Gathering User Feedback
- Adopting a Culture of Continuous Improvement
- Accelerate Cloud Adoption through DevOps
- Leveraging the value of Containers in DevOps
- Planning Your Azure DevOps Organization
- AZ-400 Mock Exam
β¦ Table of Contents
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Part 1 β Digital Transformation through DevOps
Chapter 1: Introduction to DevOps
Technical requirements
What is DevOps?
The relationship between DevOps and Agile
Goals and benefits of a DevOps culture
Creating your ideal DevOps organization
Exploring DevOps practices and habits
DevOps practices
DevOps habits
The five stages of the DevOps evolution
Normalizing the technology stack
Standardizing and reducing variability
Expanding DevOps practices
Automating infrastructure delivery
Providing self-service capabilities
Summary
Self-practice exercise
Questions
Further reading
Chapter 2: Site Reliability Engineering Fundamentals
Technical requirements
Introduction to SRE
Why is reliability so important?
What is availability?
Reliability challenges and SRE
Key principles and practices
Implementing SLOs and SLIs
Establishing an error budget policy
Reducing toil
Summary
Self-practice exercises
Questions
Further reading
Chapter 3: Getting the Best Out of DevOps Tools
SDLC and DevOps tools
Key activities in a DevOps life cycle
Tools for your DevOps needs
Azure DevOps and GitHub
Azure DevOps
GitHub
Azure DevTest Labs
Azure Monitor
Azure Monitor Logs
Azure Monitor Metrics
Application Insights
Visual Studio Code
Summary
Self-practice exercises
Questions
Further reading
Part 2 β Getting to Continuous Delivery
Chapter 4: Everything Starts with Source Control
Technical requirements
Types of source control in Azure DevOps
Centralized source control
Decentralized source control
Source control systems
Migrating between control systems
Selecting a branching and merging strategy
Branching strategies
Merging strategies
Managing repositories
Monorepo or multi-repo
Creating and removing repositories
Securing repositories
Branch policies
Other tools for source control
GitHub
GitLab
Subversion
Summary
Questions
Exercises
Further reading
Chapter 5: Moving to Continuous Integration
Technical requirements
Introducing continuous integration
The four pillars of continuous integration
Creating a build definition in Azure DevOps
Connecting to source control
Configuring a job
Adding tasks to your job
Publishing build artifacts
Creating variables and variable groups
Running a build
Viewing the build results
Building a pull request
Accessing build artifacts
Working with YAML pipelines
The reason for using build definitions as code
Writing a basic YAML pipeline
Multi-job pipelines
Variables
Pipeline artifacts
Tips for writing YAML pipelines
Agents and agent queues
Built-in agent pools
Creating a private agent pool
Agent selection
Finding agent capabilities
The benefits of self-hosted agent pools
Automating CI builds using GitHub Actions
Other tools
GitLab CI
Jenkins
Summary
Questions
Exercises
Further reading
Chapter 6: Implementing Continuous Deployment and Release Management
Technical requirements
Continuous delivery and continuous deployment
Working with Azure DevOps releases
Creating artifacts and release triggers
Specifying the stages to deploy the release
Working with deployment groups
Writing multi-stage YAML pipelines
Adding stages to YAML pipelines
Downloading artifacts
Approvals
Implementing CD strategies
Blue-green deployments
Progressive exposure
Blue-green versus canary deployments
Feature flags
Roll back or fail forward
Deploying mobile applications
Connecting to the app store
Using distribution groups
Publishing an app
App Center via Azure Pipelines
Automating release notes
Other tools
Octopus Deploy
Summary
Questions
Exercises
Further reading
Part 3 β Expanding Your DevOps Pipeline
Chapter 7: Dependency Management
Technical requirements
Identifying shared components
Types of feeds
Creating a feed
Setting up a feed
Managing views on a feed
Configuring upstream sources
Publishing packages
Publishing packages manually
Publishing packages from a pipeline
Version basics
Restoring packages
Restoring packages from Visual Studio
Restoring packages from a pipeline
Working with Universal Packages
Uploading and downloading Universal Packages from Azure Pipelines
Uploading and downloading Universal Packages using the Azure CLI
Exploring other tools
MyGet
Artifactory
Azure Container Registry
Summary
Questions
ExercisesΒ
Further reading
Chapter 8: Implement Infrastructure and Configuration as Code
Technical requirements
Having everything as code
Working with ARM templates
Parameters
Variables
Functions
Comments and metadata
Resources
Dependent resources
Nested templates
Outputs
Deploying ARM templates
PowerShell
The Azure CLI
Azure Pipelines
ARM REST API
Azure Cloud Shell
Reverse engineering a template
Using Export template
Using Resource Explorer
Subscription-level templates
Azure Blueprints
Bicep
Using Azure Automation
Automation account resources
Runbooks
PowerShell DSC
Managing application settings
Azure App Service settings from an ARM template
Loading settings at runtime from a key vault
Azure App Configuration
Other tools
CloudFormation
Chef
Puppet
Ansible
Terraform
Summary
ActivityΒ
Questions
Further reading
Chapter 9: Dealing with Databases in DevOps Scenarios
Technical requirements
Managing a database schema as code
Migrations
End state
Applying database schema changes
Upgrading as part of the release
Upgrading with the application code
Adding a process
Going schema-less
Writing objects to the database
Reading objects from the database
Other approaches and concerns
Minimizing the influence of databases
Full side-by-side deployment
Testing database changes
Summary
Questions
Further reading
Chapter 10: Integrating Continuous Testing
Technical requirements
Defining quality
Metrics for quality
Technical debt
Understanding test types
Types of automated functional tests
Types of manual functional tests
Strategies for deciding which types of functional tests you need
Types of non-functional tests
Executing tests in a pipeline
Running unit tests
Running integration tests
Running external tests
Maintaining quality
Code reviews
Automatically gathering quality metrics
Visualizing quality
Quality gates
Summary
Questions
Self exercise
Further reading
Chapter 11: Managing Security and Compliance
Technical requirements
Applying DevOps principles to security and compliance
Bringing developers and security engineers together
Security concerns
Working with secrets
Storing secrets in service connections
Storing secrets in variable groups
Detecting application code vulnerabilities
OWASP Top 10
Implementing automated vulnerability scanning
The OWASP ZAP
Working with dependencies
Working with WhiteSource Bolt
Ensuring infrastructure compliance
Assigning an Azure policy or initiative
Writing an Azure Policy
Initiatives
Fetching audit results
Monitoring and detecting runtime security risks and threats
Other tools you can use
Summary
Questions
Further reading
Part 4 β Closing the Loop
Chapter 12: Application Monitoring
Technical requirements
Investigating application crashes
Gathering crash reports for mobile applications
Gathering crash reports for desktop applications
Instrumenting web applications
Logging
Emitting logs
Metrics
Investigating requests
Optimizing alerting
Having an on-call schedule
Live site reviews
Integrating with other tools
IT service management applications
Azure Boards
Grafana
Summary
Questions
Further reading
Chapter 13: Gathering User Feedback
Understanding continuous feedback
Asking for direct feedback
Advantages of in-product feedback
Having a public roadmap
Using interviews or focus groups
Gathering indirect feedback
Sentiment analysis
Support requests
Implementing hypothesis-driven development
Summary
Questions
Further reading
Part 5 β Advanced Topics
Chapter 14: Adopting the Culture of Continuous Improvement
Measuring your DevOps success
Value stream mapping
A data-driven approach
Operationalizing the feedback loop
Implementing effective feedback loops
Summary
Activity
Further reading
Chapter 15: Accelerate Cloud Adoption through DevOps
The role of DevOps in digital transformation
Modernization and cloud adoption
DevOps is the foundation of modernization
DevOps drives cloud adoption
Managing software delivery modernization
Software life cycle management
Solution architecture
Automation practices
Cloud platform adoption
Agile transformation and iterative planning
Roadmap for transformation
Integrating DevOps in your cloud adoption plan
Case study
Usual challenges and DevOps to the rescue
Summary
Additional reading
Chapter 16: Containers
Technical requirements
An introduction to containers
DevOps and containers
Hosting options
Building a container image
Creating an application
Adding Docker support to an existing application
Creating an image with the application
Running the container image
Building images in Azure DevOps and running them in Azure
Creating a service endpoint
Creating a new pipeline
An introduction to Kubernetes
The functionalities of Kubernetes
Kubernetes core components and services
Operation of Kubernetes
Azure Kubernetes Service
Kubernetes in action
Creating a Kubernetes cluster
Kubernetes infrastructure
Managing Kubernetes
Deploying a container image
Upgrading containers
Scaling containers and Kubernetes
Scaling Pods manually
Scaling nodes
Autoscaling nodes
Deploying to Kubernetes with Azure DevOps
Summary
Questions
Exercises
Further reading
Chapter 17: Planning Your Azure DevOps Organization
Technical requirements
Setting up an Azure DevOps organization
How Azure DevOps is organized
Creating an Azure DevOps organization and project
Azure DevOps security model
Azure DevOps licensing
Ensuring traceability
Consolidating tools
Standardizing tools
Migration strategies
Accepting there is no end state
Summary
Questions
Activity
Further reading
Chapter 18: AZ-400 Mock Exam
Designing a DevOps Strategy
Implementing DevOps Development Processes
Implementing Continuous Integration
Implementing Continuous Delivery
Implementing Dependency Management
Implementing Application Infrastructure
Implementing Continuous Feedback
Answers
Assessments
Chapter 1, Introduction to DevOps
Chapter 2, Site Reliability Engineering Fundamentals
Chapter 3, Getting the Best Out of DevOps Tools
Chapter 4, Everything Starts with Source Control
Chapter 5, Moving to Continuous Integration
Chapter 6, Implementing Continuous Deployment and Release Management
Chapter 7, Dependency Management
Chapter 8, Implement Infrastructure and Configuration as Code
Chapter 9, Dealing with Databases in DevOps Scenarios
Chapter 10, Integrating Continuous Testing
Chapter 11, Managing Security and Compliance
Chapter 12, Application Monitoring
Chapter 13, Gathering User Feedback
Chapter 16, Containers
Chapter 17, Planning Your Azure DevOps Organization
Index
Other Books You May Enjoy
π SIMILAR VOLUMES
<p><span>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</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Explore a step-by-step
Code <p><b>Become a certified Azure Architect and learn how to design effective solutions that span compute, security, networking, and development</b></p><h4>Key Features</h4><ul><li>Discover how you can design and architect powerful and cost-effective solutions on Microsoft Azure</li><li>Prepare t
From designing solutions on Azure to configuring and managing virtual networks, AZ-300 certification can help you achieve all this and more. Whether you want to get certified or gain hands-on experience in administering, developing, and architecting Azure solutions, this study guide will help you ge
From designing solutions on Azure to configuring and managing virtual networks, AZ-300 certification can help you achieve all this and more. Whether you want to get certified or gain hands-on experience in administering, developing, and architecting Azure solutions, this study guide will help you ge
<p><b>A comprehensive guide to becoming a skilled Azure DevOps engineer</b></p><h4>Key Features</h4><ul><li>Explore a step-by-step approach to designing and creating a successful DevOps environment</li><li>Understand how to implement continuous integration and continuous deployment pipelines on Azur