SlideShare a Scribd company logo
Going Serverless with Azure Functions
Shahed Chowdhuri
Sr. Technical Evangelist
CSE, Microsoft
Shahed.Chowdhuri@microsoft.com
@shahedC
github.com/shahedc
DC/MD/VA, Mid-Atlantic, East Coast, US
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Type Service Trigger Input Output
Schedule Azure Functions 
HTTP Azure Functions  
Blob Storage Azure Storage   
Events Azure Event Hubs  
Queues Azure Storage  
Queues and topics Azure Service Bus  
Storage tables Azure Storage  
No-SQL DB Azure CosmosDB  
Push notifications Azure Notification Hubs 
Twilio SMS Text Twilio 
SendGrid email SendGrid 
{
"bindings": [
{
"name": "myQueueItem",
"type": "queueTrigger",
"direction": "in",
“queueName": "outputqueue",
"connection": "AzureWebJobsStorage"
},
{
"type": "blob",
"name": "outputBlob",
"path": "outblob/{rand-guid}.txt",
"connection": "AzureWebJobsStorage",
"direction": "out"
}
]
}
module.exports = function (context, myQueueItem, myOutputBlob) {
context.log('JavaScript queue trigger function ', myQueueItem);
//validate
if (myQueueItem.apiId && myQueueItem.method && myQueueItem.body)
{
const value = DoWork(myQueueItem);
if(value) {
context.bindings.myOutputBlob = JSON.stringify(value);
//myOutputBlob = JSON.stringify(value);
}
}
else {
//handle error queue item missing params
context.log('invalid queue item ', myQueueItem);
}
context.done();
}
public static void Run(byte[] image, string filename,
Stream outputBlob, TraceWriter log)
{
log.Info($"Processing image: {filename}");
var imageBuilder = ImageResizer.ImageBuilder.Current;
imageBuilder.Build(
image, outputBlob,
new ResizeSettings(640, 400, FitMode.Max, null), false);
}
{
"bindings": [
{
"name": "image",
"type": "blobTrigger",
"direction": "in",
"path": "card-input/{filename}.jpg",
"connection": "AzureWebJobsStorage"
},
{
"type": "blob",
"name": "outputBlob",
"path": "card-output/{filename}.jpg",
"connection": "AzureWebJobsStorage",
"direction": "out"
}
]
}
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Every 15 minutes Clean tableFind and clean invalid data
File added to
Blob Storage
Transform CSV to data rows
CSV
Power BI
Chart graphic
Excel file saved
to OneDrive
Microsoft Graph API analyzes content Creates new sheets
with charts
Loaded web page
calls WebHook
Completed pageCreate ad based on user profile
Photo taken and
WebHook called Stores in blob storage Produces scaled images
Millions of devices feed
into Stream Analytics
Store data in
SQL Online
Transform to structured data
Going Serverless with Azure Functions
Deployment and management isolation
Customers
Products
Orders
API calls
customers.azurewebsites.net
products.azurewebsites.net
orders.azurewebsites.net
Function app A
/customers
Function app B
/products
Function app C
Function3/orders
Function1
API proxy endpoints
HttpTrigger function endpoints
Key:
/products
/orders
Function2
New file on site root: proxies.json
{
"proxies": {
"proxy1": {
"matchCondition": {
"methods": [],
"route": "/api/{test}"
},
"backendUri": "https://contoso.azurewebsites.net/api/{test}"
}
}
}
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
https://www.npmjs.com/package/azur
e-functions-core-tools
Going Serverless with Azure Functions
Going Serverless with Azure Functions
Going Serverless with Azure Functions
http://wakeupandcode.com/azure-functions-dev-workflow/
> npm i -g azure-functions-core-tools
> func init
> func new
> func azure login
> func azure functionapp list
> func azure functionapp fetch-app-settings <fn-app-name>
> func host start
> func azure functionapp publish <fn-app-name>
Next:
* Select a language, e.g. C#
* Select a template, e.g. HttpTriggerWithParameters
* Enter a name for your new Function, e.g. “MyFunction”, which will
create a subfolder using the Function’s name.
https://blogs.msdn.microsoft.com/appserviceteam/2017/09/
25/develop-azure-functions-on-any-platform
https://azure.microsoft.com/en-us/blog/announcing-the-
preview-of-java-support-for-azure-functions
Going Serverless with Azure Functions
Azure
Functions
Demo
• Costa Farms
http://aka.ms/costafarms
https://github.com/joescars/CostaIoTSensorProject
• Fish Angler
http://aka.ms/fishangler
https://github.com/FishAngler/AzureFunctions
• Simple Recon
https://github.com/simpledealersuite/media2azure
• NullspaceVR
https://github.com/DaveVoyles/NullspaceVR-web-portal/tree/master/AzureFunctions
• Missing Children Society of Canada
https://github.com/Missing-Children-Society-Canada
https://github.com/Azure/Azure-Functions
Azure WebJobs SDK script
Azure WebJobs SDK
Azure WebJobs SDK extensions
Azure Functions CLI
Azure Functions Portal
Azure Functions templates
Azure Functions samples
http://aka.ms/TryFunctions
https://aka.ms/func-github
https://aka.ms/phillyfunctions
Email: shchowd@microsoft.com  Twitter: @shahedC

