Get rid of your servers!
Use functions☁ + </> = 👊
Manuela Rink
Technical Evangelist
@
#0
The Theoretical Part*
*no excuses – first part needs to be theory!
Transformation from own “iron” to cloud VMs
Transformation from VMs to microservices / functions
We’ve come a long long way togetherThe	cloud	evolution
Serverless
or
Jeff*
or
“just the next pig which is chased through the village?”
*		Serverless	is	just	a	name,	Paul	Johnston
“[…] is a cloud computing code execution model
in which the cloud provider fully manages
starting and stopping virtual machines as
necessary to serve requests, and requests
are billed by an abstract measure of the
resources required to satisfy the request,
rather than per virtual machine, per hour.”
-- Wikipedia
https://en.wikipedia.org/wiki/Serverless_computing
“Quick and easy
run pieces of code*
in the cloud,
without worrying about
infrastructure or maintenance.”
-- Manu Rink, 2016
*of various size
AWS	Lambda
GA	since	April	2015
Azure	Functions
GA	since	November	2016
#1
Functions!!!11eleven
*not long until the demos, I swear!
Inspired by Matthew Henderson @ Microsoft
“Function App” is a group of functions
Inspired by Matthew Henderson @ Microsoft
Inherit from / Build on top of App Services
Full control of dependencies and connectors
Choose your fav language and coding environment
Powerful integration of you existing Azure apps
Choose from a wide variety of triggers
Open sourced
App Service Features and Capabilities
Enterprise Grade Apps
Designed for secure mission-critical applications
Fully Managed Platform
Optimized for Availability and Automatic scale
High Productivity Development
Agility through Continuous Deployment
Hybrid Connections / VPN / VLAN
Scheduled Backup
Azure Active Directory Integration
Site Resiliency, HA, and DR
Web Jobs
Role Base Access Control
Audit / Compliance
Enterprise Migration
Client Certs
Cache
IP Restrictions/ SSL
Web Sockets
SQL, MySQL, DocDB, & Mongo
Sticky Sessions
Authorization/ Authentication
Automated Deployment
AutoScale
Built-in Load Balancing
Worldwide Datacenter Coverage
End Point Monitoring & Alerts
App Gallery
DR Site Support
WildCard Support
Dedicated IP address
HTTP Compression
CDN Support for Websites
Premium WordPress
App Services Environments
Remote Debugging w/ Visual Studio
Site Staging Slots
Testing in Production
Continuous Integration/Deployment
Git, Visual Studio Online and GitHub
App & Site Diagnostics
OS & Framework Patching
Site Extensions Gallery
NET, PHP, Python, Node, Java
Framework Installer
Browser-based editing
Auto-Healing
Logging and Auditing
Admin-Site
Support Site Extension
Inspired by Matthew Henderson @ Microsoft
Templates
• Azure Internal Service Triggers
• Blob
• EventHub
• Storage Queue
• Service Bus Queue
• Service Bus Topic
• Generic Triggers
• Generic WebHook
• GitHub WebHook
• Http
• Timer
Languages
• Core
• C#
• JS/Node
• Experimental
• PowerShell
• Python
• PHP
• F#
• Bash
#2
Building the real stuff*!
… in 3 stages
*finally!
Yeaaah,	but	what	can	I	build	with	’em?
Scenario 0
The Easy Cake
use HTTP trigger to provide HTTP endpoints
to
build an “Is the cake a lie?” service
Scenario 0 – Easy cake! – Simple HTTP endpoint
Y
A
X B
Easy
Cake
LIVE DEMO
Scenario 1
Connect all the things!
use web hooks for wiring up
heterogeneous services
to
connect Slack with your mobile backend
Scenario 1 - Connect all the things! – Slack & mobile backend
The	Serverless	Connector	- Use	Functions	to	write	Slack	posts	in	your	mobile	backend
Y
A
X B
Connect
all the
things!
LIVE DEMO
Scenario 2
Like a pro!
use Blob Trigger to let function react
on storage I/O of other function
to
build an image resizing service
Scenario 2 - Like a pro! – Image Resizing Service
Scenario 2 - Like a pro! – Image Resizing Service
https://github.com/codePrincess/resizingService
Scenario 2 - Like a pro! – Image Resizing Service
Y
A
X B
Like
a
pro!
LIVE DEMO
#3
a Penny saved is a penny goT*
*’nuff said!
Cool stuff so far … and the costs?
It’s free*
*for the 1 million executions
and the first 400.000 GB/s
Function executes 2.000.000 times with a duration of 1 second using 1536MB RAM
Resource consumption costs
2 million exec * 1 second = 2 million seconds
1536 MB / 1024 MB = 1.5 GB
1.5 GB * 2 million seconds = 3 million GBs
3 million GBs – 400000 GBs = 2.6 million GBs
2.6 million GBs * 0.000016 $/GBs = 41.60 $
Execution costs
2 million exec - 1 million exec = 1 million exec
1 million exec * 0.20$ = 0.20$
41.60$ + 0.20$ = 41.80$
Pricing OverviewPricing Calculator
Same example – just with 128MB RAM
0 $ + 0.20$ = 0.20$
Resource consumption costs
2 million exec * 1 second = 2 million seconds
128 MB / 1024 MB = 0.125 GB
0.125 GB * 2 million seconds = 0.25 million GBs
0.25 million GBs – 400000 GBs = 0 GBs
0 million GBs * 0.000016 $/GBs = 0 $
Execution costs
2 million exec - 1 million exec = 1 million exec
1 million exec * 0.20$ = 0.20$
#4
... This is the end!
😻
Easy to build & deploy
Various languages supported
Lot of triggers available
Inter-connectable in- & outside of Azure
Cost effective
Merci :)
Manu Rink
Technical Evangelist
marink@microsoft.com
@codeprincess
says

