Overview
Unlock opportunities with Azure Cosmos DB.
This DP-420T00: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB course teaches developers how to create application using the SQL API and SDK for Azure Cosmos DB. Students will learn how to write efficient queries, create indexing policies, manage and provisioned resources, and perform common operations with the SDK.
Skills Covered
- Create and configure Azure Cosmos DB SQL API account, database, and container
- Use the .NET SDK to manage resources and perform operations
- Perform queries of varying complexity
- Design a data modeling and partitioning strategy
- Optimize queries and indexes based on characteristics of an application
- Use the Azure Resource Manager to manage accounts and resources with CLI or JSON and Bicep templates
Who Should Attend
Software engineers tasked with authoring cloud-native solutions that leverage Azure Cosmos DB SQL API and its various SDKs. They are familiar with C#, Python, Java, or JavaScript. They also have experience writing code that interacts with a SQL or NoSQL database platform.
Course Curriculum
Prerequisites
Before attending this course, students must have:
- Knowledge of Microsoft Azure and ability to navigate the Azure portal (AZ-900 equivalent)
- Experience writing in an Azure-supported language at the intermediate level. (C#, JavaScript, Python, or Java)
- Ability to write code to connect and perform operations on a SQL or NoSQL database product. (SQL Server, Oracle, MongoDB, Cassandra or similar)
Download Course Syllabus
Course Modules
Modern apps thrive on real-time data from different sources and shaped in different forms. These apps require a modern database that can handle the variety and velocity of data that will be thrown at it. In this module, we will explore Azure Cosmos DB and how the SQL API can solve some of the problems presented by modern applications.
Lessons
- Introduction to Azure Cosmos DB SQL API
- Try Azure Cosmos DB SQL API
Lab : Exercise: Create an Azure Cosmos DB SQL API account
After completing this module, students will be able to:
- Evaluate whether Azure Cosmos DB SQL API is the right database for your application
- Describe how the features of the Azure Cosmos DB SQL API are appropriate for modern applications
- Create a new Azure Cosmos DB SQL API account
- Create database, container, and item resources for an Azure Cosmos DB SQL API account
Creating a new Azure Cosmos DB account often requires making a lot of configuration choices that can, at first, be daunting. While the defaults fit a lot of scenarios, it makes the most sense to familiarize yourself with the configuration options to ensure that your account and resources are optimally configured for your solution. In this module, you will learn how to prepare and configure an Azure Cosmos DB account and resources for a new solution.
Lessons
- Plan Resource Requirements
- Configure Azure Cosmos DB SQL API database and containers
- Moving data into and out of Azure Cosmos DB SQL API
Lab : Exercise: Configure throughput for Azure Cosmos DB SQL API with the Azure portal
Lab : Exercise: Migrate existing data using Azure Data Factory
After completing this module, students will be able to:
- Evaluate various requirements of your application
- Plan for scale and retention requirements
- Configure throughput allocation
- Configure time-to-live values
- Migrate data using Azure services
- Migrate data using Spark or Kafka
There are various SDKs available to connect to the Azure Cosmos DB SQL API from many popular programming languages including, but not limited to .NET (C#), Java, Python, and JavaScript (Node.js). In this module, you will get hands-on with with the .NET SDK for the Azure Cosmos DB SQL API.
Lessons
- Use the Azure Cosmos DB SQL API SDK
- Configure the Azure Cosmos DB SQL API SDK
Lab : Exercise: Configure the Azure Cosmos DB SQL API SDK for offline development
Lab : Exercise: Connect to Azure Cosmos DB SQL API with the SDK
After completing this module, students will be able to:
- Integrate the Microsoft.Azure.Cosmos SDK library from NuGet
- Connect to an Azure Cosmos DB SQL API account using the SDK and .NET
- Configure the SDK for offline development
- Troubleshoot common connection errors
- Implement parallelism in the SDK
- Configure logging using the SDK
The SQL API SDK for Azure Cosmos DB is used to perform various point operations, perform transactions, and to process bulk data. In this module, you will use the SDK to manipulate documents either individually or in groups.
Lessons
- Implement Azure Cosmos DB SQL API point operations
- Perform cross-document transactional operations with the Azure Cosmos DB SQL API
- Process bulk data in Azure Cosmos DB SQL API
Lab : Exercise: Create and update documents with the Azure Cosmos DB SQL API SDK
Lab : Exercise: Batch multiple point operations together with the Azure Cosmos DB SQL API SDK
Lab : Exercise: Move multiple documents in bulk with the Azure Cosmos DB SQL API SDK
After completing this module, students will be able to:
- Perform CRUD operations using the SDK
- Configure TTL for a specific document
- Implement optimistic concurrency control for an operation
- Create a transactional batch and review results
- Create a bulk operation
- Review the results of a bulk operation
- Implement bulk operation best practices
The Azure Cosmos DB SQL API supports Structured Query Language (SQL) as a JSON query language. In this module, you will learn how to create efficient queries using the SQL query language.
Lessons
- Query the Azure Cosmos DB SQL API
- Author complex queries with the Azure Cosmos DB SQL API
Lab : Exercise: Paginate cross-product query results with the Azure Cosmos DB SQL API SDK
Lab : Exercise: Execute a query with the Azure Cosmos DB SQL API SDK
After completing this module, students will be able to:
- Create and execute a SQL query
- Project query results
- Use built-in functions in a query
- Implement a corelated subquery
- Create a cross-product query
By default, Azure Cosmos DB automatically indexes all paths of documents stored using the SQL API. This is great for developing new applications as you can create complex queries almost immediately. As your application matures, you can customize your indexing policy to better match the needs of your solution. In this module, you will learn how to create a custom indexing policy.
Lessons
- Define indexes in Azure Cosmos DB SQL API
- Customize indexes in Azure Cosmos DB SQL API
Lab : Exercise: Review the default index policy for an Azure Cosmos DB SQL API container with the portal
Lab : Exercise: Configure an Azure Cosmos DB SQL API container’s index policy with the portal
After completing this module, students will be able to:
- View and understand the default indexing policy for a SQL API container
- Customize the indexing policy for a container
- Use a composite index in an indexing policy
Azure Cosmos DB has tight integration available with many other Azure servicers such as Azure Functions, Azure Cognitive Search, Azure Event Hubs, Azure Storage, Azure Data Factory, and Azure Stream Analytics. Going even further, you can use the change feed to integrate Azure Cosmos DB with many other services both in and out of Azure. In this module, we will integrate Azure Cosmos DB with both Azure Functions and Azure Cognitive Search. We will also explore the change feed using the SDK.
Lessons
- Consume an Azure Cosmos DB SQL API change feed using the SDK
- Handle events with Azure Functions and Azure Cosmos DB SQL API change feed
- Search Azure Cosmos DB SQL API data with Azure Cognitive Search
Lab : Exercise: Archive Azure Cosmos DB SQL API data using Azure Functions
Lab : Exercise: Process change feed events using the Azure Cosmos DB SQL API SDK
Lab : Exercise: Archive data using Azure Functions and Azure Cosmos DB SQL API
After completing this module, students will be able to:
- Process change feed events using the SDK
- Implement change feed best practices
- Create an Azure Functions trigger for Azure Cosmos DB
- Create an Azure Functions input for Azure Cosmos DB
- Index Azure Cosmos DB data in Azure Cognitive Search
Azure Cosmos DB is both horizontally scalable and nonrelational. To achieve this level of scalability, users need to understand the concepts, techniques, and technologies unique to NoSQL databases for modeling and partitioning data. In this module, you will model and partition data appropriately for a NoSQL database such as Azure Cosmos DB SQL API.
Lessons
- Model and partition your data in Azure Cosmos DB
- Optimize databases by using advanced modeling patterns for Azure Cosmos DB
Lab : Exercise: Measure performance for customer entities
Lab : Exercise: Advanced modeling patterns
After completing this module, students will be able to:
- Identify application access patterns for an existing application
- Decide when to embed or reference data
- Use change feed to manage referential integrity
- Combine multiple entities in a single container
- Denormalize aggregated data in a single container
Today’s applications are required to be highly responsive and always online. To achieve low latency and high availability, instances of these applications need to be deployed in datacenters that are close to their users. In this module, you will explore how to replicate data and manage consistency across the globe using Azure Cosmos DB SQL API.
Lessons
- Configure replication and manage failovers in Azure Cosmos DB
- Use consistency models in Azure Cosmos DB SQL API
- Configure multi-region write in Azure Cosmos DB SQL API
Lab : Exercise: Configure consistency models in the portal and the Azure Cosmos DB SQL API SDK
Lab : Exercise: Connect to different regions with the Azure Cosmos DB SQL API SDK
Lab : Exercise: Connect to a multi-region write account with the Azure Cosmos DB SQL API SDK
After completing this module, students will be able to:
- Distribute data across various geographies
- Define automatic failover policies
- Perform manual failovers
- Configure default consistency model
- Change per-session consistency model
- Configure multi-region write in the SDK
- Create a custom conflict resolution policy
Azure Cosmos DB offers a rich set of database operations that operate on the items within a container. The cost associated with each of these operations varies based on the CPU, IO, and memory required to complete the operation. In this module, you will explore how to manage indexing policies and edit queries to minimize per-query request unit (RU) cost.
Lessons
- Choosing indexes in Azure Cosmos DB SQL API
- Optimize queries in Azure Cosmos DB SQL API
- Implement integrated cache
Lab : Exercise: Optimize an Azure Cosmos DB SQL API container’s index policy for common operations
Lab : Exercise: Optimize an Azure Cosmos DB SQL API container’s index policy for a specific query
After completing this module, students will be able to:
- Review and compare read-heavy vs. write-heavy index patterns
- Update indexing policy to optimize index performance
- Measure cost of a query in request units (RUs)
- Measure cost of point operations
- Work with item and query integrated cache
- Configure integrated cache staleness
When you have critical applications and business processes relying on Azure resources such as Azure Cosmos DB, you want to monitor those resources for their availability, performance, and operation. In this module, you will explore how to monitor events and performance of an Azure Cosmos DB account. You will also learn how to implement common security measures along with backup and restore in Azure Cosmos DB.
Lessons
- Measure performance in Azure Cosmos DB SQL API
- Monitor responses and events in Azure Cosmos DB SQL API
- Implementing backup and restore for Azure Cosmos DB SQL API
- Implement security in Azure Cosmos DB SQL API
Lab : Exercise: Troubleshoot an application using the Azure Cosmos DB SQL API SDK
Lab : Exercise: Use Azure Monitor to analyze an Azure Cosmos DB SQL API account
Lab : Exercise: Recover a database or container from a recovery point
Lab : Exercise: Store Azure Cosmos DB SQL API account keys in Azure Key Vault
After completing this module, students will be able to:
- Observe rate-limiting events in a container or database
- Query resource logs using Azure Monitor
- Review and observe transient and rate-limiting errors
- Configure alerts
- Configure continuous backup and recovery
- Perform a point-in-time recovery
- Use role-based access control (RBAC)
- Access account resources using Azure AD and Microsoft Identity Platform
Once an Azure Cosmos DB SQL API account is ready to go through a release lifecycle, it’s not uncommon for an operations team to attempt to automate the creation of Azure Cosmos DB resources in the cloud. Automation makes it easier to deploy new environments, restore past environments, or scale a service out. In this module, you will explore how to use Azure Resource Manager to manage an Azure Cosmos DB account and its child resources using JSON templates, Bicep templates, or the Azure CLI.
Lessons
- Write scripts for Azure Cosmos DB SQL API
- Create resource template for Azure Cosmos DB SQL API
Lab : Exercise: Adjust provisioned throughput using an Azure CLI script
Lab : Exercise: Create an Azure Cosmos DB SQL API container using Azure Resource Manager templates
After completing this module, students will be able to:
- View arguments, groups, and subgroups for a specific CLI command
- Create Azure Cosmos DB accounts, databases, and containers using the CLI
- Manage an indexing policy using the CLI
- Configure database or container throughput using the CLI
- Initiate failovers and manage failover regions using the CLI
- Identify the three most common resource types for Azure Cosmos DB SQL API accounts
- Create and deploy a JSON Azure Resource Manager template for Azure Cosmos DB SQL API
- Create and deploy a Bicep Azure Resource Manager template for Azure Cosmos DB SQL API
- Manage throughput and index policies using JSON or Bicep templates
Azure Cosmos DB provides language-integrated, transactional execution of JavaScript. When using the SQL API in Azure Cosmos DB, you can write stored procedures, triggers, and user-defined functions (UDFs) in the JavaScript language. In this module, you will author JavaScript logic that executes directly inside the database engine.
Lessons
- Build multi-item transactions with the Azure Cosmos DB SQL API
- Expand query and transaction functionality in Azure Cosmos DB SQL API
Lab : Exercise: Implement and then use a UDF using the SDK
Lab : Exercise: Create a stored procedure with the Azure Portal
After completing this module, students will be able to:
- Author stored procedure
- Rollback stored procedure transaction
- Create UDF
- Create pre-* and post-* triggers
Request More Information
Training Options
- ILT: Instructor-Led Training
- VILT: Virtual Instructor-Led Training
Exam & Certification
Microsoft Certified: Azure Cosmos DB Developer Specialty
This new certification is a key step for developers who are ready to prove their expertise supporting their organization’s business goals with modern cloud apps. IT environments where application infrastructure is dated, rigorous, and specialized often cost developers valuable time and resources. Business-critical modern apps require scale, speed, and guaranteed availability, and they need to store ever-increasing volumes of data—all while delivering real-time customer access. Developers who work with Azure Cosmos DB find the tools and security they need to meet these requirements and more to meet today’s business challenges.
Training & Certification Guide
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.
Responsibilities for this role include designing and implementing data models and data distribution, loading data into an Azure Cosmos DB database, and optimizing and maintaining the solution. These professionals integrate the solution with other Azure services. They also design, implement, and monitor solutions that consider security, availability, resilience, and performance requirements.
Candidates for this certification must have solid knowledge and experience developing apps for Azure and working with Azure Cosmos DB database technologies. They should be proficient at developing applications by using the Core (SQL) API and SDKs, writing efficient queries and creating appropriate index policies, provisioning and managing resources in Azure, and creating server-side objects with JavaScript. They should be able to interpret JSON, read C# or Java code, and use PowerShell.
This exam will be available on or around November 30, 2021. This exam measures your ability to accomplish the following technical tasks: design and implement data models; design and implement data distribution; integrate an Azure Cosmos DB solution; optimize an Azure Cosmos DB solution; and maintain an Azure Cosmos DB solution.
Skills measured
- Design and implement data models
- Design and implement data distribution
- Integrate an Azure Cosmos DB solution
- Optimize an Azure Cosmos DB solution
- Maintain an Azure Cosmos DB solution
Azure Strategy & Implementation Guide
Get a step-by-step introduction to using Azure for your cloud infrastructure with this Pack e-book. Read the latest edition of the Azure Strategy and Implementation Guide for detailed guidance on how to create a successful cloud adoption strategy with new innovations, capabilities, and security features from Microsoft Azure.
Microsoft Azure SQL Jumpstart Guide
Find out how to get started launching your first Azure SQL database or find ways to make your existing SQL database work harder. Download the Azure SQL Jumpstart Guide for detailed instructions and in-depth insights to help you make your Azure SQL deployment, migration, or enhancement run smoothly.
Low-code Application Development – Microsoft PowerApps and Azure
Build production-ready apps faster with a low-code environment. Quickly stand up your applications with Power Apps and get more time to apply your technical expertise to extending and optimizing those apps in Azure.
Azure Cloud Native Architecture Mapbook
Grow your cloud architecture skills with guidance from Azure Experts. Go beyond developing cloud-native applications to planning and implementing cloud application infrastructure. In this free e-book from Packt Publishing, you’ll find best practices for infrastructure design and patterns for building a complete solution.
Windows Virtual Desktop Security
Find out how to secure your Windows Virtual Desktop environment when migrating your virtual desktop infrastructure (VDI) to Azure. Read this security handbook to get technical hands-on guidance on how to help protect your apps and data in your Windows Virtual Desktop deployment.
Discover how to get more value from your on premises Windows Server and SQL Server investments and move some or all of your workloads to the cloud using your existing skills. See how to start using the cloud to support new ways of doing business and help ensure business continuity even if you need to keep some of your IT assets on-premises due to regulatory or data governance requirements.
Discover how to build highly scalable applications using containers and how to deploy and manage those containers at scale with Kubernetes on Azure. Read the completely reviewed and updated Packet e-book, Hands-On Kubernetes on Azure, Third Edition and discover what’s new, including security enhancements, continuous integration and continuous delivery (CI/CD) automation, and the latest supported technologies. Gain insight into building reliable applications in the new foreword by Kubernetes co-founder Brendan Burns.
Azure Synapse Analytics Proof of Concept Playbook
Learn how to perform a proof of concept efficiently and economically with Azure Synapse Analytics. Read the Azure Synapse Analytics Proof of Concept Playbook to understand the key concepts involved in deploying data warehousing, data lake, and big data workloads with Azure Synapse and get the evidence you need to make the case for implementation at your organization.
Spend less time managing server infrastructure and more time building great apps. Get your solutions to market faster using Azure Functions, a fully managed compute platform for processing data, integrating systems, and building simple APIs and microservices. The Azure Serverless Computing Cookbook will, through the development of basic back-end wep API that performs simple operations, helps you understand how to persist data in Azure Storage services.
Frequently Asked Questions
You’re a great candidate for the Azure Cosmos DB Developer Specialty certification if you have subject matter expertise designing, implementing, and monitoring cloud-native applications that store and manage data.
Typical responsibilities for developers in this role include designing and implementing data models and data distribution, loading data into a database created with Azure Cosmos DB, and optimizing and maintaining the solution. These professionals integrate the solution with other Azure services. They also design, implement, and monitor solutions that consider security, availability, resilience, and performance requirements.
Professionals in this role have experience developing apps for Azure and working with Azure Cosmos DB database technologies. They should be proficient at developing applications by using the Core (SQL) API and SDKs, writing efficient queries and creating appropriate index policies, provisioning and managing resources in Azure, and creating server-side objects with JavaScript. They should also be able to interpret JSON, read C# or Java code, and use PowerShell.
Developers interested in earning this new certification need to pass Exam DP-420: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB, which will be available on November 30, 2021. If you’re a skilled Azure developer who has experience with Azure Cosmos DB, we encourage you to participate in the beta. Stay tuned for the announcement.
Earning a Microsoft Certification is globally recognized and industry-endorsed evidence of mastering real world skills. It shows you demonstrate proficiency in keeping pace with technology. It’s a career move that yields many positive results.
Getting a Microsoft Certification is also a great way to break into the tech industry. A Microsoft Certification immediately confers a level of authority and expertise, especially helpful for someone new to the industry.
The number of questions on a certification exam is subject to change as Microsoft make updates to ensure it aligns with current changes in the technology and job role. Most Microsoft Certification exams typically contain between 40-60 questions; and around 60-140 minutes.
Starting June 30 2021, all newly earned role-based and specialty certifications will be valid for one year from the date the certification was earned.
To stay up to date, IT pros are constantly learning and adding skills. The IDC study concluded that Microsoft Learning Partners such as Trainocate Malaysia which was recently awarded the Microsoft Learning Partner 2021 are well positioned to help organizations achieve their business and learning goals. The IT leaders who were surveyed found the most value from a Learning Partner that provides:
- An end-to-end solution which starts with identifying skill gaps, simplifies the learning experience, and finishes by evaluating how well the Learning Partner met the organization goals.
- Scale, flexibility, and speed to train teams of any size, in any location, amid changing circumstances.
- Value-added services, such as hands-on labs, classroom training, and custom content that help the skills development program succeed.
- High-quality content and delivery, meaning accurate, relevant courseware, top-notch instructors, and a path to certification, if needed.