Azure Functions Fundamentals

Discover how Azure Functions allows you to easily write serverless code in your language of preference to handle events at scale, with minimal overhead and cost.
Course info
Rating
(175)
Level
Intermediate
Updated
Jan 28, 2017
Duration
3h 15m
Table of contents
Course Overview
Introducing Azure Functions
Creating Your First Azure Function
Understanding Triggers and Bindings
Building a Function Pipeline
Deploying Azure Functions
Working in Production
Description
Course info
Rating
(175)
Level
Intermediate
Updated
Jan 28, 2017
Duration
3h 15m
Description

Azure Functions enables you to write serverless code to handle events at scale, with minimal overhead and cost. In this course, Azure Functions Fundamentals, you'll learn what Azure Functions is intended for, why you might want to use it, and you're going to see loads of demos of how simple it is to create your own functions. First, you'll learn how to work with both C# and JavaScript functions. Next, you'll use many different triggers and binding types supported by Azure functions including monitoring queues. Then, you'll explore how to work with blob storage, sending emails, and how to develop in Visual Studio or from the command line with a text editor, if you prefer. Finally, you'll discover how to automate deployments, as well as how to debug and monitor our functions. By the end of this course, you'll be ready to create, deploy, and manage your own Azure Functions applications.

About the author
About the author

Mark Heath is a software developer based in Southampton, England, working for NICE Systems as a software architect creating cloud based digital evidence management systems for the police. He is the creator of NAudio, an open source audio framework for .NET.

More from the author
More courses by Mark Heath
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, my name is Mark Heath, and welcome to my course Azure Functions Fundamentals. I work as a software architect and senior development at NICE Systems where I'm currently helping to create Azure-based digital evidence management systems for the police. Now Azure Functions is a brand new addition to the Azure platform, and it opens the door to a new style of programming known as serverless. And this allows you move rapidly, to be able to scale with ease, and to keep your costs to a minimum. And in this course, I'm going to explain what Azure Functions is intended for, why you might want to use it, and we're going to see loads of demos of how simple it is to create your own functions. Some of the major topics that we'll cover include working with both C# and JavaScript functions; we'll use many of the different trigger and binding types supported by Azure Functions including monitoring queues, working with Blob storage, and sending emails; and we'll also see how you can develop in Visual Studio or from the command line with a text editor if you prefer. And we'll learn how to automate deployments, as well as how to debug and monitor our functions. And by the end of this course, you'll be ready to create, deploy, and manage your own Azure Functions' applications, and I also hope that you'll have lots of ideas for how you can incorporate them into your own cloud-based applications, as I think they're applicable in a very wide range of scenarios. And you'll be able to follow along with this course, even if you've never used Azure before. And although I'll be using C# and JavaScript for most of the function demos, you can actually use several different languages to create Azure Functions. So much of what we'll be learning is relevant, whichever your language of preference is. So I hope you will join me on this journey to learn about Azure Functions with the Azure Functions Fundamentals course at Pluralsight.

Creating Your First Azure Function
Hi, Mark Heath here, and in this module we're going to see how easy it is to create your first Azure Function. We'll start off by creating our first Azure Function using a free trial experience designed to get you started quickly. Our first function will be a simple webhook, and we'll see how easy it is to code and test it within the portal. And you'll be able to follow along as we go, even if you don't currently have an Azure account. And then we'll explore in more detail the options available in the Azure Functions section of the portal, including how to create your own function app and using function templates to quickly create many different function types. And I also want to give you a bit of a behind the scenes look at what's actually going on in your Azure Functions app, and so we'll see how the Kudu website lets us explore the servers that are actually running our functions, and we'll also see what's inside the storage accounts that Azure Functions creates for us.

Building a Function Pipeline
Hi, Mark Heath here, and in this module we're going to continue our look at Azure Functions triggers and bindings by building out more of the function pipeline that we started to create in the last module. If you remember, in the last module we built a simple webhook that accepted order details sent to us from a third-party payment provider, and we wrote a JSON message onto a queue whenever our function was called. In this module, we're going to create the next two steps in our function pipeline. First of all, handling that queue message by creating a license file and storing it in Blob storage, and then responding to the creation of that license file by sending an email to the customer with the license file attached. And we'll also be upgrading our function pipeline to use Azure Table storage as both an additional output of our first function and as an extra input to our third function. So in this module, we'll get to use the queue trigger, the blob output binding and blob trigger, the SendGrid output binding for sending our emails, and the Table storage input and output bindings. And we'll also learn about some more advanced binding techniques using the IBinder interface. And the function pipeline we're building is designed to demonstrate how you can chain together several small single-purpose functions, which is a much more reliable and maintainable way of writing code than creating one single giant long-running function that tries to do everything. So let's get started by building the function that listens on our queue.

Deploying Azure Functions
Hi, Mark Heath here, and in this module we'll be learning about the different ways you can deploy your Azure Functions. Now so far in this course we've done all of our coding directly within the Azure portal. And that's fine for experiments and prototyping, but at some point you're probably going to want to get your code under source control and only deploy when you're happy that it's ready to go live. So in this module, I'll be introducing you to two alternative ways to create and edit your function code. First, there's the Azure Functions command line tooling, which allows you to develop and manage your functions using the command line along with your favorite text editor. And there's also some Visual Studio tooling available, which is currently still in preview, but I'll show you how it allows you to develop your Azure Functions from within Visual Studio. And we'll also learn in this module about the various options for deploying your functions. Azure Functions supports several different techniques for continuous integration, and we'll focus particularly on using Git, which enables us to go live with our code simply by pushing our changes to a Git repository. So let's get started.

Working in Production
Hi, Mark Heath here, and in this final module of our Azure Functions Fundamentals course we're going to focus on working in production. So far in this course we've learned how you can create functions, use triggers and bindings, and we've even looked at deploying our functions, so in one sense we're ready to go live. But there are still a few questions that I've not directly answered so far in this course, so in this final module I'll be answering the following questions. First, how can I monitor my functions? And I'll show you how to monitor what's happening right now, what happened historically, and how much you're spending. Then we'll answer how I can debug my functions? And I'll show you how to debug locally from both Visual Studio and Visual Studio Code, as well as how to do remote debugging in Azure. Next, we'll answer how can I reference NuGet packages from my functions? Then, how can I secure my functions? And we'll discuss a few different options for this, including how we can create and renew function keys. And how can I configure CORS for my functions? And then finally, I'm going to wrap up this course by pointing you in the direction of a few useful resources to help you learn more about the capabilities of Azure Functions. So, there's a lot to get through in this module. Let's start off by asking how can I monitor my functions?