More Related Content

PPTX
Intro to Bot Framework v3 with DB
PPTX
Azure for Hackathons
PPTX
ASP.NET Core 2.1: The Future of Web Apps
PPTX
What's New at Microsoft?
PPTX
ASP.NET Core 2.0: The Future of Web Apps
PPTX
Universal Apps for Windows 10
PPTX
BizSpark & Azure for Startups
PPTX
How to Win #BestMicrosoftHack with Azure
Intro to Bot Framework v3 with DB
Azure for Hackathons
ASP.NET Core 2.1: The Future of Web Apps
What's New at Microsoft?
ASP.NET Core 2.0: The Future of Web Apps
Universal Apps for Windows 10
BizSpark & Azure for Startups
How to Win #BestMicrosoftHack with Azure

What's hot (20)

PPTX
Azure: PaaS or IaaS
PPTX
Web App Security
PPTX
Capture the Cloud with Azure
PPTX
Intro to Bot Framework
PPTX
Cloud-Backed Mixed Reality: HoloLens & Azure Cognitive Services
PPTX
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
PPTX
Typescript 102 angular and type script
PDF
Spsnyc15 azure and sp2013 amit_v
PPTX
ASP.NET Core 1.0 Overview: Pre-RC2
PPTX
NextGen Portal for Your Organization
PPTX
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
PDF
O365Con18 - New Era of Customizing - Olli Jaaskelainen
PDF
Spsdc 2014 o365_power_shell_csom_amitv
PPTX
Dear Azure: External collaboration with Azure AD B2B
PPTX
Azure App Service at Let's Dev This
PPTX
Developing Sandbox Solutions
PPTX
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
PPTX
Azure Bot Service
PPTX
Introduction to AngularJS with the Microsoft Graph
PDF
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
Azure: PaaS or IaaS
Web App Security
Capture the Cloud with Azure
Intro to Bot Framework
Cloud-Backed Mixed Reality: HoloLens & Azure Cognitive Services
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
Typescript 102 angular and type script
Spsnyc15 azure and sp2013 amit_v
ASP.NET Core 1.0 Overview: Pre-RC2
NextGen Portal for Your Organization
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
O365Con18 - New Era of Customizing - Olli Jaaskelainen
Spsdc 2014 o365_power_shell_csom_amitv
Dear Azure: External collaboration with Azure AD B2B
Azure App Service at Let's Dev This
Developing Sandbox Solutions
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Azure Bot Service
Introduction to AngularJS with the Microsoft Graph
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
Ad

Similar to Going Serverless with Azure Functions (20)

