Slide 1

Slide 1 text

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

• The real dream of PAAS • No Infrastructure, No Containers (seriously?) • Scalable as hell! • Granular Billing (GB/s, GHz-Second) • No commitment, no hardware provisioning (c’mon?)

Slide 4

Slide 4 text

• Containers are the new VMs! • Server Patching > Container Image Batching • Container Orchestration is hard. • What if I have my dependencies though?

Slide 5

Slide 5 text

• 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

• 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

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Creating our first “Hello World” function!

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

• Anonymous • Function Key • Host Key

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

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

• 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 21

Slide 21 text

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 22

Slide 22 text

Precompiled functions with C# and Visual Studio

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

• 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 28

Slide 28 text

• 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. • Deploy Functions to Google Cloud, AWS, and more.

Slide 29

Slide 29 text

• Scale Controller : event-driven scaling through KEDA • Runtime Controller : functions runtime in a Docker container

Slide 30

Slide 30 text

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 Functions on Kubernetes • https://drn.fyi/2ppbVxN

Slide 31

Slide 31 text

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