Build Enterprise Web App with Azure
- 3 hours on-demand video
- 26 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Implement your authentication and authorization with Azure Active Directory
- Use Cosmos DB as NoSQL database; use Azure SQL for relational database; and use your favorite MySQL and PostreSQL with Azure.
- Use Azure Blob Storage for blobs, non-structural data etc in your code. Use event and queue feature of blob storage for reactive programming.
- Use Service Bus messaging for messaging; use Event Grid for reactive programming and Use Event Hub for big data pipeline.
- Use Azure DevOps for project management, code repository, private package, CI/CD pipeline and testing.
- Host your docker images with Azure Container Registry; Publish and scale your app with App Services.
- Log your app with Azure Application Insights, and monitor your app with Azure Monitor;
Welcome to the best resources online learning building enterprise web applications with Azure. My name is Leon Jiang and I am a full stack software engineer with 12 years of experience. I offer the course to share the knowledge I've gained in the last few years with you. The number one goal of this course is to make sure that you can fully leverage what Azure has to offer to build your enterprise web application. We are going to explore every bit of Azure services step by step to make sure that you understand what Azure services are available, and exactly how each service is related to what we're building. I built this course to make sure that you don't have to spend any more time on confusing, out of date or incomplete tutorials you found online again. Azure is arguably No.1 cloud service provider for building enterprise application. In this course, you'll build a solid foundation of Azure and best practices for enterprise app development. Previous experience with full stack software development is required.
In this course, you will learn:
1. Get used to use Azure Portal to create services resources.
2. Register a new app with App Registrations, and turn it into an Enterprise App.
3. Authenticate with Azure Active Directory and authorize an AD token.
4. Connect with other Azure Services such as Cosmos DB, Azure SQL, Service Bus, Event Grid, Event Hub and Blob Container.
5. Deploy and release with Azure Container Registry and Azure App Services.
6. Continuous integration and delivery with Azure DevOps.
7. Log and monitor your app with Azure Application Insights.
The entire course is hosted on udemy.com, with easy-to-follow videos and an entire git repository with all the courses code. Sign up today and be the cutting edge engineer who unleashes the power of Azure to build your enterprise web application.
We will use slides, screencasts, sample codes and reading materials to teach this course.
Give our understanding about what's Enterprise app, and why Azure is a natural choice for enterprise app development.
Welcome to lecture 6: Azure Active Directory (Azure AD) and Microsoft Identity Platform. We will break this lecture down into 4 parts. the first part is the introduction of Azure AD. The second part is the difference of Windows Active Directory and Azure active Directory. The third part is about users and groups in Azure AD, and the last part is Microsoft identity platform.
In this lecture, we will help you understand app registration and enterprise app in Azure AD. This lecture has two parts: the first part is app registration. We walk you through how to create a new web app, then will mainly cover two features: the first one is to add permission for our app and, the second is to expose api for other apps. The second part is enterprise app. What is it and what can it do. This lecture's format is to walk you through the azure portal, and explain them. Let's dive in.
In this lecture, we will discuss how to authenticate a Microsoft Identity Platform user.
First of all, we will explain the authentication flow in our single page app. Then, we introduce Microsoft authentication library (MSAL), what it is and how to use it. In part 3, we will walk you through our sample code how we implement the auth flow with MSAL in a frontend app. In part 4, we test our app, make sure it works. We also demos how to find id token and access token from browser, and how to decode it to see the claims. In the end, we also tested read email feature of this app.
In this lecture, we will discuss how to protect our web api by validating the access token in a http request.
First of all, we will introduce passport library, then we move to passport-azure-ad - a passport library wrapper made by Microsoft AD team, we will walk you through our sample code how we implement authorization in an Express Js app, and how we test it works.
Let’s get right into it.
In this section, we will discuss the datastore offering from Azure.
In lecture 12, we will discuss Azure SQL. It will easily be confused with SQL Server. Azure SQL Database service shares a common code base with the latest stable version of SQL Server. Most of the standard SQL language, query processing, and database management features are identical in SQL Server and Azure SQL Database. We will show you how to create Azure SQL resource with Azure Portal, and use a live node.js code to query a seeded Azure SQL table.
In lecture 13, we will discuss what we can do if we want to bring our own database choice, for example, MySQL or PostgreSQL. We will also show you how to create Azure Managed MySQL resource, and use a live node.js code to work with our MySQL database and tables.
Lecture 14 is the summary of this section.
In this lecture, we will talk about CosmosDb. Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service for operational and analytics workloads. It offers multi-mastering feature by automatically scaling throughput, compute, and storage.
In this lecture, we will introduce Azure SQL as your relational database option.
What’s Azure SQL? It is
1. A relational database-as-a-service (DBaaS) based on the latest stable version of Microsoft SQL Server.
2. provided as a managed service.
3. the newest capabilities of SQL Server are released first to SQL Database, and then to SQL Server itself. You get the newest SQL Server capabilities with no overhead for patching or upgrading, tested across millions of databases.
Then we discussed Azure SQL, its deployment model and its relationship to Sql Server. We showed you how to create Azure SQL resource with Azure Portal, and use a live node.js code to query a seeded Azure SQL table.
Then we discussed what if we wanted to use our own database choice, for example, MySQL or PostgreSQL. We demoed show you how to create Azure Managed MySQL resource, and how to work with mysql from Azure cloud shell. In the end, we used a live node.js code to work with our MySQL database and tables.
As said, we only scratched the surface of each datastore option. We leave you to continue to explore what works best for you.
In this section, we will discuss the file and blob storage offering from Azure.
In lecture 16, we will focus on what’s azure blob storage, some important features including events, queues, shared access signature, and so on.
In lecture 17, we will discuss how to integrate blob storage into our web application. Not only we are going to demo how we can access blobs and files in the blob container from our code, but also we will demo a particular useful and interesting case: use queue and event to monitor file changes (adding or removing) in container so we can take action asynchronously.
In lecture 18, we will introduce Azure storage explorer, a free tool for us to explore our blobs and files in Azure blob storage. Lecture 19 is the summary of this section.
Azure storage explorer is a Free tool to easily manage your Azure cloud storage resources anywhere, from Windows, macOS, or Linux. we have seen some features of storage explorer(preview) under our storage account in Azure portal. this standalone tool is definitely more powerful and useful.
Azure offers three services that assist with delivering event messages throughout a solution. These services are: 1. Service Bus. 2. Event Grid. 3. Event Hubs.
In lecture 21, we will discuss service bus. we will focus on what it is, what problem it solves, what features it has, including a walkthrough of service bus resource. In the end, we will use a sample code to show how you can integrate this service into your application.
In lecture 22, we will discuss event grid. We will discuss which use case it solves, as we have used it for detecting files changes in blob container in the section 4.
In lecture 23, we will discuss event hubs. We will discuss when and where we should use it. In the end, we will use a sample code to show how you can integrate this service into your application.
Lecture 24 is the summary of this section.
Azure service bus messaging is a fully managed enterprise integration message broker, offers a reliable and secure platform for asynchronous transfer of data and state. We will talk about the basic concept of Service Bus, how to create the resource from Azure Portal and how to use it in your code.
Azure Event Grid allows you to easily build applications with event-based architectures. First, select the Azure resource you would like to subscribe to, and then give the event handler or WebHook endpoint to send the event to.
Event Grid has built-in support for events coming from Azure services, like storage blobs and resource groups. Event Grid also has support for your own events, using custom topics.
In this section, we have discussed the message and event services in Azure. 1. Service Bus. 2. Event Grid. 3. Event Hubs.
Although they have some similarities, each service is designed for particular scenarios.
In general, Event Grid is for reactive programming, and used for reaching to status changes. In our example, a blob container has file changes, file change event is emitted by event grid. This behavior is discrete.
Event hubs is good for big data pipeline, it has series characteristic, good for telemetry and distributed data streaming
Service is for high value enterprise messing, use cases includes but not limit to order processing and financial transaction.
In some cases, we could use the three services side by side to fulfill distinct roles. For example, an ecommerce site can use Service Bus to process the order, Event Hubs to capture site telemetry, and Event Grid to respond to events like an item was shipped.
In this section, we will discuss devOps services in Azure. Azure DevOps provides developer services to support teams to plan work, collaborate on code development, and build and deploy applications.
Lecture 26 is about Azure Boards. Azure Boards is a tool for project management. It consists of a suite of Agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods.
Lecture 27 is about Azure Repos. Azure Repos provides Git repositories or Team Foundation Version Control (TFVC) for source control of your code. We will demonstrate how we can create ssh key, set up a repository, use branch policy for better code quality.
Lecture 28 is Azure Artifacts allows teams to share Maven, npm, and NuGet packages from public and private sources and integrate package sharing into our CI/CD pipelines
Lecture 29 is Azure Pipelines. It provides build and release services to support continuous integration and delivery of our apps.
Lecture 30 is the summary of this section. We will talk about Azure Test Plans a little bit. It provides several tools to test your apps, including manual/exploratory testing and continuous testing.
In this section, we mainly covered some important tools for development and project management : Azure DevOps.
There are five services under Azure DevOps. Azure Boards is the place you can do project management. Azure Repos is the place you can host your code and manage pull request. Azure Pipeline is a tool you can build your continuous integration and delivery flow. Azure Artifact helps you keep your private package secure. In the last tool, Azure Test Plans help testers manage their works.
Even though we didn’t really discussed any details of Azure Test Plans because I felt this tool is out of developer’s scope. I encourage you to check it out if you have a chance to see what it can do.
Time to publish our web application, thanks to Azure app services, the publishing process itself is much easier now.
Azure App Service is the Azure solutions of hosting and managing your app. App Services supports multiple languages and frameworks, Java, Ruby, Node.js, PHP, Python, ASP.NET, ASP.NET Core. It is also optimized for continuous integration and deployment with Azure DevOps, Github, BitBucket, Docker Hub, or Azure Container Registry. It means to be global scale with high availability, and easily integrated into azure active directory for single sign-on, and it is secure and compliance ready. App Service is ISO, SOC, and PCI compliant. Authenticate users with Azure Active Directory or with social login (Google, Facebook, Twitter, and Microsoft). Create IP address restrictions and manage service identities.
In this section, we introduced Azure App Service where our web app should be landed and available for our audience. We walked you through creating an Azure App Services resources in Azure Portal. Then we suggested you dockerify your web applications, and use Azure Container Registry to host your docker images. With App Services, you can choose to publish frontend and backend app separately, or use Docker Compose to publish your app in one App Services. We also talked about other features Azure App Services provided for you to scale your enterprise app if needed.
Azure App Services also provides features such as mapping your own custom domain, and secure domain with SSL certificate most likely you will need in the real life. And App Service provides turn-key CORS support for RESTful API scenarios, and simplifies mobile app scenarios by enabling authentication, offline data sync, push notifications, and more. We will leave you to discover.
After we have released our application, we are not done. We need to monitor our app and make sure it works as planned and designed; we also need to understand how our users have been using our app. Therefore, we introduce Azure Monitor in this section.
Azure monitor can not only monitor our application, but also monitor all azure resources used by our application, such as operating systems, virtual machines, or what resources we want to monitor.
In lecture 36, we will talk about how we can integrate application insights to our frontend and backend applications separately, to telemetry logs to azure monitor, then azure monitor analyze those logs, detect performance issues. A nice analytics tool has been built for us to use.
Lecture 37 will conclude this section.
In this section, we discussed Application Insights, the most important tool in Azure Monitor. We walked you through how to create Application Insights resources with Azure Portal, how to integrate its Node.js SDK into your frontend and backend application.
Azure Monitor can do so much more. It can Monitoring data platform, containers, VMs, and our applications. it supports multiple languages. Without extra code, it will log all necessary information to get us started. We can use its sdk to customize what we want to log and trace. We can query logs with Azure Logs, set alert, autoscale. We can continuously export the log data to blob storage. it has a nice dashboard for us to understand our app intuitively. We can also export logs to analytics tool such as power BI. Its global trace technology work well with our microservices. And you don't have to integrate with other azure service to use application insights. and it's the first tool in Azure I would recommend.
This course is the most comprehensive guide for building enterprise web application with Azure. It is designed for software engineers, IT admins and enterprise application developers.
In the first section, we have learned what the course is about, what’s an enterprise app, how to take advantage of Azure free service offering so we can sign up for an account.
In the second section, we introduced Azure Active Directory and Microsoft Identity platform; We showed how to register an app with Azure Active Directory single sign-on; How to use Enterprise App to set up groups, roles and permissions. How to authorize a user and how to validate a token. There is so much information and features with Azure Active Directory, and it could be very confusing. Even though we only scratch the surface, what you have learned is important enough to get your project going.
In the third section, we explored the datastore options. We can choose Cosmos DB as our NoSQL database option, or use Azure SQL as your relational database. Of course, We can bring our own choice of databases, such as MongoDB, MySQL or PostgreSQL. For MongoDB, Azure has Azure Cosmos DB's API for MongoDB. For MySQL or PostgreSQL, Azure provides fully managed, enterprise-ready community MySQL or PostgreSQL database as a service. Do check the pricing before you make a decision.
In the fourth section, we got to know Azure storages options. We introduced how to work with Azure blob storages for uploading, reading, deleting files. How to secure our file by setting right access controls. How to use event and queue feature in blob storage to monitor new files added or deleted from a blob container, and how we can poll messages from queue so we can do something with the files. And how to use Microsoft Azure Storage Explorer tool to explore our files.
In the fifth section, we introduced the message and event services in Azure: service bus, event hubs and event grid, the similarity, the difference and the best use cases. We also use live codes to demonstrate how to get it started.
In the sixth section, we discussed Azure DevOps for devOps. Azure DevOps has five main services. Azure board is for project management; Azure repos is for our code repositories; Azure Artifacts is for our private package; Azure Pipeline for continuous integration and delivery. Azure Testplans is for testing. All services are under one project, quite convenient in my opinion.
In the seventh section, we went over how to publish our app with Azure App Services. We talked about dockerifying our app, hosting docker images with Azure Container Registries, deploying and scale our app with App Services.
We didn’t forget logging and monitoring. In the eighth section, we integrated Application Insights in our frontend and backend app, which will telemetry logs, exceptions, request & response, crashes to Azure Logs. We can query logs and continuously export them to Azure Blob Container.
- 1. Experienced software engineer who is interested in Azure
- 2. IT admins who are using Azure
- 3. Software engineers who have not used Azure before and are interested in this Azure option
- 4. Enterprise application developers