%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
Â
Introduction to Azure Functions
1. Unconference Web 2017 â 28.01.2017
Introduction to
Azure Functions
Marco Parenzan
Microsoft MVP for Azure
@marco_parenzan
2. Unconference Web 2017 â 28.01.2017
@marco_parenzan
âMicrosoft MVP 2016 for Azure
âAzure Trainer in Cloud Academy, Inc.
âCommunity Lead per 1nn0va
4. Unconference Web 2017 â 28.01.2017
Misundestanding on PaaS
âYou control only the application and data
âNo control over other tiers
ïżNo on underlying hardware
ïżCPU and RAMâŠ.hardware? ï
âAlways example about our applications, web as an example
ïżâŠand we compare IaaS (IIS) with PaaS (App Services)
ïżâŠso we configure the CPU, the RAM, but nothing elseâŠ
5. Unconference Web 2017 â 28.01.2017
Cortana
Management Suite
Media ServicesStorage
Traffic
Manager
Visual Studio
Services
OMS
Management SuitMachine LearningCDNDocument DB
Search
SchedulerActive Directory Key Vault App Insights Cognitive Services Embedded Power BI
Hockey AppStream AnalyticsNotification HubIoT Hub Service Bus
Logic App
Where you decide the CPU on these?
6. Unconference Web 2017 â 28.01.2017
Real World PaaSâŠ
âDonât decide on CPU and RAMâŠwhy?
ïżControl vs Configure
âYou cannot plan your workload capacity
ïżOnly with testing
âInfact Real World PaaS is aboutâŠ.
ïżIOPS (Azure Storage)
ïżStreaming Units (Media Services)
ïżResource Units (DocumentDb)
ïżThroughput Units (Event Hubs)
ïżStreaming Unit (Stream Analytics)
ïżData Transaction Units (SQL Database)
7. Unconference Web 2017 â 28.01.2017
Find who is missingâŠ
Cortana
Management Suite
Media ServicesStorage
Traffic
Manager
Visual Studio
Services
OMS
Management SuitMachine LearningCDNDocument DB
Search
SchedulerActive Directory Key Vault App Insights Cognitive Services Embedded Power BI
Hockey AppStream AnalyticsNotification HubIoT Hub Service Bus
Logic App
8. Unconference Web 2017 â 28.01.2017
Yes it is!
Azure App Service
âPaaS that developers love and businesses can trustâ
9. Unconference Web 2017 â 28.01.2017
Ship.
Acct. Mang.
Hist.
Database
Client
Ship.
DB
Client
Hist.
DB
Mang.
DB
Acct.
DB
POST
GET
UPDATE
Monolithic Microservices
Applicationâs evolution
10. Unconference Web 2017 â 28.01.2017
Ship.
Acct. Mang.
Hist.
Database
Client
Monolithic
Ship.
DB
Client
Hist.
DB
Mang.
DB
Acct.
DB
POST
GET
UPDATE
Microservices
Applicationâs evolution
11. Unconference Web 2017 â 28.01.2017
Serverless manifesto
âFunction are the unit of deployment and scaling.
âNo machines, VMs, or containers visible in the programming model.
âPermanent storage lives elsewhere.
âScales per request; Users cannot over- or under-provision capacity.
âNever pay for idle (no cold servers/containers or their costs).
âImplicitly fault-tolerant because functions can run anywhere.
âBYOC - Bring Your Own Code.
âMetrics and logging are a universal right.
P.S. Home not found!
12. Unconference Web 2017 â 28.01.2017
Serverless origins
âhttps://martinfowler.com/articles/serverless.html#origin
âWhy The Future Of Software And Apps Is Serverless
ïż2012 KEN FROMM
ïż http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/
ïżhttps://medium.com/@ken_fromm/thinking-serverless-how-new-approaches-address-modern-data-
processing-needs-part-1-af6a158a3af1#.iqlx5xky9
âLambda
ïżAWS, 2014
ïż[Google Cloud Function, 2016]
13. Unconference Web 2017 â 28.01.2017
Ship.
DB
Client
Hist.
DB
Mang.
DB
Acct.
DB
POST
GET
UPDATE
Microservices
Applicationâs evolution
14. Unconference Web 2017 â 28.01.2017
Client
Mang.
DB
Microservices
POST
Users
Users/Id
Users/Id
Users/Id
CreatUser
GetUser
UpdateUser
DeleteUser
GET
UPDATE
DELETE
Serverless
Applicationâs evolution
16. Unconference Web 2017 â 28.01.2017
Code Events + data
Azure Functions
Azure Functions
âProcess events with Serverless code.
âMake composing Cloud Apps insanely easy
âDevelop Functions in C#, Node.js, 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
17. Unconference Web 2017 â 28.01.2017
Now complete Serverless
Cortana
Management Suite
Media ServicesStorage
Traffic
Manager
Visual Studio
Services
OMS
Management SuitMachine LearningCDNDocument DB
Search
SchedulerActive Directory Key Vault App Insights Cognitive Services Embedded Power BI
Hockey AppStream AnalyticsNotification HubIoT Hub Service Bus
Functions Logic App
19. Unconference Web 2017 â 28.01.2017
Azure
Functions
APIM
Notification Hubs
Web Apps
Mobile Apps
API Apps
Logic Apps
Custom AppseCommerce Digital Global Presence LOB
Apps
Services
App Service
Developer Experience
âą Languages and Frameworks
âą Superior DevOps
âą Self service supportability
Fully Managed Platform
âą Auto scale
âą OS and Framework patching
âą Load balancing
Enterprise Grade
âą Enterprise grade SLA
âą Security and
Compliance
âą On-Premise Connectivity
Platform
API / Services / ISV
20. Unconference Web 2017 â 28.01.2017
Platform and scaling
âApp Service offers dedicated and consumption tiers.
âDedicated is the existing App Service plan tiers
ïżBasic, Standard, Premium
ïżPay based on # of reserved VMs
ïżYouâre responsible for scale
âConsumption (Dynamic)
ïżPay on number of executions
ïżPlatform responsible for scale
21. Unconference Web 2017 â 28.01.2017
Dynamic tier pricing
âPay per execution model - two meters, three units
âą Number of executions
âą Duration of execution x reserved memory
22. Unconference Web 2017 â 28.01.2017
Dual abstraction
âServerless compute abstracts away the compute
âAzure Functions Bindings abstract away the services
you interact with
24. Unconference Web 2017 â 28.01.2017
Azure Functions architecture
âAzure Functions is built around the WebJobs SDK runtime. The WebJobs SDK makes it easy to react
to events and work with data in a consistent abstracted fashion.
25. Unconference Web 2017 â 28.01.2017
Supported Languages
â1st class support
ïżNode/JavaScript
ïżC#
âExperimental support
ïżF#
ïżPython
ïżPHP
ïżBatch
ïżBash
ïżPowerShell
26. Unconference Web 2017 â 28.01.2017
Trigger
(data) Input Input
code
Output
Output
Input
Functions Programming Model
âFunction as a single unit of work
âFunctions are executed per trigger
âFunctions have inputs and outputs
29. Unconference Web 2017 â 28.01.2017
Focus on
Business
Logic
Reduced
Time To
Market
Reduced
DevOps
Benefits of Serverless?
30. Unconference Web 2017 â 28.01.2017
Functions Programming Model - Best Practices
âFunctions should âdo one thingâ
âFunctions should be stateless
âFunctions should be idempotent
âFunctions should finish as quickly as possible
1
31. Unconference Web 2017 â 28.01.2017
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)
32. Unconference Web 2017 â 28.01.2017
Azure Functions is open sourced
âThe runtime, âportalâ, and templates are all on GitHub
ïżhttps://github.com/Azure/azure-webjobs-sdk
ïżhttps://github.com/Azure/azure-webjobs-sdk-extensions
ïżhttps://github.com/Azure/azure-webjobs-sdk-script
ïżhttps://github.com/Azure/azure-webjobs-sdk-templates
ïżhttps://github.com/ProjectKudu/WebJobsPortal
âOpen roadmap
ïżUse the cutting edge features
ïżTransparency into priorities and velocity
ïżInfluence the direction of the project
âRuntime is intended to be portable
ïżMIT License
33. Unconference Web 2017 â 28.01.2017
Any questions?
You can find me at: marco [dot] parenzan [at] 1nn0va [dot] it
Thanks!