building microservices with azure functions
TRANSCRIPT
Building Microservices with Azure Functions
Justin Maurer Software Developer - Modern Apps
@Jmnethttps://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
“Serverless”
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, InstantAuto-Scaling
Pay only when your Code runs
Azure Functions at a Glance
Serverless (FaaS) Binding to Services Language SupportServerless 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 2016Went GA November 2016
Azure Services (Document DB, Logic Apps, Storage, Service Bus, Event Hub)
Github, Sendgrid, Twilio, Dropbox, OneDrive, Box
HTTP & Webhooks
C#, Node.js, F#, Python, PHP, Batch and more to come
Web apps
Web apps that scale with your business
Mobile apps
Build mobile apps for any device
API apps
Easily build and consume APIs in the cloud
Functions
A serverless event based experience to accelerate your development.
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