PDF
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
PPTX
Going Serverless with Azure Functions #1 - Introduction to Azure Functions
PPTX
COB - Azure Functions for Office 365 developers
PPTX
Alex Thissen "Server-less compute with .NET based Azure Functions"
PDF
[Struyf] Automate Your Tasks With Azure Functions
PDF
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
PPTX
Serverless with Azure Functions
PDF
Download full ebook of Azure Functions With C Marto Torres instant download pdf
PPTX
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
PDF
Working with data using Azure Functions.pdf
PPTX
Scalable APIs with Azure Functions
PPTX
Azure Functions - Introduction
PPTX
Azure Functions & Serverless Computing
PPTX
Serverless with azure functions the rebel service
PPTX
Azure serverless architectures
PPTX
CATzure Azure Functions
PPTX
Play with azure functions
PPTX
Era of server less computing
PPTX
Azure F#unctions
PPTX
Azure Functions @ global azure day 2017
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
Going Serverless with Azure Functions #1 - Introduction to Azure Functions
COB - Azure Functions for Office 365 developers
Alex Thissen "Server-less compute with .NET based Azure Functions"
[Struyf] Automate Your Tasks With Azure Functions
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
Serverless with Azure Functions
Download full ebook of Azure Functions With C Marto Torres instant download pdf
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
Working with data using Azure Functions.pdf
Scalable APIs with Azure Functions
Azure Functions - Introduction
Azure Functions & Serverless Computing
Serverless with azure functions the rebel service
Azure serverless architectures
CATzure Azure Functions
Play with azure functions
Era of server less computing
Azure F#unctions
Azure Functions @ global azure day 2017
Ad

More from Shahed Chowdhuri (20)

PPTX
ASP.NET Core 2.1: The Future of Web Apps
PPTX
ASP.NET Core 2.1: The Future of Web Apps
PPTX
Cloud-Backed Mixed Reality with HoloLens & Azure Cognitive Services
PPTX
Microsoft Cognitive Services
PPTX
Game On with Windows & Xbox One @ .NET Conf UY
PPTX
Game On with Windows & Xbox One!
PPTX
Intro to Xamarin: Cross-Platform Mobile Application Development
PPTX
Xbox One Dev Mode
PPTX
Capture the Cloud with Azure
PPTX
Intro to HoloLens Development + Windows Mixed Reality
PPTX
Intro to Bot Framework v3
PPTX
ASP.NET Core MVC + Web API with Overview
PPTX
ASP.NET Core 1.0 Overview
PPTX
Capture the Cloud with Azure
PPTX
Intro to HoloLens Development
PPTX
Xbox One Dev Mode
PPTX
Intro to Xamarin
PPTX
ASP.NET Core MVC + Web API with Overview (Post RC2)
PPTX
ASP.NET Core 1.0 Overview: Post-RC2
PPTX
ASP.NET Core 1.0 Overview
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web Apps
Cloud-Backed Mixed Reality with HoloLens & Azure Cognitive Services
Microsoft Cognitive Services
Game On with Windows & Xbox One @ .NET Conf UY
Game On with Windows & Xbox One!
Intro to Xamarin: Cross-Platform Mobile Application Development
Xbox One Dev Mode
Capture the Cloud with Azure
Intro to HoloLens Development + Windows Mixed Reality
Intro to Bot Framework v3
ASP.NET Core MVC + Web API with Overview
ASP.NET Core 1.0 Overview
Capture the Cloud with Azure
Intro to HoloLens Development
Xbox One Dev Mode
Intro to Xamarin
ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
20250228 LYD VKU AI Blended-Learning.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Going Serverless with Azure Functions

