
Explore cloud computing basics, learn what Azure is, and review the advantages Azure offers for developing modern applications.
Explore service models: infrastructure as a service, platform as a service, and software as a service; how responsibilities and freedoms vary, with Azure App Service and virtual machines as examples.
Explore cloud scalability with vertical and horizontal growth, regional deployments, pay-as-you-go costs, and security with Azure Key Vault and Managed Identities; integrate easily with .NET tools.
Azure, Microsoft's cloud platform, lets you create, deploy, and manage apps across a global network of data centers with over 200 services, supporting regions, availability zones, and geo-redundancy.
Explore how Azure pricing works, pay-as-you-go, subscriptions, and resource-specific costs, plus free options and credits; learn to practice safely by deleting resources to minimize charges.
Create your Azure account, choose pay as you go or try Azure for free, then log in via portal.azure.com or Azure CLI to manage resources with Visual Studio.
Discover Microsoft's Azure cloud platform, its cloud service models IaaS, PaaS, and SaaS, and how to interact with it via web portal, CLI, cloud shell, and Visual Studio Code.
Learn how to publish .NET web apps to Azure App Services using Visual Studio, Visual Studio Code, and the Azure CLI, with configurable options.
Explore how Azure App Service hosts web applications, web APIs, and mobile backends, supports multiple languages and Linux, and enables automated deployments from GitHub plus automatic scaling to balance load.
Compare Azure App Service pricing options for Windows and Linux, including pay-as-you-go, savings plans, and reservations, and identify suitable plans from free to premium for testing and production.
Learn to name Azure resources using a Microsoft documented convention that includes resource type abbreviation, application, environment, region, and optional instance number, as in AppLearningProudEastUS; consistency matters.
Create an mvc app to display a list of people using a person model, a home controller with a get people method, and a view that renders a table.
Create an Azure app service in the portal, configure subscription and resource group, choose a .NET runtime and East US, and deploy with a B1 app service plan.
Publish your mvc application to an azure app service using visual studio, choose windows, and manage app service settings before launching production in azure.
Deploy an MVC app using Visual Studio Code to Azure App Service, creating a resource group and app service plan, publishing with dotnet, and deploying the web app.
Deploy a .NET mvc web app with the Azure CLI by creating a resource group, app service plan, and web app in East US, then deploy a zip package.
Configure environment variables to parameterize a fixed list in a .NET Azure app, retrieve values with configuration.GetValue, and deploy changes via Azure App Service and the command line interface.
Provoke a startup error in a .NET app and use the Azure App Service console. View the error message and location, line eight, then publish again after the fix.
Explore Kudu, the advanced console behind Azure App Services, to view environment variables, access log files via diagnostic dump, and diagnose issues in your .NET apps.
Learn how to use Application Insights to diagnose errors in an Azure App Service, inspect failures, view stack traces and error messages in the portal, and understand activation delays.
Explore how to generate and view log messages from a .NET app in Azure, using iLogger in the Home Controller, Application Insights, App Service logs, log streams, and Kuru diagnostics.
Explore vertical scaling in Azure App Service to increase RAM and CPU power for cpu-bound tasks, using scale up options from basic to premium plans with more vcpus.
Explore horizontal scaling of Azure App Service by adding instances to balance IO tasks, weigh cost vs. performance, and configure manual, automatic, or rules-based scaling with metrics like CPU usage.
Navigate horizontal scaling complexities by adopting distributed caching with Redis, moving file storage to blob storage shared across instances, and shifting recurring tasks to Azure Functions to avoid per-instance duplication.
Explore Azure App Service, a platform-as-a-service, to deploy web apps, APIs, and mobile backends, using environment variables, Kudu, Application Insights, and vertical or horizontal scaling.
Explore how Azure SQL Database delivers a cloud-based database that functions like a local SQL Server, laying the groundwork for developing .NET applications in Azure.
Explore Azure SQL Database as a platform as a service. Learn about single database and managed instance sub-models, elastic pools, and performance options such as DTU and vCore.
Explore Azure sql database pricing with dtu and vcore models, featuring basic to premium tiers, storage options, and serverless scaling to zero when idle.
Build a simple mvc app that uses Entity Framework Core with code first models, a db context, migrations, and an Azure SQL database for a people table.
Create an Azure SQL database and server in the portal, configure login credentials and basic to standard storage, then connect the app service to the database.
Create an Azure SQL Server and an Azure SQL Database with the Azure CLI, assign an Active Directory admin, and delete the resources in the portal after demonstration.
Enable public network access and add your client IP in firewall rules, then connect to the Azure SQL database from Visual Studio using MFA.
Connect to the Azure SQL Database from SQL Server Management Studio by obtaining the server name from the Azure portal and signing in with Microsoft Entra MFA.
This lecture guides connecting an Azure app service to an Azure SQL database by applying migrations from Visual Studio, configuring the default connection string, and validating with a test entry.
Enable the Azure App Service system-assigned managed identity to access the SQL database without a username or password in the connection string.
Explore data viewing across tools, including Visual Studio, SQL Server Object Explorer, SQL Server Management Studio, and Azure Portal query editor, to view top 1000 rows and verify data.
Azure SQL Database performs regular backups to recover data, enabling you to restore to a specific point in time and create a new database from that backup.
Scale your SQL database by upgrading the service tier to adjust DTUs and increase storage from two gigabytes to 250 gigabytes in compute and storage, then apply and monitor price.
Explore Azure SQL Database, a fully managed, SQL Server–compatible relational service with scalability, high availability, and automatic backups. Use Managed Identity to authenticate securely and scale from 2gb to 250gb.
Learn what Azure storage is and how to use its services, including blob storage, queue storage, and table storage, in developing .NET applications in Azure.
Discover azure storage with blobs, queues, and tables for scalable cloud data, enabling file, messaging, and NoSQL solutions while exploring redundancy options like LRS, CRS, GRS, and GCRS.
Explore Azure storage pricing for blob, queue, and table storage, comparing tiers (hot, cool, cold, archive) and redundancy (LRS, GRS), operation costs, and regional currency considerations.
Extend the create person form with email, date of birth, and picture, upload the image to blob storage, store its URL, update the database, and publish the app to Azure.
Create a storage account in the Azure portal by selecting a resource group, naming, choosing standard with LRS, and enabling anonymous container access for blob retrieval, review and create.
Create an Azure storage account using the Azure CLI, specifying a name, resource group, location, and standard LRS with blob public access. Then verify creation, refresh, and delete the account.
Create blob storage containers, upload files to a People container, and set blob-only anonymous access for browser viewing. Differentiate blob access from private containers and inspect file metadata and URLs.
Learn to upload files from an asp.net core mvc app to azure blob storage using an access key, configure the connection via app settings, and implement a blob storage service.
Use queues to decouple services and handle long tasks. Azure queues store messages up to 64 kilobytes, enabling resilience with multiple queues, generally fifo but not guaranteed, and single-app processing.
Create and manage a storage queue in the Azure portal, add messages up to 64 kilobytes with a default seven-day expiry, and dequeue to process them in a .NET application.
Create a console app that reads messages from an Azure storage queue, uses a SAS-based connection string, and prints and deletes messages in a loop to simulate message processing.
Modify the SpiroNetCore application to send messages to an Azure Storage Queue via a dedicated queue service and IQService, enabling NBC to communicate with a console app.
Explore azure table storage as a NoSQL option for storing large, unstructured data. Learn how partition key, row key, and timestamp form a composite primary key, with limited querying capabilities.
Explore Azure table storages by creating a table in a storage account, add entities with partition and row keys, and assign properties like first name and age, with a timestamp.
Learn to use azure storage to securely store structured and unstructured data, including blob storage for files, queue storage for asynchronous messaging, and table storage for fast access.
Explore Azure Functions and serverless computing, and learn how to use them with Azure Durable Functions.
Explore serverless basics: code runs on demand, scales automatically, and is billed by usage with infrastructure managed. Discover when to use event-driven tasks and scheduled jobs, and when not to.
Explore how Azure Functions deliver function as a service by running code on demand within a function app, with HTTP, queue, timer, and blob triggers, bindings, and language options.
Explore Azure Functions hosting plans—FlexConsumption, Premium, App Service, container plan, and Consumption—and learn serverless features, scaling, and timeout settings.
Secure Azure functions with managed identities and environment variables to connect to other services like databases while protecting secrets; enforce authentication and key controls—function, host, master, and system—for http triggers.
Create your first function app by selecting a hosting plan, resource group, region, dotnet runtime, and instance size. Configure storage, enable application insights, and enable managed identity for authentication before creating.
Create an Azure function in Visual Studio with an HTTP trigger and anonymous access, configure the route, and test it locally before verifying it runs in Azure.
Publish and deploy an Azure function to production using Visual Studio. Select or create a function app, publish, test the HTTP function, and verify the function URL.
Connect an Azure function to a SQL Server database using EF Core by building a get people function, configuring context and a connection string, and securing access with function keys.
Learn cron expressions for the Azure Functions timer trigger, schedule recurring tasks by minute and hour, and use dash, slash, and comma notations for day and week fields.
Create a recurring Azure function using a timer trigger to execute at intervals, such as every five seconds, enabling tasks like log file cleanup, API calls, or invoice generation.
Develop a daily Azure function that sends birthday emails by configuring an SMTP email service with a timer trigger at 8am UTC, and test locally before production.
Explore queue-triggered Azure functions that generate reports, store them in blob storage, and email download links while tracking status through a web API.
Create an Azure function with a queue trigger to generate a CSV report of people, store it in blob storage, update report URL in database, and email the link.
Learn to optimize user images by queuing a convert-to-webp pipeline using an Azure function, blob storage, and database updates for streamlined delivery.
Explore Azure Functions bindings, including input and output bindings, with examples like uploading a file to a blob, and understand their trade-offs between saving code and imposing rigid patterns.
Explore SQL Input, an Azure Functions binding that executes a SQL query and returns results as a function parameter. An HTTP trigger example fetches people from the table.
Use a queue output binding in an Azure function to send problematic messages to a Poisson queue, saving code by avoiding the SDK and enabling later examination.
Analyze Azure functions' limitations for multi-image processing, including timeouts and queue size, and learn a scalable approach using per-image messages, status tracking in a database, and durable functions.
Explore azure durable functions to orchestrate and coordinate multiple azure functions, enabling stateful, long-running workflows in a serverless environment with deterministic orchestration and safe async patterns.
Explore six durable function patterns, including function chaining, fan out/fan in, and async http APIs, coordinated by orchestration with activity workers and queues.
Explore Azure function orchestration patterns, including wait-for-completion with polling intervals, human-interaction with escalation, and safe aggregation via TaskEntityDispatcher and DispatchAsync.
Install the Microsoft Azure WebJobs Extensions Durable Task NuGet package and create an http triggered orchestration to start a SampleDurableFunction, returning an instance id and a status URL.
Apply the chaining pattern in a durable function to pass the list of people from the get people HTTP trigger to the count people function during orchestration.
Apply the fan-in fan-out pattern to parallelize image processing with Azure functions: fetch URLs, convert images to webp, store in blob, and email results.
Demonstrate fan-out and fan-in with Azure durable functions via a three-function pipeline, including URL retrieval, image optimization, and email delivery of results.
Explore serverless computing and Azure Functions, learn how triggers and bindings connect functions to services, and leverage Azure Durable Functions to orchestrate long, stateful workflows.
This course is designed for .NET developers who want to learn how to design, build, and deploy modern applications on Azure.
Throughout the course, students will learn the fundamentals of cloud computing and how Azure implements these concepts, and then move on to the practical use of the most relevant services for .NET applications. The course covers creating and managing Azure resources, deploying applications to Azure App Service, and analyzing vertical and horizontal scaling, performance, monitoring, and backup strategies. It also uses Azure SQL Database for relational data management and explores different ways to connect Azure App Service to the database, such as using managed identities.
The course goes deeper into Azure Storage, taking a hands-on approach to working with Blob Storage, Queue Storage, and Table Storage. This includes real-world scenarios such as uploading and downloading files, asynchronous processing using queues, and handling semi-structured data without relying on relational databases. Students will learn how to properly integrate these services from .NET applications, following best practices for design and security.
In addition, the course introduces the serverless model through Azure Functions, explaining triggers, bindings, security considerations, and limitations. It then covers Azure Durable Functions, helping students understand how to model complex processes, orchestrations, long-running workflows, and patterns such as fan-out / fan-in in a reliable and scalable way.
By the end of the course, students will have a solid, practical understanding of Azure focused on .NET development, enabling them to choose the right services, integrate storage and asynchronous processing, implement serverless solutions, and design scalable, maintainable, production-ready cloud applications.