AZ-900: Microsoft Azure Fundamentals
Module 1: Cloud Concepts
Cloud Models
- Public, Private, and Hybrid Cloud
- Compare Cloud Models
Cloud Benefits and Considerations
- Benefits of Cloud
- Cloud Consideration
Cloud Services
- IaaS, PaaS, SaaS
- Sharing responsibility
Module 2: Core Azure Services
Azure Architectural Components
- Regions and Availability Zones
- Subscriptions and Resource Groups
Core Azure Resources
- Compute
- Networking
- Storage
- Databases
Module 3: Core Solutions
Core Azure Solutions
- IoT to Azure Sphere
- Synapse Analytics to Databricks
- AI/ML
Azure Management Tools
- Portal, Powershell, CLI, and Others
- Advisor, Monitor, and Service Health
Module 4: Security
Azure Security Features
- Security Center and Resource Hygiene
- Key Vault, Sentinel, and Dedicated Hosts
Azure Network Security
- Defense in Depth
- Network Security Groups and Firewalls
- DDoS Protection
Module 5: Identity, Governance, Privacy, and Compliance
Azure Identity Services
- Authentication Verses Authorization
- Azure AD, MFA, SSO, and Conditional Access
Azure Governance Features
- RBAC
- Resource locks and Tags
- Policy, Blueprints, and CAF
Azure Privacy and Compliance
- Privacy statements and Online Services Terms
- Trust Center and Compliance Documentation
- Azure sovereign Regions
Module 6: Azure Pricing and Lifecycle
Methods of Managing Costs
- Factors Affecting Costs
- Options to Reduce and Control costs
- Azure Cost Management
Service Level Agreements and Lifecycles
- Azure Service Level Agreement (SLA)
- Factors Impacting SLAs
- Azure Product and Feature Lifecycle
AZ-104: Microsoft Azure Administrator
Module 1: Identity
Azure Active Directory
- Azure Active Directory
- Azure AD Concepts
- AD DS Vs Azure Active Directory
- Azure Active Directory Editions
- Azure AD Joins
- Self-Service Password Reset
Users and Groups
- User Accounts
- Manging User Accounts
- Bulk User Accounts
- Group Accounts
- Managing Multiple Directories
Lab: Users and Groups
Module 2: Governance and Compliance
Subscriptions and Accounts
- Regions
- Azure Subscription
- Getting a Subscription
- Subscription Usage
- Cost Management
- Resource Tags
- Cost Savings
Azure Policy
- Management Groups
- Azure Policy
- Implementing Azure Policy
- Policy Definitions
- Create Initiative Definitions
- Scope the Initiative Definition
- Determine Compliance
Lab: Azure Policy
Role-Based Access Control
- Role-Based Access Control
- Role Definition
- Role Assignment
- Azure RBAC Roles Vs Azure Administrator Roles
- RBAC Authentication
- Azure RBAC Roles
Lab: RBAC Roles
Module 3: Azure Administration
Resource Manager
- Resource Manager
- Terminology
- Resource Group Deployments
- Resource Manager Locks
- Moving Resources
- Removing Resources and Resource Groups
- Resource Limits
Lab: Resource Groups
Azure Portal and Cloud Shell
- Azure Portal
- Power Shell
Lab: Azure Portal, Power Shell
Azure Power shell and CLI
- Azure Power Shell
- Power Shell Cmdlets and Modules
- Azure CLI
Lab: Working with PowerShell and Azure CLI locally
ARM Templates
- Template Advantages
- Template Schema
- Template Parameters
- QuickStart Templates
Lab: 1. QuickStart Templates
2. Run Templates with Power Shell
Module 4: Virtual Networking
Virtual Networks
- Azure Networking Components
- Virtual Networks
- Subnets
- Implementing Virtual Networks
Lab: Creating Virtual Networks
IP Addressing
- IP Addressing
- Creating IP Addresses
- Public IP Addresses
- Private IP Addresses
Network Security Groups (NSG)
- NSG Rules
- NSG Effective Rules
- Creating NSG Rules
Lab: NSG
Azure Firewall
- Azure Firewall
- Implementing Firewalls
- Firewall Rules
Azure DNS
- Domains and Custom Domains
- Verifying Custom Domain Names
- Azure DNS Zones
- DNS Delegation
- DNS Record Sets
- DNS for Private Domains
- Private Zone Scenarios
Lab: DNS Name Resolution
Module 5: Intersite Connectivity
Vnet Peering
- Gateway transit and Connectivity
- Configure Vnet Peering
- Service Chaining
Lab: Vnet Peering
VPN Gateway Connections
- Implement Site-to-Site VPN Connection
- Create the Gateway Subnet
- VPN Gateway Configuration
- VPN Gateway Types
- VPN Gateway and SKU Generation
- Create the Local Network Gateway
- Configure the On-premises VPN Devices
- Create the VPN Connection
- High Availability Scenarios
Lab: VPN Gateway
ExpressRoute and Virtual WAN
- ExpressRoute
- ExpressRoute Capabilities
- Co-Existing Site-to-Site and ExpressRoute
- Intersite Connection Comparisons
- Virtual WANs
Module 6: Network Traffic Management
Network Routing and Endpoints
- System Routes
- User Defined Routes
- Routing Examples
- Create a Routing Table
- Create a Custom Route
- Associate the Route Table
- Service Endpoints
- Service Endpoint Services
- Private Link
Lab: Custom Routing Tables
Azure Load Balancer
- Public Load Balancer
- Internal Load Balancer
- Load Balancer SKUs
- Backend Pools
- Load Balancer Rules
- Session Persistence
- Health Probs
Azure Application Gateway
- Application Gateway
- Application Gateway Routing
- Application Gateway Configuration
Module 7: Azure Storage
Storage Accounts
- Azure Storage Services
- Storage Accounts Kinds
- Replication Strategies
- Accessing Storage
- Securing Storage Endpoints
Lab: Securing Storage Endpoints
Blob Storage
- Blob Containers
- Blob Access Tires
- Blob Lifecycle Management
- Uploading Blobs
- Storage Pricing
Lab: Blob Storage
Storage Security
- Shared Access Signatures
- URI and SAS Parameters
- Storage Service Encryption
- Customer-Managed Keys
- Storage Security Best Practices
Lab: SAS (Portal)
Azure Files and File Sync
- Files Vs Blobs
- Managing File Shares
- File Share Snapshots
- Azure File Sync
- Azure File Sync Components
- File Sync Steps
Lab: File Shares
Managing Storage
- Storage Explorer
- Import and Export Service
- AzCopy
Lab: Storage Explorer, AzCopy
Module 8: Azure Virtual Machines
Virtual Machine Planning
- IaaS Cloud Services
- Planning Checklist
- Location and Pricing
- Virtual Machine Sizing
- Virtual Machine Disks
- Storage Options
- Supported Operating Systems
- Virtual Machine Connections
Creating Virtual Machines
- Creating a Virtual Machine in the Portal
- Windows Virtual Machines
- Linux Virtual Machines
- Windows VM Connections
- Linux VM Connections
Lab: 1. Creating a VM in Portal
2. Connect to Linux Virtual Machine
Virtual Machine Availability
- Maintenance and Downtime
- Availability Sets
- Update and Fault Domains
- Availability Zones
- Scale Sets
- Scaling Concepts
- Implementing Scale Sets
- Autoscale
- Implementing Autoscale
Virtual Machine Extensions
- Virtual Machine Extensions
- Custom Script Extensions
- Desired State Configuration
Lab: Custom Script Extensions
Module 9: Serverless Computing
Azure App Service Plans
- Azure App Service Plans
- App Service Plan Pricing Tires
- App Service Plan Scaling
- AppService Plan Scale-Out
Lab: Create App Service Plan
Managing App Services
- Azure App Service
- Creating an App Service
- Continuous Deployment
- Deployment Slots
- Creating Deployment Slots
- Securing an App service
- Custom Domain Names
- Backup an App Service
- Application Insights
Lab: Create an App Service
Container Services
- Containers Vs Virtual Machine
- Azure Container Instances
- Container Groups
- Docker
Azure Kubernetes Services (AKS)
- AKS Terminology
- AKS Cluster and Nodes
- AKS Networking
- AKS Storage
- AKS Security
- AKS and Azure Active Directory
- AKS Scaling
- AKS Scaling to ACI
- Virtual Kubelet
Lab: Deploy Azure Kubernetes Service
Module 10: Data Protection
File and Folder Backups
- Azure Backups
- Recovery Service Vault Backup Options
- Implementing On-premises File and Folder Backups
- Microsoft Azure Recovery Services Agent
Lab: Backup files and Folders
Virtual Machine Backups
- Virtual Machine Data Protection
- Workload Protection Needs
- Virtual Machine Snapshots
- Recovery Services Vault VM Backup Options
- Implementing VM Backups
- Implementing VM Restore
- Azure Backup Server
- Backup Component Comparison
- Soft Delete
- Azure Site Recovery
- Azure to Azure Architecture
Module 11: Monitoring
Azure Monitor
- Azure Monitor service
- Key Capabilities
- Monitoring Data Platform
- Log Data
- Data types
- Activity Log
- Query the Activity Log
Azure Alerts
- Azure Monitor alerts
- Creating Alert Rules
- Action Groups
Labs: Alerts
Log Analytics
- Log Analytics
- Creating a Workspace
- Connected Sources
- Data Sources
- Log Analytics Querying
- Query Language Syntax
Lab: Log Analytics
Network Watcher
- Network Watcher Diagnostics
- Diagnostics – IP Flow Verify
- Diagnostics – Next Hop
- Diagnostics – Effective Security Rules
- Diagnostics – VPN Troubleshoot
- Diagnostics – Packet Captures
- Diagnostics – Connection Troubleshoot
- Logs – NSG Flow Logs
- Monitoring - Topology
AZ-400: Designing and Implementing Microsoft DevOps Solutions
Module 1: Planning for DevOps
Transformation Planning
- What is DevOps?
- The DevOps journey
- Separating transformation teams
- Defining shared goals
- Setting timelines for goals
Project selection
- Greenfield and brownfield projects defined
- Choosing greenfield and brownfield projects
- Choosing systems of record versus systems of engagement
- Selecting groups to minimize initial resistance
- Identifying project metrics and Key Performance Indicators (KPIs)
Team structures
- Agile development practices defined
- Principles of agile development
- Creating organizational structures for agile practices
- Ideal DevOps team members
- Mentoring team members on agile practices
- Enabling in-team and cross-team collaboration
- Selecting tools and processes for agile practices
Migrating to DevOps
- What can Azure DevOps do?
- What can GitHub do?
- Designing an authorization and access strategy for Azure DevOps
- Migrating or integrating existing work management tools
- Migrating or integrating existing test management tools
- Designing a license management strategy
Lab: Agile planning and portfolio management with Azure Boards
Module 2: Getting Started with Source Control
Source control
- Introduction to source control
- Foundational practices of DevOps
- Best practices for source control
Types of source control systems
- Centralized source control
- Distributed source control
- Git and TFVC
Lab: Working with Git Locally
Introduction to Azure Repos
- Azure Repos
Introduction to GitHub
- What is GitHub?
- Linking GitHub to Azure Boards
Lab: Version controlling with Git in Azure Repos
Module 3: Managing Technical Debt
Identifying technical debt
- Code quality defined
- Complexity metrics
- Measuring and managing quality metrics
- Technical debt defined
- Sources and impacts of technical debt
- Using automated testing to measure technical debt
- Measuring and managing technical debt
- Integrating other code quality tools
Knowledge sharing within teams
- Sharing acquired knowledge within development teams
- Azure DevOps project wikis
- Wiki contents
Modernizing development environments with GitHub Codespaces
- Developing online with GitHub Codespaces
Lab: Sharing team knowledge using Azure project wikis
Module 4: Working with Git for Enterprise DevOps
Git branching workflows
- Branching workflow types
- Feature branch workflow
- GitFlow branch workflow
- Forking workflow
Collaborating with pull requests
- Git Hub mobile for pull request approvals
- Fostering inner source
- Implementing the forking workflow
Managing Git Repositories
- Working with large repositories
- Purging repository data
Lab: Version controlling with Git in Azure Repos
Module 5: Configuring Azure Pipelines
The concept of pipelines in DevOps
- The concept of pipelines in DevOps
- Azure Pipelines
- Azure Pipelines key terms
Evaluate the use of Microsoft-hosted vs self-hosted agents
- Microsoft-hosted versus self-hosted agents
- Job types
Agent pools
- Agent pools
- Predefined agent pool – Azure pipelines
- Typical situations for agent pools
- Security of agent pools
Pipelines and concurrency
- Parallel jobs
- Estimating parallel jobs
Azure Pipelines YAML versus Visual Designer
- Azure Pipelines and Visual Designer
- Azure Pipelines and YAML
Lab: Configuring Agent Pools and Understanding Pipeline Styles
Module 6: Implementing Continuous Integration using Azure Pipelines
Continuous integration overview
- Introduction to continuous integration
- The four pillars of continuous integration
- Benefits of continuous integration
- Build number formatting and build status
- Authorization and timeouts, and badges
Implementing a build strategy
- Configuring agent demands
- Implementing multi-agent builds
- Discussion: build-related tooling
Integrate with Azure Pipelines
- Anatomy of a pipeline
- Pipeline structure
- Templates
- YAML resources
- Using multiple repositories in your pipeline
- Source control types supported by Azure Pipelines
Set up self-hosted agents
- Communication with Azure Pipelines
- Communication to deploy to target servers
Lab: 1. Enabling continuous integration with Azure Pipelines
2. Integrating external source control with Azure Pipelines
Module 7: Managing Application Configuration and Secrets
Security
- Introduction to Security
- SQL injection attack
Implement a secure development process
- Threat modeling
- Key validation points
- Continuous integration
Rethinking application configuration data
- Rethinking application config data
- Separation of concerns
- External configuration store patterns
- Integrating Azure Key Vault with Azure Pipeline
Manage secrets, tokens, and certificates
- Manage secrets, tokens, and certificates
- DevOps inner and outer loop
Integrating with identity management systems
- Integrating GitHub with single sign-on (SSO)
- Service principals
- Managed service identities
Implementing application configuration
- Azure App configuration service
- Key-value pairs
- App configuration feature management
Lab: Integrating Azure Key Vault with Azure DevOps
Module 8: Implementing Continuous Integration with GitHub Actions
GitHub Actions
- Actions
- Actions flow
- Workflows
- Standard workflow syntax elements
- Events, Jobs, Runners
- Console output from actions
- Release management for actions
- Testing an action
Continuous integration with GitHub Actions
- Continuous integration with actions
- Environment variables
- Passing artifacts between jobs
- Workflow badges
- Marking releases with Git tags
Securing secrets for GitHub Actions
- Creating encrypted secrets
- Using secrets in a workflow
Lab: Implementing GitHub Actions by using DevOps Starter
Module 9: Designing and Implementing a Dependency Management Strategy
Packaging dependencies
- Dependency management
- Elements of a dependency management strategy
- Identifying dependencies
- Source and package componentization
- Decompose your system
- Scanning your codebase for dependencies
Package management
- Packages
- Package feeds
- Package feed managers
- Common public package sources
- Self-hosted and SaaS-based package sources
- Consuming packages
- Azure Artifacts
- Publishing packages
Migrating and consolidating artifacts
- Identifying existing artifact repositories
Package security
- Securing access to package feeds
- Roles, Permissions, Authentication
Implement a versioning strategy
- Introduction to versioning
- Versioning of artifacts
- Semantic versioning
- Release views
- Promoting packages
Lab: Package management with Azure Artifacts
Module 10: Designing a Release Strategy
Introduction to continuous delivery
- Traditional IT development cycle
- Moving to continuous delivery
- Continuous delivery
- Releases and deployments
Release strategy recommendations
- Release pipelines
- Artifact sources
- Considerations for choosing the appropriate artifact source
- Considerations for deployment to stages
- Delivery cadence – three types of triggers
- Release approvals
Building a high-quality release pipeline
- Release process versus release
- How to measure the quality of your release process
- Using release gates to protect the quality
- Release notes and documentation
Choosing the right release management tool
- Considerations for choosing release management tools
- Common release management tools
Lab: 1. Controlling deployments using Release Gates
2. Creating a release dashboard
Module 11: Implementing Continuous Deployment using Azure Pipelines
Create a release pipeline
- Azure DevOps release pipelines
- Build and release tasks
- Release jobs
- Multi-configuration and multi-agent
Provision and configure environments
- Provision and configure target environments
Manage and modularize tasks and templates
- Task groups
- Variables in release pipelines
- Variable groups
- Custom build/release tasks
Configure automated integration and functional test automation
- Configure automated integration and functional test automation
- Setting up test infrastructure
- Setting up and running availability tests
Automate inspection of health
- Automate inspection of health
- Events, subscriptions, and notifications
- Service hooks
Lab: 1. Configuring pipelines as code with YAML
2. Setting up and running functional tests
Module 12: Implementing an Appropriate Deployment Pattern
Deployment patterns
- Introduction to continuous delivery and continuous deployment
- Microservices architecture
- Classical deployment patterns
- Modern deployment patterns
Implement blue-green deployment
- Blue-green deployment
- Deployment slots
Feature toggles
- Introduction to feature toggles
- Feature toggle maintenance
Canary releases
- Canary releases
- Traffic manager
- Dark launching
- A/B testing
Progressive exposure deployment
- CI/CD with deployment rings
Lab: Feature flag management with Launch Darkly and Azure DevOps
Module 13: Managing Infrastructure and Configuration using Azure Tools
Infrastructure as code and configuration management
- Environment deployment
- Environment configuration
- Imperative versus declarative configuration
- Idempotent configuration
Create Azure resources using ARM templates
- Use ARM templates
- Template components
- Manage dependencies
- Modularize templates
- Managing secrets in templates
Create Azure resources using Azure CLI
- Azure CLI
- Working with Azure CLI
Azure Automation with DevOps
- Azure Automation
- Automation accounts
- Runbook
- Automation shared resources
- Runbook Gallery, Webhooks
- Source control integration
- Creating a workflow
- Checkpoint and parallel processing
Desired State Configuration (DSC)
- Configuration drift
- Desired State Configuration (DSC)
- Azure Automation State Configuration
- DSC configuration file
- Hybrid management
- DSC and Linux Automation on Azure
Lab: Deployments using Azure Resource Manager templates
Module 14: Third-party Infrastructure as Code Tools Available with Azure
Chef
- Chef Automate
- Chef Cookbooks
- Chef Knife Command
Puppet
- Deploying Puppet in Azure
- Manifest files
Ansible
- Ansible workflow
- Ansible components
- Installing Ansible
- Ansible on Azure
- Playbook structure
Terraform
- Terraform components
- Terraform on Azure
- Installing Terraform
- Terraform config file structure
Lab: 1. Ansible with Azure
2. Automating infrastructure deployments in the cloud with Terraform and Azure Pipelines
Module 15: Managing Containers using Docker
Implementing a container build strategy
- Containers
- Structure of containers
- Docker containers and development
- Working with Docker containers
- Microservices and containers
- Docker container registries
- Dockerfile core concepts
Implementing Docker multi-stage builds
- Multiple stages builds
- Multi-stage Dockerfiles
- Considerations for multiple stages builds
Lab: Deploying Docker containers to Azure App Service web apps
Module 16: Creating and Managing Kubernetes Service Infrastructure
Azure Kubernetes Service
- Kubernetes overview
- Azure Kubernetes Service
- AKS architectural components
- Kubernetes networking
- Ingress controllers
- Deployment units
- Continuous deployment
Kubernetes tooling
- Kubectl
- Helm
- Kubernetes extension for Visual Studio Code
Integrating AKS with pipelines
- Kubernetes and Azure Key Vault
- Readiness, startup, and liveness probes
Lab: Deploying a multi-container application to Azure Kubernetes Services
Module 17: Implementing Feedback for Development Teams
Implement tools to track system usage, feature usage, and flow
- Introduction to continuous monitoring
- Azure Log Analytics
- Kusto Query Language (KQL)
- Application Insights
Implement routing for mobile application crash report data
- App Center Diagnostics
- Configure alerts
- Create a bug tracker
Develop monitoring and status dashboards
- Power BI
- Grafana
- IT Service Management Connector
Lab: Monitoring application performance with Application Insights
Module 18: Implementing System Feedback Mechanisms
Site reliability engineering
- site reliability engineering
Design practices to measure end-user satisfaction
- Capturing end-user satisfaction
- Capturing feedback in product
- Feedback from product roadmap
- Twitter sentiment release gate
Design processes to automate application analytics
- Rapid responses and augmented search
- Integrating telemetry
- Recommending monitoring tools and technologies
Managing alerts
- When would I get a notification?
- How do I fix it?
- Smart detection notifications
- How can I improve performance?
- Reducing meaningless and non-actionable alerts
Lab: Integration between Azure DevOps and Microsoft Teams
Module 19: Implementing Security in DevOps Projects
Security in the pipeline
- rugged DevOps
- Rugged DevOps pipeline
- Software composition analysis (SCA)
- WhiteSource integration with Azure DevOps pipeline
- Micro Focus Fortify integration with Azure Pipelines
- Checkmarx integration with Azure DevOps
- Veracode integration with Azure DevOps
- Implementing pipeline security
- Secure DevOps Kit for Azure (AzSK)
Azure Security Center
- Azure Security Center usage scenarios
- Azure Policy
- Resource locks
- Azure Blueprints
- Azure Advanced Threat Protection (ATP)
Lab: Implement security and compliance in Azure DevOps Pipelines
Module 20: Validating Code Bases for Compliance
Open-source software
- How software is built
- open-source software
- Corporate concerns with open-source software components
- Open-source licenses
- License implications and ratings
Managing security and compliance policies
- Inspecting and validating code bases for compliance
- Planning to implement OWASP Secure Coding Practices
Integrating license and vulnerability scans
- Implement continuous security validation
- OWASP ZAP penetration testing
- OWASP ZAP results and bugs
- Tools for assessing package security and license rating
- SonarCloud
- Interpret alerts from scanning tools
- CodeQL in GitHub
- GitHub Dependabot alerts and security updates