Designing and Implementing Cloud-Native Applications
Using Microsoft Azure Cosmos DB (DP-420)

Enterprise Skills InitiativeAzure Apps, Infra, Data & AIDesigning and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB (DP-420)

Description

This course teaches developers how to create applications using the SQL API and SDK for Azure Cosmos DB. Students will learn how to write efficient queries, create indexing policies, manage and provision resources, and perform common operations with the SDK.

Prerequisites
Skills Covered
Audience Profile
Course Outline
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)
Skills Covered

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 modelling 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
Audience Profile

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 Outline

Module 1: Get started with Azure Cosmos DB SQL API

Modern apps thrive on real-time data from different sources and are shaped in different forms. These apps require a modern database that can handle the variety and velocity of data that will be thrown at them. 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

Module 2: Plan and implement Azure Cosmos DB SQL API

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

Module 3: Connect to Azure Cosmos DB SQL API with the SDK

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 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

Module 4: Access and manage data with the Azure Cosmos DB SQL API SDKs

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

Module 5: Execute queries in Azure Cosmos DB SQL API

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

Module 6: Define and implement an indexing strategy for Azure Cosmos DB SQL API

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

Module 7: Integrate Azure Cosmos DB SQL API with Azure services

Azure Cosmos DB has tight integration available with many other Azure services 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

Module 8: Implement a data modelling and partitioning strategy for Azure Cosmos DB SQL API

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 modelling 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 modelling patterns for Azure Cosmos DB
Lab : Exercise: Measure performance for customer entities
Lab : Exercise: Advanced modelling patterns

Module 9: Design and implement a replication strategy for Azure Cosmos DB SQL API

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 data centers 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

Module 10: Optimize query performance in Azure Cosmos DB SQL API

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) costs.

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

Module 11: Administrating and Monitoring tasks for an Azure Cosmos DB SQL API solution

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 the 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

Module 12: Manage an Azure Cosmos DB SQL API solution using DevOps practices

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

Module 13: Create server-side programming constructs in Azure Cosmos DB SQL API

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

Course types

Classroom: In-Person
Full-day instructor-led training delivered in the classroom (public) or at your offices (private). Training takes place Monday through Friday. Includes complete course coverage.

Classroom: Virtual
Virtual instructor-led training delivered online. Training takes place in the form of sessions between Monday and Friday. Includes complete course coverage.

Hybrid: In-Person or Virtual
A combination of online study and 2-days virtual or classroom live-based exam prep workshops. These courses are delivered in a blended format, consisting of 4-6 weeks self-study, plus full 2-days instructor-led workshops per person per exam.

Live-Virtual (MyDigicomp)
The live virtual course is scheduled over a period of 3-4 weeks. During this time 6-8 instructor-led contact sessions of 3 hours each take place. This time is indicated on the respective course as 3-4 days. When you click on “Timetable” during the booking process, you will already see when the next live sessions will take place. Of course, these sessions are recorded and made available to students at the end of the course. During these 3-4 weeks, students will always have direct access to the expert instructor and can ask questions if something is not clear during self-study. We call this aspect mentoring. Everything takes place on one Microsoft Team channel per class. During this time students will have access to all sessions and information within the class. After those 3-4 weeks, students receive and additional week to prepare and then take the test, either in-class or at home.

Course Type

Virtual or In-Person

Online course delivery format focuses on exam prep and is delivered in a very condensed format. Candidates are required to complete pre-course material before attending the instructor-led online sessions.

Price

$250-600

Prices based on the country in which the course is hosted.

Exam

Included (DP-420)

For more information:

Enterprise Skills Initiative Support
Lizelle van Niekerk
lizelle@thellpa.com

Online registrations can take up to 7 days to process. Please be aware that if you book for a course on a Friday for a class that starts on the following Monday it cannot be processed and will result in your registration being allocated to another date automatically. We suggest booking for courses well in advance.

No dates for your country? E-mail esi@thellpa.com and send in your request.

Menu