Editor's Notes

  • #3: What is a technical evangelist?
  • #7: Talking points: (New) What do we go from here? Introducing Serverless, an event-driven process, which will grow and scale on demand. The only remaining question now becomes: How I architect my app to become Serverless? Pretty neat, right? It all sounds great, naturally, you may ask, how does Serverless fit into the picture?
  • #8: Abstraction of servers, infrastructure and configuration of operating system Event-driven scale Sub-second billing Stateless Serverless compute is a fully managed service. Some refer to it as Functions as a Service OS and Framework patching is performed for you There is zero administrative tasks and no need to manage any infrastructure You just deploy your code (function) and it runs Your code runs within seconds and for very short period of time Serverless compute scales quickly (almost instantly) and vastly Automatically scales within seconds No scale configuration is required (there is no way to configure scale or limits) Scales to match any given workload. Scales from zero to handle tens of thousands concurrent functions invocations within seconds Pay only for the time your code is running Serverless compute reacts to events React, in near real-time, to events and triggers Triggered by virtually any event from Azure service or 3rd party services Setup time, provisioning is long & costly
  • #9: “Pinnacle of PaaS compute” Not just hardware “servers”, but software servers are also managed for you Focus on business logic, not solving technical problems not core to business Lower effort to get started makes it easier to experiment (bots, etc.) Benefits of “Serverless”
  • #10: Bindings abstract away where the data is coming to Logic Apps Programming free paradigm with a visual designer, drag and drop workflows With Connectors to different types of services (eg an FTP server) Talking Points: (Updated on 4/3/17) Lets talk about what really makes up MSFT’s Serverless platform: At the center of the Serverless platform, is our compute offerings: Azure Functions and Azure Logic Apps. Azure Functions is an event based Serverless compute experience that helps you accelerate your development. Run time is open. Function code can be executed in vm or somewhere else, on prem or in clould. Logic Apps is a powerful orchestration tool. It enables building a Serverless app in minutes – by orchestrating multiple functions using a visual workflow tool. Say you have your apps up and running using Serverless. Congratulations! You now need to collect intelligence from different apps across platforms to take actions upon. There are a few essential components which we think are core to building Serverless applications are: Data/ Storage –Functions has triggers and bindings with Azure document DB and Azure Blob storage ** Triggers: Triggers are event responses used to trigger your custom code. They allow you to respond to events across the Azure platform or on premise. ** Bindings: Bindings represent the necessary meta data used to connect your code to the desired trigger or associated input or output data. Messaging such as queues and topics using Azure Service Bus and Azure Event Hubs Integration – that includes core LOB apps and SaaS apps integration via Azure Logic Apps. Intelligence on data and sentiment/ predictive analysis using Cognitive services and Machine learning Conversation as a service – how do we equip developers to build apps that offer an end-to-end experience for their end users – Azure Bot Service offers a Serverless interactive bot experience. More, developers are spending more time writing code that allows them to add huge business impact with Serverless. MSFT offers numerous development tools such as IDE Support for Visual Studio in functions and Logic Apps, enables local development (vs web browser coding environment), visual debugging capability, all with your tools of choice. Lastly, I also want to highlight top scenarios and use cases for Serverless: Real-time Stream analytics: Customers can use Functions to feed real-time streams of data from application tracking into structured data and store it in SQL online. SaaS event processing: Customers can use Functions and Logic Apps to analyze data from an excel file in Onedrive and perform validation, filtration, sorting and convert data into consumable business charts Web app architecture: Used a lot in creating targeted marketing collaterals – when a customer clicks on a webpage, it triggers a webhook, that uses a function to create an ad that matches the customer profile and displays a completed webpage. Real-time bot messaging: When customers send a message to a chatbox, Functions calls Cortana analytics to generate appropriate answers and sends a response back. //from before: Customers have different paths to build a Serverless app – start by building the distributed application components using functions by leveraging the numerous templates and declarative bindings Or Start with the workflow and orchestration of Serverless application using Azure Logic Apps. The visual designer enables developers to quickly and easily author, edit and visualize orchestration of multiple functions and workflow.
  • #13: The difference between trigger and binding…
  • #16: This is the whole (top level) Dev Ops story where Dev build wounderful apps, using CI they mange their code, builds, and releases. Connecting to a repository, they can deploy to Azure Websites, build in the cloud, deploy to a slot to test and validate, swap into production, deployed across the globe as needed, monitor and get feedback, on which devs can make updates. Rinse and repeat
  • #29: Languages:  C#, F#, Node.js, Python, PHP, batch, bash
  • #30: With that opening in mind and somewhat general understanding of what we are trying to prove here Now that we understand some of the pain points with having big application with many functions. It is important to take a moment to review some basic best practices for Functions: Functions should do one thing Functions should finish as quickly as possible Functions should be stateless Functions should be idempotent %
  • #31: Stateless application that needs to scale
  • #44: Contact Microsoft email: shchowd@microsoft.com Personal Twitter: @shahedC Dev Blog: WakeUpAndCode.com