Microsoft Azure supports Node.js for building scalable and resilient cloud applications. This course covers the main Azure services including load balancing, caching, partitioning, content delivery networks and performance testing.
Designing applications in the cloud requires a different style of thinking, and deep knowledge of cloud infrastructure and services. In this course, Microsoft Azure for Node.js Developers - Cloud Patterns and Architecture, you'll learn how various Azure services can help build scalable and resilient applications. First, you'll explore how to use specific Azure resources to add redundancy, fail-over, and load balancing to a system. Next, you'll support scaling with partitioning and caching. Finally, you'll discover Content Delivery Networks, API management, and performance testing. When you're finished with this course, you'll have covered multiple resources that will help you as you build scalable Node applications in Microsoft Azure. This course is adapted from "Microsoft Azure for .NET Developers - Cloud Patterns and Architecture" by Scott Allen.
Simon is a staff author at Pluralsight. With a 30-year background in programming and teaching, he obsesses on making complicated subjects accessible, memorable, and easier to learn. Since 2002, he's recorded dozens of popular and highly-rated training courses. His current focus is on iOS and computer science topics.
Course Overview This is Simon Allardice, and welcome to Microsoft Azure for Node. js Developers - Cloud Patterns and Architecture. In this course, we will look at techniques and patterns for designing and building scalable, resilient cloud applications, and the features of Microsoft Azure that can help us. But designing applications in the cloud requires a deep knowledge of cloud infrastructure and services; we'll begin with that. You'll then explore specific Azure resources for adding redundancy, failover or load balancing to a system. You'll support scaling with partitioning and caching, and implement content delivery networks, API management and performance testing. When you're finished with this course you'll have covered multiple resources that will help you to build scalable Node applications in Microsoft Azure. Thanks for joining me. Let's begin.
Architecture in the Cloud To build a successful scalable cloud application, we will need to approach this in two different ways. We will of course have to think of our unique business requirements, the rules and the needs of the app itself, but to make the right development and architectural decisions, we must also deeply understand what is available in the cloud, what is already there that can help us build this application. So put it this way. In this course, we are not looking at Microsoft Azure simply as a place to host a virtual machine. No, we want to make the most of what is available to us here, and there is a lot. So we're going to begin with a tour of Microsoft Azure platforms and infrastructure, to see how the various services and resources can fit into the architecture of different types of systems that we'll build, from applications to APIs to the internet of things and big data. We're starting with a high-level overview of what is inside of Azure, and that will allow us to drill into the details and the patterns of how to use it.
Cloud Patterns for Resiliency We're now past the general overview, so in this module we're going to focus on specific patterns and techniques for resiliency; how to design a system to expect and handle failures, because when we put our application in the cloud, we understand the scale, the distributed nature of this larger system we're now part of means we are introducing more points of potential failure. Parts of this infrastructure will never be under our direct control, and sometime, somewhere, somehow, something about this is going to fail. That's the bad news. But the good news is that in the cloud, failure is expected. We know it's going to happen, so we also have many built-in options to manage and recover from failures, both large and small. Let's start going through them.
Cloud Patterns for Scalability We now move from resiliency into looking at patterns and architecture for scalability. We'll cover several approaches to help make your applications scalable from the front-end services to the back-end database, and everything in between. We're going to look at topics like partitioning, sharding, caching, using content delivery networks and managing APIs, and as ever, we'll stay focused on how to leverage the features in Azure to make all of this easier and more controllable.
Cloud Patterns for Testing In this module we'll look at testing. Not testing in general, not unit testing or usability testing or acceptance testing, but primarily load testing, how to quickly arrange to have hundreds or thousands, or even hundreds of thousands of simultaneous connections and requests to your application. And we can use load testing to emulate a normal, expected load, but also some level of stress testing to see what happens at peak load times with spikes in traffic, and try and understand how our system is going to scale. So we'll talk here about the tools we use, what options exist inside and outside Azure, how to write tests, how to run them, and how to interpret the results. Let's get to it.