Exam DP-420: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB Crash Course
Published by Pearson
Get a jump start on passing Exam DP-420 and becoming a certified Microsoft Azure Cosmos DB Developer!
- Covers the skills measured by Microsoft Exam DP-420 in just six hours
- Advance your career as an Azure Cosmos database developer
- Includes valuable certification testing tips, tricks, and gotchas the learner can apply to any Microsoft certification exam
Azure Cosmos DB is Microsoft's flagship NoSQL product in its Azure product portfolio.
The Azure Cosmos DB Developer Specialty certification is a stand-alone credential with no prerequisites. The skill set validates the candidate knows how to design, build, optimize, and troubleshoot data solutions by using Azure Cosmos DB in a variety of contexts.
This certification is unique inasmuch as it is Microsoft's only NoSQL database-oriented credential; all the other certs deal with Microsoft's SQL-based relational databases. Nowadays, businesses increasingly recognize the value of non-relational databases and seek to integrate them in their line-of-business applications.
What you’ll learn and how you can apply it
By the end of the live online course, you’ll understand:
- Design and implement data models
- Design and implement data distribution
- Integrate, optimize, and maintain an Azure Cosmos DB solution
And you’ll be able to:
- Design and implement a non-relational data model for Azure Cosmos DB Core API
- Design a data partitioning strategy for Azure Cosmos DB Core API
- Plan and implement sizing and scaling for a database created with Azure Cosmos DB
- Implement data access by using the Azure Cosmos DB SQL language
- Monitor and troubleshoot an Azure Cosmos DB solution
- Implement backup and restore for an Azure Cosmos DB solution
This live event is for you because...
- Microsoft Azure Cosmos DB Developer certification candidates
- Database architects/developers who need to work in Microsoft Azure
- Application /architects/developers who need to work in Microsoft Azure
Prerequisites
According to Microsoft, "Candidates for the Azure Cosmos DB Developer Specialty certification should have subject matter expertise designing, Implementing, and Monitoring cloud-native applications that store and manage data."
Course Set-up
- Internet connection
- Microsoft Azure Free Account
- Visual Studio Code (free)
- Visual Studio 2022 Community Edition (free)
Recommended Preparation
- Read: NoSQL for Mere Mortals, by Dan Sullivan [Addison-Wesley Professional]
- Watch: Exam DP-900 Microsoft Azure Data Fundamentals (Video), by Chris Sorensen [Microsoft Press]
Recommended Follow-up
- Read: Database Design for Mere Mortals: 25th Anniversary Edition, 4th Edition, by Michael J. Hernandez [Addison-Wesley Professional]
- Watch: Getting Started with Microsoft Cosmos DB Using C#: Cloud Database Support for .NET Applications (Video), by Kevin McDonnell [Apress]
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
DAY 1
Introduction (10 minutes)
Module 1: Design and Implement a non-relational data model for Azure Cosmos DB Core API (15 minutes)
- Develop a design by storing multiple entity types in the same container
- Develop a design by storing multiple related entities in the same document
- Develop a model that denormalizes data across documents
- Develop a design by referencing between documents
- Identify primary and unique keys
- Identify data and associated access patterns
- Specify a default TTL on a container for a transactional store
Module 2: Design a data partitioning strategy for Azure Cosmos DB Core API (15 minutes)
- Choose a partition strategy based on a specific workload
- Choose a partition key
- Plan for transactions when choosing a partition key
- Evaluate the cost of using a cross-partition query
- Calculate and Evaluate data distribution based on partition key selection
- Calculate and Evaluate throughput distribution based on partition key selection
- Construct and Implement a synthetic partition key
- Design partitioning for workloads that require multiple partition keys
Module 3: Plan and Implement sizing and scaling for a database created with Azure Cosmos DB (15 minutes)
- Evaluate the throughput and data storage requirements for a specific workload
- Choose between serverless and provisioned models
- Choose when to use database-level provisioned throughput
- Design for granular scale units and resource governance
- Evaluate the cost of the global distribution of data
- Configure throughput for Azure Cosmos DB by using the Azure portal
Module 4: Implement client connectivity options in the Azure Cosmos DB SDK (15 minutes)
- Choose a connectivity mode (gateway versus direct)
- Implement a connectivity mode
- Create a connection to a database
- Enable offline development by using the Azure Cosmos DB emulator
- Handle connection errors
- Implement a singleton for the client
- Specify a region for global distribution
- Configure client-side threading and parallelism options
- Enable SDK logging
Module 5: Implement data access by using the Azure Cosmos DB SQL language (15 minutes)
- Implement queries that use arrays, nested objects, aggregation, and ordering
- Implement a correlated subquery
- Implement queries that use array and type-checking functions
- Implement queries that use mathematical, string, and date functions
- Implement queries based on variable data
Q&A BREAK (10 minutes)
Module 6: Implement data access by using SQL API SDKs (15 minutes)
- Choose when to use a point operation versus a query operation
- Implement a point operation that creates, updates, and deletes documents
- Implement an update by using a patch operation
- Manage multi-document transactions using SDK Transactional Batch
- Perform a multi-document load using SDK Bulk
- Implement optimistic concurrency control using ETags
- Implement session consistency by using session tokens
- Implement a query operation that includes pagination
- Implement a query operation by using a continuation token
- Handle transient errors and 429s
- Specify TTL for a document
- Retrieve and use query metrics
Module 7: Implement server-side programming in Azure Cosmos DB Core API by using JavaScript (15 minutes)
- Write, deploy, and call a stored procedure
- Design stored procedures to work with multiple items transactionally
- Implement triggers
- Implement a user-defined function
Module 8: Design and Implement a replication strategy for Azure Cosmos DB (15 minutes)
- Choose when to distribute data
- Define automatic failover policies for regional failure for Azure Cosmos DB Core API
- Perform manual failovers to Move single master write regions
- Choose a consistency model
- Identify use cases for different consistency models
- Evaluate the impact of consistency model choices on availability and associated RU cost
- Evaluate the impact of consistency model choices on performance and latency
- Specify application connections to replicated data
Module 9: Design and Implement multi-region write (15 minutes)
- Choose when to use multi-region write
- Implement multi-region write
- Implement a custom conflict resolution policy for Azure Cosmos DB Core API
Module 10: Enable Azure Cosmos DB analytical workloads (15 minutes)
- Enable Azure Synapse Link
- Choose between Azure Synapse Link and Spark Connector
- Enable the analytical store on a container
- Enable a connection to an analytical store and query from Azure Synapse Spark or Azure Synapse SQL
- Perform a query against the transactional store from Spark
Write data back to the transactional store from Spark
DAY 2
Review (10 minutes)
Module 11: Implement solutions across services (15 minutes)
- Integrate events with other applications by using Azure Functions and Azure Event Hubs
- Denormalize data by using Change Feed and Azure Functions
- Enforce referential integrity by using Change Feed and Azure Functions
- Aggregate data by using Change Feed and Azure Functions, including reporting
- Archive data by using Change Feed and Azure Functions
- Implement Azure Cognitive Search for an Azure Cosmos DB solution
Module 12: Optimize query performance in Azure Cosmos DB Core API (15 minutes)
- Adjust indexes on the database
- Calculate the cost of the query
- Retrieve request unit cost of a point operation or query
- Implement Azure Cosmos DB integrated cache
Module 13: Design and Implement change feeds for an Azure Cosmos DB Core API (15 minutes)
- Develop an Azure Functions trigger to process a change feed
- Consume a change feed from within an application by using the SDK
- Manage the number of change feed instances by using the change feed estimator
- Implement denormalization by using a change feed
- Implement referential enforcement by using a change feed
- Implement aggregation persistence by using a change feed
- Implement data archiving by using a change feed
Module 14: Define and Implement an indexing strategy for an Azure Cosmos DB Core API (15 minutes)
- Choose when to use a read-heavy versus write-heavy index strategy
- Choose an appropriate index type
- Configure a custom indexing policy by using the Azure portal
- Implement a composite index
- Optimize index performance
Module 15: Monitor and troubleshoot an Azure Cosmos DB solution (15 minutes)
- Evaluate response status code and failure metrics
- Monitor metrics for normalized throughput usage by using Azure Monitor
- Monitor server-side latency metrics by using Azure Monitor
- Monitor data replication in relation to latency and availability
- Configure Azure Monitor alerts for Azure Cosmos DB
- Implement and query Azure Cosmos DB logs
- Monitor throughput across partitions
- Monitor distribution of data across partitions
- Monitor security by using logging and auditing
Q&A
BREAK (10 minutes)
Module 16: Implement backup and restore for an Azure Cosmos DB solution (15 minutes)
- Choose between periodic and continuous backup
- Configure periodic backup
- Configure continuous backup and recovery
- Locate a recovery point for a point-in-time recovery
- Recover a database or container from a recovery point
Module 17: Implement security for an Azure Cosmos DB solution (15 minutes)
- Choose between service-managed and customer-managed encryption keys
- Configure network-level access control for Azure Cosmos DB
- Configure data encryption for Azure Cosmos DB
- Manage control plane access to Azure Cosmos DB by using Azure role-based access control (RBAC)
- Manage data plane access to Azure Cosmos DB by using keys
- Manage data plane access to Azure Cosmos DB by using Azure Active Directory
- Configure Cross-Origin Resource Sharing (CORS) settings
- Manage account keys by using Azure Key Vault
- Implement customer-managed keys for encryption
- Implement Always Encrypted
Module 18: Implement data Movement for an Azure Cosmos DB solution (15 minutes)
- Choose a data Movement strategy
- Move data by using client SDK bulk operations
- Move data by using Azure Data Factory and Azure Synapse pipelines
- Move data by using a Kafka connector
- Move data by using Azure Stream Analytics
- Move data by using the Azure Cosmos DB Spark Connector
Module 19: Implement a DevOps process for an Azure Cosmos DB solution (15 minutes)
- Choose when to use declarative versus imperative operations
- Provision and manage Azure Cosmos DB resources by using Azure Resource Manager templates (ARM templates)
- Migrate between standard and autoscale throughput by using PowerShell or Azure CLI
- Initiate a regional failover by using PowerShell or Azure CLI
- Maintain index policies in production by using ARM templates
Module 20: Microsoft Certification Preparation (15 minutes)
- Online testing process
- Practice exam software
- Gaining hands-on practice
- Test-taking strategies
- Next steps post-exam
Your Instructor
Tim Warner
Tim Warner has been a Microsoft MVP in Azure AI and Cloud/Datacenter Management for 6 years and a Microsoft Certified Trainer for more than 25 years. His O'Reilly Live Training classes on generative AI, GitHub, DevOps, data engineering, cloud computing, and Microsoft certification reach hundreds of thousands of students around the world. He's written for Microsoft Press, presented at Microsoft Ignite, and contributed to several Microsoft open-source projects. You can connect with Tim on LinkedIn: timw.info/li.