Chad Green From Zero to Serverless CodeMash January 11, 2019
Who is Chad Green • Data & Solutions Architect at ProgressiveHealth • Community Involvement • Code PaLOUsa Conference Chair • Louisville .NET Meetup Organizer • Louisville Tech Leaders Meetup Co-Organizer • Louisville Tech Ladies Committee Member • Contact Information chadgreen@chadgreen.com chadgreen.com ChadGreen ChadwickEGreen
Agenda • What is Serverless Computing • Functions as a Service • Serverless Options • Azure Functions Overview • Azure Functions in Action • Pricing • Best Practices From Zero to Serverless 3
What is Serverless Computing From Zero to Serverless
The evolution of application platforms How do I deploy new code to my servers ? How can I increase server utilization? Which packages should be on my server? What size of servers should I buy? Who has physical access to my servers ? How often should I patch my servers ? It takes how long to provision a new server ? On-Premises From Zero to Serverless 5
The evolution of application platforms What is the right size of servers for my business needs? How can I increase server utilization? How many servers do I need? How can I scale my application? How do I deploy new code to my server ? How often should I patch my servers ? Which Operating System should I use? How often should I backup my server ? Who monitors my application? Which packages should be on my server ? IaaS On-Premises From Zero to Serverless 6
The evolution of application platforms What is the right size of servers for my business needs? How can I increase server utilization? How many servers do I need? How can I scale my application? PaaS On-Premises IaaS From Zero to Serverless 7
The evolution of application platforms The platform for next generation applications Serverless On-Premises IaaS PaaS From Zero to Serverless 8
What is Serverless? Abstraction of Servers Event-Driven/Instant Scale Micro-Billing From Zero to Serverless 9
Benefits of Serverless Manage apps not servers Reduced DevOps Faster Time to Market From Zero to Serverless 10
Challenges of Serverless Architecture Organizational No Runtime Complexity Support Optimization From Zero to Serverless 11
Function as a Service From Zero to Serverless
Serverless is more than just one thing Backend as a Service (BaaS) Functions as a Services (FaaS) • • Applications that significantly or fully Application run in stateless compute depend on services (in the cloud) to containers that are event-triggered, ephemeral, and fully managed by a 3 rd manage server-side logic and state party From Zero to Serverless 13
Function Scale Function Microservice Function Function Function Microservice Function Nano Services Monolith Function Function Microservice Function Function Microservice Function Function From Zero to Serverless 14
FaaS is at the center of serverless Single responsibility Short lived Stateless Event driven & scalable Functions don’t stick around when Functions don’t hold any persistent state Functions are single-purposed, reusable Functions respond to predefined events, and don’t rely on the state of any other pieces of code that process an input and finished executing, freeing up resources and are instantly replicated as many return a result for further executions processes times as needed Functions-as-a-Service programming model use functions to achieve true serverless compute From Zero to Serverless 15
Serverless Options From Zero to Serverless
Market Landscape AWS Azure Google IBM Auth0 Lambda Cloud Functions Cloud Functions WebTask Execute code on demand in a highly scalable serverless Run code without thinking about servers. Pay only for Event-driven serverless compute platform All you need is code Your vision. Your cloud. the compute time you consume. environment From Zero to Serverless 17
Azure Serverless Offerings Event Grid Logic Apps Functions Manage all events that Design workflows and Execute your code based can trigger code or logic orchestrate processes on events you specify Storage Database Security IoT Analytics Intelligence From Zero to Serverless 18
Code Events + data Azure Functions From Zero to Serverless
Features of Azure Functions • Choice of language Batch From Zero to Serverless 20
Features of Azure Functions • Choice of language • Pay-per-use pricing model Batch From Zero to Serverless 21 21
Features of Azure Functions • Choice of language • Pay-per-use pricing model • Bring your own dependencies From Zero to Serverless 22
Features of Azure Functions • Choice of language • Pay-per-use pricing model • Bring your own dependencies • Integrated security From Zero to Serverless 23
Features of Azure Functions • Choice of language • Pay-per-use pricing model • Bring your own dependencies • Integrated security • Simplified integration From Zero to Serverless 24
Features of Azure Functions • Choice of language • Pay-per-use pricing model • Bring your own dependencies • Integrated security • Simplified integration • Flexible development From Zero to Serverless 25
Features of Azure Functions • Choice of language • Pay-per-use pricing model • Bring your own dependencies • Integrated security • Simplified integration • Flexible development • Open-source From Zero to Serverless 26
Triggers and Bindings 2.x Trigger Input Output Type 1.x Blob Storage Cosmos DB Event Grid Event Hubs External File External Table HTTP Microsoft Graph Excel tables Microsoft Graph OneDrive Files Microsoft Graph Outlook email Microsoft Graph Events Microsoft Graph Auth tokens Mobile Apps Notification Hubs Queue Storage SendGrid Service Bus Table Storage Timer Twilio 27 Webhooks From Zero to Serverless
Develop How You Want • Azure Portal • Quickly get started without having to install anything else • Visual Studio 2017 • First class C# development experience • Visual Studio Code • First class Node.js development experience • Edit any function project generated via CLI • Azure Functions Core Tools (CLI) • Build any kind of function and edit in IDE of your choice From Zero to Serverless 28
Runtime Versions Runtime 1.x Runtime 2.x • • .NET Framework 4.6 .NET Core 2.0 • Cross Platform • Language Extensions • Java • Binding Extensions • Microsoft Graph • Durable Functions From Zero to Serverless 29
Runtime Version Languages 2.x 1.x Language C# GA (.NET Core 2) GA (.NET Framework 4.7) GA (Node 8 & 10) JavaScript GA (Node 6) GA (.NET Core 2) F# GA(.NET Framework 4.7) Preview (Java 8) Java N/A Python Preview (Python 3.6) Experimental TypeScript Experimental Supported through transpiling to JavaScript PHP N/A Experimental Batch (.cmd, .bat) N/A Experimental Bash N/A Experimental N/A PowerShell Experimental From Zero to Serverless 30
Consumption Plan • Pay for what you use without the need to reserve compute resources. • Function Apps are assigned to compute processing instances that are scaled dynamically by the platform. • Functions can have multiple parallel executions minimizing the total time needed to process requests. • Cost is driven by the number of executions and by accounting for memory size used and total execution time across all functions in a Function App as measured in gigabyte-seconds. Selection guidance • Good option if your functions run at elastic scale with potentially intermittent executions. From Zero to Serverless 31
App Service Plan • Function Apps run on dedicated VMs, just like Web Apps work today • Dedicated VMs are allocated to your apps and they are always available whether code is being actively executed or not. Selection guidance • Good option if you have existing, under-utilized VMs that are already running other code • Good option if you expect to run functions continuously or almost continuously From Zero to Serverless 32
Ways to Run Functions App Service App Service Azure Functions Azure IoT Edge Consumption Azure Stack Plan Environment Runtime On Devices Serverless On Premises Free, Basic, Network Isolation Functions on your Standard, Premium Server All the Your own Run your Azure Run on IoT Pay only for what Leverage cloud advantages of dedicated cloud Functions on our Devices by you use! Metering innovations in on- Functions with the environment with local server deploying custom is per execution premises SLA and ‘always network isolation (without the rest modules. and per Gb infrastructure. on’ feature of an for apps, higher of Azure) second. Azure Stack App Service Plan scale, and the brings the power ability to connect of Azure to your securely to local data centers. vNets. From Zero to Serverless 33
Azure Functions in Action From Zero to Serverless
Demo: Create an Azure Function from the Portal
Demo: Create an Azure Function from Visual Studio
Recommend
More recommend