4. How often should
I patch my servers?
How can I increase server utilization?
How I deploy new code to my server?
Which packages should
be on my server?
It takes how long to provision a new server?
5. How often should
I patch my servers?
How can I increase server utilization?
How I deploy new code to my server?
Which packages should
be on my server?
It takes how long to provision a new server?
6. How often should
I patch my servers?
How can I increase server utilization?
How I deploy new code to my server?
Which packages should
be on my server?
7. How often should
I patch my servers?
How can I increase server utilization?
How I deploy new code to my server?
Which packages should
be on my server?
11. Azure Functions
Process events with Serverless code.
Make composing Cloud Apps insanely easy
Develop Functions in C#, Node.js, F#, Python, PHP, Batch and more
Easily schedule event-driven tasks across services
Expose Functions as HTTP API endpoints
Scale Functions based on customer demand
Easily integrate with Logic Apps
31. EVENT SWARM ENGAGEMENT CHANNELS
FLEXIBLE BIG DATA PIPELINE
INTELLIGENCE PIPELINE
3RD PARTY
EVENT INGESTION
ENGINE
SQL DATA
WAREHOUSE
DATA LAKE STORAGE
& ANALYTICS
STREAM
ANALYTICS
WEB
CUSTOM
SERVICES
WEARABLES
POS
DIGITAL
DISPLAYS
BOTS
KIOSKS
MOBILE APP
SENSORS
OMNI CHANNEL ENGAGEMENT
WORKFLOW
ORCHESTRATION
ENTERPRISE INTEGRATION
CUSTOM INTELLIGENCE
INTELLIGENT
SERVICES
CUSTOM
FUNCTIONS
MACHINE
LEARNING
COGNITIVE
SERVICES
EXISTING
NEW
API GATEWAY
API GATEWAY
32. Microsoft and Serverless
Try Functions – https://functions.azure.com
Try App Service – https://tryappservice.azure.com
33.
34. General practices for serverless
• Thick clients; thin & stateless backends
• SPAs like Angular/React are your friend
• Be sure to enable CORS
• Sync is nice, but Async is nicer
• Async, queue based systems are more resilient
• Read and internalize the reactive manifesto - http://www.reactivemanifesto.org/
• While synchronous work will happen, minimize the work done in a sync function
and kick off to a queue based async process (HTTP status code 202, not 201 )
• Live and die by the cloud
• Like never before, develop on the cloud, test on the cloud, ship on the cloud
• Not just FaaS, but use other serverless tech that best solves the problem (like
Logic Apps)
It’s all you - your hardware, your VMs, your application servers, etc.
It’s all you - your hardware, your VMs, your application servers, etc.
It’s all you - your hardware, your VMs, your application servers, etc.
It’s all you - your hardware, your VMs, your application servers, etc.
It’s all you - your hardware, your VMs, your application servers, etc.
It’s all you - your hardware, your VMs, your application servers, etc.
Abstraction of servers, infrastructure and configuration of operating system
Event-driven scale (no while truing)
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
“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”
Mono lithic to loosely coupled copument
Function as the unit of work
Functions are executed; they start and finish
Functions have inputs and outputs
https://azure.microsoft.com/en-us/documentation/articles/functions-triggers-bindings/
We will show in the next demo that the portal has more binding and more granular per service
https://azure.microsoft.com/en-us/pricing/details/functions/
Execution Time
$0.000008/GB-s
400,000 GB-s free per month
Total Executions
$0.20 per Million Executions
1 Million Executions
The example below illustrates the execution time included with the Azure Functions free grant of 400,000 GB-s.
For memory tier size of 128MB, the 400,000 GB-s free grant allows for 3,200,000 seconds of execution time per month ((400,000 * 1,024)/128)
For the largest available memory tier size of 1,536MB the free grant will allow for 266,666 seconds of execution time per month ((400,000 * 1,024)/1,536)
A 1,536MB Function App in the West US region takes 1 second to execute and executes 2,000,000 times in a month resulting in a cost of $20.80 for Execution time.
Now let’s take a look an incredibly cool company Plexure, which has taken Azure Functions to the next level.
For those who aren’t familiar with Plexure, they offer a rich platform to help businesses measure, optimize, and influence customer transactions and engagement in their stores.
Here you can see an overview of their architecture, heavily leveraging lots of Azure services, including both Azure Functions and Logic Apps, two Serverless technologies. The awesome thing that Plexure has done is that they not only utilize these services to help process events from their own platform, but they actually offer the ability for their own users to write Functions within their UX to use as part of a workflow. (I’ll spend some time here to let the impact of that sink in)