Azure Functions - Get rid of your servers, use functions!

  • 1.
    Get rid ofyour servers! Use functions☁ + </> = 👊 Manuela Rink Technical Evangelist @
  • 2.
    #0 The Theoretical Part* *noexcuses – first part needs to be theory!
  • 3.
    Transformation from own“iron” to cloud VMs
  • 4.
    Transformation from VMsto microservices / functions
  • 5.
    We’ve come along long way togetherThe cloud evolution
  • 6.
    Serverless or Jeff* or “just the nextpig which is chased through the village?” * Serverless is just a name, Paul Johnston
  • 7.
    “[…] is acloud computing code execution model in which the cloud provider fully manages starting and stopping virtual machines as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.” -- Wikipedia https://en.wikipedia.org/wiki/Serverless_computing
  • 8.
    “Quick and easy runpieces of code* in the cloud, without worrying about infrastructure or maintenance.” -- Manu Rink, 2016 *of various size
  • 9.
  • 10.
  • 11.
    Inspired by MatthewHenderson @ Microsoft
  • 12.
    “Function App” isa group of functions Inspired by Matthew Henderson @ Microsoft
  • 13.
    Inherit from /Build on top of App Services Full control of dependencies and connectors Choose your fav language and coding environment Powerful integration of you existing Azure apps Choose from a wide variety of triggers Open sourced
  • 14.
    App Service Featuresand Capabilities Enterprise Grade Apps Designed for secure mission-critical applications Fully Managed Platform Optimized for Availability and Automatic scale High Productivity Development Agility through Continuous Deployment Hybrid Connections / VPN / VLAN Scheduled Backup Azure Active Directory Integration Site Resiliency, HA, and DR Web Jobs Role Base Access Control Audit / Compliance Enterprise Migration Client Certs Cache IP Restrictions/ SSL Web Sockets SQL, MySQL, DocDB, & Mongo Sticky Sessions Authorization/ Authentication Automated Deployment AutoScale Built-in Load Balancing Worldwide Datacenter Coverage End Point Monitoring & Alerts App Gallery DR Site Support WildCard Support Dedicated IP address HTTP Compression CDN Support for Websites Premium WordPress App Services Environments Remote Debugging w/ Visual Studio Site Staging Slots Testing in Production Continuous Integration/Deployment Git, Visual Studio Online and GitHub App & Site Diagnostics OS & Framework Patching Site Extensions Gallery NET, PHP, Python, Node, Java Framework Installer Browser-based editing Auto-Healing Logging and Auditing Admin-Site Support Site Extension Inspired by Matthew Henderson @ Microsoft
  • 15.
    Templates • Azure InternalService Triggers • Blob • EventHub • Storage Queue • Service Bus Queue • Service Bus Topic • Generic Triggers • Generic WebHook • GitHub WebHook • Http • Timer Languages • Core • C# • JS/Node • Experimental • PowerShell • Python • PHP • F# • Bash
  • 16.
    #2 Building the realstuff*! … in 3 stages *finally!
  • 17.
  • 18.
    Scenario 0 The EasyCake use HTTP trigger to provide HTTP endpoints to build an “Is the cake a lie?” service
  • 19.
    Scenario 0 –Easy cake! – Simple HTTP endpoint
  • 20.
  • 21.
    Scenario 1 Connect allthe things! use web hooks for wiring up heterogeneous services to connect Slack with your mobile backend
  • 22.
    Scenario 1 -Connect all the things! – Slack & mobile backend The Serverless Connector - Use Functions to write Slack posts in your mobile backend
  • 23.
  • 24.
    Scenario 2 Like apro! use Blob Trigger to let function react on storage I/O of other function to build an image resizing service
  • 25.
    Scenario 2 -Like a pro! – Image Resizing Service
  • 26.
    Scenario 2 -Like a pro! – Image Resizing Service
  • 27.
  • 28.
  • 29.
    #3 a Penny savedis a penny goT* *’nuff said!
  • 30.
    Cool stuff sofar … and the costs?
  • 31.
    It’s free* *for the1 million executions and the first 400.000 GB/s
  • 32.
    Function executes 2.000.000times with a duration of 1 second using 1536MB RAM Resource consumption costs 2 million exec * 1 second = 2 million seconds 1536 MB / 1024 MB = 1.5 GB 1.5 GB * 2 million seconds = 3 million GBs 3 million GBs – 400000 GBs = 2.6 million GBs 2.6 million GBs * 0.000016 $/GBs = 41.60 $ Execution costs 2 million exec - 1 million exec = 1 million exec 1 million exec * 0.20$ = 0.20$ 41.60$ + 0.20$ = 41.80$ Pricing OverviewPricing Calculator Same example – just with 128MB RAM 0 $ + 0.20$ = 0.20$ Resource consumption costs 2 million exec * 1 second = 2 million seconds 128 MB / 1024 MB = 0.125 GB 0.125 GB * 2 million seconds = 0.25 million GBs 0.25 million GBs – 400000 GBs = 0 GBs 0 million GBs * 0.000016 $/GBs = 0 $ Execution costs 2 million exec - 1 million exec = 1 million exec 1 million exec * 0.20$ = 0.20$
  • 33.
  • 34.
    😻 Easy to build& deploy Various languages supported Lot of triggers available Inter-connectable in- & outside of Azure Cost effective
  • 35.
    Merci :) Manu Rink TechnicalEvangelist marink@microsoft.com @codeprincess says