Microsoft Azure is one of the most popular cloud services platforms used by businesses, making it an important tool for cloud computing professionals to have. The Cloud Developer with Microsoft Azure Nanodegree programme teaches students how to deploy, build, migrate, and monitor applications on Azure, preparing them for success on Microsoft's AZ-204 Azure Developer Associate Expert certification.
Course 1: Azure Applications
Introduction to Microsoft Azure Development
- Assess the value, cost, and benefits of hosting their applications and systems in the cloud
- Interpret the benefits/challenges of IaaS vs. PaaS vs. SaaS and where Microsoft Azure fits into each of these
- Navigate the Azure Portal
Azure Compute Services
- Choose the correct Azure Compute Service for their applications and storage needs.
- Create a Subscription and Resource Group.
- Manage and clean up Resource Groups.
- Create a Linux VM.
- Create an App Service and App Service Plan.
- Manage basic app service settings.
- Justify which resource to use for app deployment based on costs, scalability, availability and workflow
Azure Storage Options
- Create a SQL Database in Azure
- Make updates to the schema of an Azure SQL Database and add data to it
- Create an Azure Blob Storage Container
- Upload blobs to the container
- Set up configurations for an app service to connect to both a SQL Database and Azure Blob Storage Container
Security and Monitoring Basics
- Differentiate security options between different Azure resources
- Compare security responsibilities between the developer and cloud provider for different applications
- Implement OAuth2 such as Sign in with Microsoft in their apps.
- Utilize Azure Active Directory for single sign-on and multi-factor authentication in their app.
- Monitor and analyze the log output of an app service running in Azure
Project : Deploy an Article CMS to Azure
You will deploy to Microsoft Azure an article content management system (CMS) built with a Python Flask application. A user can log in to the CMS system, view published articles, and publish new articles.To begin, you will deploy storage solutions with which the application will interact, such as a SQL database containing a user table and an article table for the webapp to query, as well as a Blob Storage container where images are stored.In addition to a simple username/password login, you must also include a “Sign in with Microsoft” option for authentication via OAuth 2.0 and Azure Active Directory. Finally, you will enable logging in the cloud application so that you can track successful and unsuccessful login attempts.
Course 2: Azure Microservices
Introduction to Microservices
- Distinguish the benefits of a microservice architecture versus a monolithic architecture
- Compare and contrast different services as a viable option for building microservices in Azure
- Outline the different microservices patterns in Azure
- Identify various compute options for microservice: Kubernetes Service, Docker, and Function (as a Service)
- Identify the costs of implementing microservices
- Define Azure Functions as well as common bindings and triggers
- Create Azure Functions in the Azure CLI and VS IDE
- Create a MongoDB database in CosmosDB and connect it with Azure Functions
- Secure an API endpoint with function-level authorization keys
Enterprise Logic Apps and Event Grid
- Create an Event Grid Topic in Azure Portal
- Apply Event Grid output binding for Azure Functions
- Create a workflow by using Azure Logic Apps
- Design a Logic App workflow for email
Deploying Your Services
- Deploy API endpoints in Azure CLI to Azure
- Deploys a client-side Flask application to App Services
- Dockerize an application to a container and upload it to Azure Container Registry
- Deploy a client-side application to Kubernetes Service in Azure
Project : Deploying the Neighborly App with Azure Functions
In this project, you will create a serverless microservice backend architecture for Neighborly, a social networking web application that allows neighbours to exchange useful information, goods, and services.First, you'll create back-end services that use an API to interact with a MongoDB database. The client-side application and server-side API endpoints will then be integrated in Python. Finally, you will deploy and manage their service with AKS for future CI/CD integration.
Course 3: Azure Migration
Introduction to Cloud Migration
- Assess cloud migration needs
- Identify different types of migration and their use cases
- Implement a migration plan using the migration cycle
Migrating Web Applications
- Assess web application migration paths with cost prediction
- Migrate existing web applications to Azure Web App
- Migrate a web application using lift and shift method
Migrating Database Workload
- Assess Azure Database options with cost prediction
- Migrate a database using Azure Database Migration Service
- Manually migrate a database from backups
Migrating Background Job Processing Services
- Architect offline background job services with cost prediction
- Migrate services to Azure Web Jobs, Azure Functions, and Azure Durable Functions
- Migrate background job services to Azure Batch
Project: Migrate App to Azure
You will migrate a pre-existing conference registration system to Azure strategically. You will architect a resilient and scalable system in Azure while keeping in mind that the legacy application is very expensive, unable to scale at peak, has a single point of failure, performance issues, and is underutilised during off hours.To begin, you will migrate and deploy the existing web app to an Azure App Service. The backup of a PostgreSQL database will then be migrated to an Azure Postgres database instance. Finally, the notification logic will be refactored to an Azure Function via a service bus queue message.
Course 4: Azure Performance
- Set up Application Insights
- Configure Application Insights on a VMSS
- Configure Application Insights for an AKS cluster
- Collect telemetry data
- Create an Azure Log Analytics Workspace
- Collect and ingest log data
- Write queries to return only relevant data of application performance
- Create reporting charts from data
- Create an Azure Automation Account
- Autoscale rules for VMSS
- Create a RunBook
Project: Enhancing Applications
You will collect and display performance and health data about an application after it has been migrated to Azure in this project. To begin, you will configure Application Insights monitoring on a virtual machine scale set (VMSS) and implement monitoring in an application to collect telemetry data.Then you'll set up auto-scaling for a VMSS and an Azure Automation account to build a RunBook that automates the resolution of performance problems. Finally, you'll create alerts to initiate auto-scaling on an Azure Kubernetes Service (AKS) cluster and launch a Runbook.