Building Microservices with Azure
Functions
Justin Maurer
Software Developer - Modern Apps
@Jmnet
https://github.com/jmdotnet
The Evolution Of Computing at Scale
Mainframes
1950-1980
On Premise / Co-location
1980-1990
Cloud / IaaS
2000s
Cloud / PaaS
2010s
Cloud Computing
Today (2017)
Serverless? Where were
going we don’t need
no servers.
Serverless Computing Architecture
Abstraction of
Servers
Function as a
Service (FaaS)
Scaling Autopilot
The Self Driving Car of Cloud Computing
Ok back to reality…. Things to consider with
Serverless Architecture
 Loss of control, vendors will put constraints on their services to deliver on reliability and performance goals.
 If you are processing a large amount of data (i.e. millions of rows), you will want to break that up into smaller chucks so that
it can be processed within a cost affective timeframe.
 Assume your code always has the potential to run in parallel as it can with dynamic scaling.
 Its bleeding edge, the tooling is limited (Azure Functions local development is in Beta, No IntelliSense in VS)
 Serverless is not magic – its just a way to have some experts build the parts of your app that you don’t specialize in.
Azure Functions
Microsoft “Serverless” offering,
Lightweight, Makes composing
Cloud Apps easy
Event-Driven, Instant
Auto-Scaling
Pay only when your
Code runs
Azure Functions at a Glance
Serverless (FaaS) Binding to Services Language Support
Serverless event based
processing, auto scales for you
based on your actual usage.
App developers focus on their
business logic / UX. Less on
boilerplate and scaling complex
infrastructures
Announced at Build 2016
Went GA November 2016
Azure Services (Document DB,
Logic Apps, Storage, Service
Event Hub)
Github, Sendgrid, Twilio,
Dropbox, OneDrive, Box
HTTP & Webhooks
C#, Node.js, F#, Python, PHP,
Batch and more to come
Part of App Services
Microservice Architecture
• A Single application as a suite of small
services.
• Each running in its own process and
communicating with lightweight
mechanisms
• The focus is on solving business
problems, adding capabilities,
competitive advantage – not writing
boilerplate code
• Each Service can have its own
lifecycle, deployments and scaling
Samples of Microservices with Azure
Functions
Demo
Hello World!
Demo
Image Processing
Demo
Hue app for
Google Home

Building microservices with azure functions

  • 1.
    Building Microservices withAzure Functions Justin Maurer Software Developer - Modern Apps @Jmnet https://github.com/jmdotnet
  • 2.
    The Evolution OfComputing at Scale Mainframes 1950-1980 On Premise / Co-location 1980-1990 Cloud / IaaS 2000s Cloud / PaaS 2010s
  • 3.
  • 4.
    Serverless? Where were goingwe don’t need no servers.
  • 5.
    Serverless Computing Architecture Abstractionof Servers Function as a Service (FaaS) Scaling Autopilot The Self Driving Car of Cloud Computing
  • 6.
    Ok back toreality…. Things to consider with Serverless Architecture  Loss of control, vendors will put constraints on their services to deliver on reliability and performance goals.  If you are processing a large amount of data (i.e. millions of rows), you will want to break that up into smaller chucks so that it can be processed within a cost affective timeframe.  Assume your code always has the potential to run in parallel as it can with dynamic scaling.  Its bleeding edge, the tooling is limited (Azure Functions local development is in Beta, No IntelliSense in VS)  Serverless is not magic – its just a way to have some experts build the parts of your app that you don’t specialize in.
  • 7.
    Azure Functions Microsoft “Serverless”offering, Lightweight, Makes composing Cloud Apps easy Event-Driven, Instant Auto-Scaling Pay only when your Code runs
  • 8.
    Azure Functions ata Glance Serverless (FaaS) Binding to Services Language Support Serverless event based processing, auto scales for you based on your actual usage. App developers focus on their business logic / UX. Less on boilerplate and scaling complex infrastructures Announced at Build 2016 Went GA November 2016 Azure Services (Document DB, Logic Apps, Storage, Service Event Hub) Github, Sendgrid, Twilio, Dropbox, OneDrive, Box HTTP & Webhooks C#, Node.js, F#, Python, PHP, Batch and more to come
  • 9.
    Part of AppServices
  • 10.
    Microservice Architecture • ASingle application as a suite of small services. • Each running in its own process and communicating with lightweight mechanisms • The focus is on solving business problems, adding capabilities, competitive advantage – not writing boilerplate code • Each Service can have its own lifecycle, deployments and scaling
  • 11.
    Samples of Microserviceswith Azure Functions
  • 12.
  • 13.
  • 14.