This course introduces you to the tools and techniques you need to build cloud applications on the Windows Azure platform. The modules focus on hands-on examples for using the development tools in Visual Studio and showing you how to accomplish common tasks in Windows Azure development.
Matt is an independent consultant with expertise in web application design and development and systems integration. As a writer, Matt has contributed to several journals and magazines such as MSDN Magazine. Matt regularly shares his love of technology by speaking at local, regional, and international conferences such as DevWeek, Prairie Dev Con, That Conference, and VS Live. As a Pluralsight Author, Matt has created more than 30 courses on the topics of web, mobile, and cloud development.
Introduction to Windows Azure Hello and welcome to this course introducing you to Windows Azure. My name is Matt Milner and I'll be your guide as we go through a hands on exploration of building applications for Microsoft's cloud platform. In this course we're going to be focused on Microsoft's offering around cloud computing, so I first wanted to just make sure everyone grasps that concept of what this new shift in the platform is all about. When we think about building an application for the cloud, we're really taking advantage of this infinite set of resources out there and Microsoft's data center that allows us to pay as we go, if you will, scale up our application as our customer demand calls for, and take advantage of someone else managing all the details for us of hardware failures and patches and all that good stuff so that we don't have to hire and pay folks that need to do that work. So there are a few things we're going to need to understand about building applications. The good news is a lot of your skills from building. NET applications translate over quite nicely. When we think about the Windows Azure platform or this cloud computing platform, there's three major components, each which is made up of smaller components. The key piece is Windows Azure itself, the core platform, which is made up of compute, or you could think of it as virtual machines with processing power, storage for storing your data, storing your images, and large files, and a management API and set of tools for managing your applications, working with deployments and upgrades. We'll also be looking at Microsoft SQL Azure or relational database service out in the cloud, so providing us all the familiar tables and keys and relationships, all the things we expect from a relational database, but in a highly scaled out reliable fashion in the cloud. And we'll finally look at Windows Azure AppFabric, so we'll see how we can get secure internet scale and internet protocol friendly messaging, web service messaging, HTTP messaging, through a relay to help us deal with the complexities of large networks and crossing the internet and dealing with firewalls and network address translation. So as we go, we'll be looking at each of these components, we'll see in the core platform how to build web applications. We'll learn how to build worker applications or things that are like services, code that's going to be running all the time, and we'll also see how to manage those applications in the terms of how do we publish our applications out to the cloud from our local machine. We'll see how to use the storage components, we'll learn how to work with tables in order to store data or entities with lots of properties. We'll look at using blob storage and we'll see how to store things like images, videos, audio files, large objects, and how to access those and secure them. And we'll also be looking at the cues that are in the storage component as well for sending small messages between our different compute nodes so that we can send commands or send message back and forth between those nodes. We'll move on and look at SQL Azure and see how to work with relational data in the cloud, primarily focused on what are the tools that we use to manage that data and what are some of the details that are slightly different from working with a regular SQL Server database. And finally we'll look at web services in the cloud and we'll see just how to host web services within a Windows Azure role or how to host it out in the cloud, but also how to take advantage of the Windows Azure AppFabric component to enable our services and our client applications that are running in our own data centers behind firewalls and network address translators to integrate with and talk to services that are running in other data centers or out in the Windows Azure cloud. As you begin to think about Windows Azure, I just want to put a picture in your head. As we go in we're going to be looking at a lot of code in Visual Studio, it's kind of hard to visualize sometimes what we're talking about when we talk about going out to the cloud, but this is an idea about a typical deployment perhaps out in Windows Azure, where on the left you can see we have everything load balanced and scaled out. I've got three different instances of my web role, you can think of that as my website, so running on three different servers, and I have two different instances of a worker role, those things can talk to each other, I can pass messages and have that worker role, that compute power processing things. And then we also have the storage services in the back end there where I've got my queues, tables and blobs, and again, load balanced, scaled out, reliable storage built for internet scale. And underneath it all here we have the fabric controller, that's the magic, if you will, that's the piece that Microsoft provides in their platform that monitors our systems. If a web role instance goes down, for example, one of our servers goes down, that controller notices that and it will replace it, bring up another virtual image matching the ones we already have and pull that up and add it back in and it will automatically swap it out. So this is the kind of ever we're going to deploy into, this is what we get when we go out to the cloud and take advantage of these giant data centers and these infinite computing resources. So I hope you're ready for a hands-on journey into Microsoft's cloud computing platform as we see how to build web application, we'll be building a simple event management application as we go along, and I hope you enjoy the ride.