Getting started in Microservice can be a steep hill to climb, but with Azure Functions we can begin building them within minutes. Azure Functions is a "serverless" computing offering, that allows you to run small bits of JavaScript, C#, Python, PHP, Bash, Batch, and PowerShell that is managed by Azure to scale as needed. In this talk we will cover what are the best applications for Azure Functions, where they fit amongst the many options in cloud computing and go over specific use cases, including building a completely serverless backend for a web application and how it can be used for home automation.
6. 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.
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 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
10. 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