Slide 1

Slide 1 text

Serverless and Azure Functions Introduction Daron Yöndem http://daron.me @daronyondem

Slide 2

Slide 2 text

Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or "BaaS") or on custom code that's run in ephemeral containers (Function as a Service or "FaaS")

Slide 3

Slide 3 text

What is Serverless? • The real dream of PAAS • No Infrastructure, No Containers • Scalable as hell! • Granular Billing (GB/s) • No commitment, no hardware provisioning (really?)

Slide 4

Slide 4 text

What’s wrong with containers? • Containers are the new VMs! • Server Patching > Container Image Batching • Container Orchestration is hard.

Slide 5

Slide 5 text

Serverless != Microservices • You can have a fleet of EC2 instances, running containers, orchestrating and still worry about infrastructure. • You can have dozens of functions tightly coupled and delivered as a behemoth.

Slide 6

Slide 6 text

Azure Functions 101 • Javascript, C#, C# Script, Python, PHP, Batch, Powershell • Timer-based processing • SaaS Event Processing • Full Serverless Architecture • Real-Time Stream Processing • Real-Time Bot Messaging • Serverless mobile back-ends

Slide 7

Slide 7 text

Creating our first “Hello World” function! DEMO

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Out of the Box Authentication of HTTP Endpoints • Anonymous • Function Key • Host Key

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Anatomy of a Function • A “Run” file that containing the function code • A “Function” file containing all service and trigger bindings and parameters • A “Project” file containing project assembly and NuGet package references • App Service settings, such as connection strings and API keys

Slide 19

Slide 19 text

Running Functions Locally V1 Only on Windows npm install -g azure-functions-core-tools V2 with .NET Core on all platforms npm install -g azure-functions-core-tools@core Initialize your first function func init MyFunctionProj

Slide 20

Slide 20 text

Precompiled functions with C# and Visual Studio DEMO

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Application Settings • local.settings.json will have all your local settings on the dev machine. • C# can also be read in your code as environment variables. Use System.Environment.GetEnvironmentVariable or ConfigurationManager.AppSettings. • In JavaScript, use process.env

Slide 26

Slide 26 text

Where can I deploy my Functions? • Extend the existing Azure App Service platform • Go with “Consumption Plan” and be pure Serverless • Deploy Functions Runtime on an on-prem location in your Private Cloud.

Slide 27

Slide 27 text

Links worth sharing Documentation • https://goo.gl/TqGtMr Azure Functions Runtime (Run on-prem) • https://goo.gl/hV7KgJ Documentation for the host.json file • https://goo.gl/W6kcV7 More CLI commands to run functions locally • https://goo.gl/PSkqet

Slide 28

Slide 28 text

Thanks http://daron.me | @daronyondem Download slides here; http://daron.me/decks