Slide 1

Slide 1 text

The State of Serverless Richie Rump, Dataveloper

Slide 2

Slide 2 text

Who Am I?

Slide 3

Slide 3 text

My Clique

Slide 4

Slide 4 text

Agenda • What is Serverless? • How does Serverless work? • Why should you care? • Serverless in Amazon Web Services • Serverless in Azure • Things I wish I knew when I started

Slide 5

Slide 5 text

Cloud Abstractions • Infrastructure as a Service (IaaS) — Amazon EC2, Azure VMs • Containers as a Service (CaaS) — Docker Cloud, Amazon ECS, Azure Container Service • Platform as a Service (PaaS) — Heroku, Amazon Elastic Beanstalk, Azure Service Fabric • Function as a Service (FaaS) — AWS Lambda, Google Cloud Functions, Azure Functions • Software as a Service (SaaS) – Salesforce, Office 365

Slide 6

Slide 6 text

Hijacked from Serverless.Zone: https://serverless.zone/abstracting-the-back-end-with-faas-e5e80e837362

Slide 7

Slide 7 text

Traditional Web Architecture Browser Web Server Database Logic

Slide 8

Slide 8 text

Typical Serverless web application Browser Storage API Database Function

Slide 9

Slide 9 text

What is Serverless?

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

THERE ARE SERVERS IN SERVERLESS

Slide 12

Slide 12 text

What is Serverless? A cloud computing execution model where the cloud provider fully manages (virtual) servers behind the scenes.

Slide 13

Slide 13 text

Why should you care? No servers to configure

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Why should you care? No VMs to spin up

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Why should you care? No framework required

Slide 18

Slide 18 text

Image: http://hillfold.com/wp-content/uploads/2015/01/webFrameworksCloud.png

Slide 19

Slide 19 text

Why should you care? Automatic scaling

Slide 20

Slide 20 text

Image: http://exposure.vc/wp-content/uploads/2015/07/server-1080x675.jpg

Slide 21

Slide 21 text

Why should you care? Multiple triggers

Slide 22

Slide 22 text

Why should you care? Reduced cost

Slide 23

Slide 23 text

Why should you care? Cost • Number of executions • Execution duration

Slide 24

Slide 24 text

What’s not so great • Vendor lock-in • Vendor control • Poor debugging story • Lack of integration testing tooling • Deployment • No state management

Slide 25

Slide 25 text

Azure Functions AWS Lambda Functions as a Service

Slide 26

Slide 26 text

How AWS Lambda works Lambda Container Container Container . . .

Slide 27

Slide 27 text

Serverless in Amazon Web Services • Storage: S3 • Function: Lambda • API: API Gateway • Database: • Aurora (Relational) • DynamoDB (NoSQL)

Slide 28

Slide 28 text

AWS Lambda- Languages • Node.js – v4.3.2 & 6.10 • Java – Java 8 • Python – Python 2.7 • .NET Core – .NET Core 1.0.1 (C#)

Slide 29

Slide 29 text

• S3 • DynamoDB • Kinesis Streams • Simple Notification Service • Simple Email Service • Cognito • AWS CloudFormation • CloudWatch Logs • CloudWatch Events • CodeCommit • Scheduled Events • AWS Config • Echo • Lex • API Gateway AWS Lambda - Triggers

Slide 30

Slide 30 text

AWS Lambda DEMO

Slide 31

Slide 31 text

Serverless in Microsoft Azure • Storage: Blob Storage • Function: Azure Functions • API: Azure Functions Proxies (Beta) • Database: • SQL Database (Relational) • DocumentDB (NoSQL)

Slide 32

Slide 32 text

Azure Functions - Languages • C# • Node.js • F# • Python • PHP • Bash • Batch • PowerShell

Slide 33

Slide 33 text

• Storage Blob • Webhook (GitHub!) • HTTP • Queue • Timer • Service Bus • Document DB • Table • Mobile Apps • Event Hub • Notification Hub • Twilio Azure Functions - Triggers

Slide 34

Slide 34 text

Azure Functions DEMO

Slide 35

Slide 35 text

Azure Functions • Security using keys • Language-palooza • Outputs AWS Lambda • Security using roles • Java • VPC Compare!

Slide 36

Slide 36 text

Serverless.com

Slide 37

Slide 37 text

What I wish I knew… • Security • Use a deployment tool (i.e. Serverless) • Script out cloud resources • Use Microservice Architecture concepts • Keep a cloud mindset • Plan for failures • Degradation • Request buffering

Slide 38

Slide 38 text

Contact Richie Rump @Jorriss http://jorriss.net http://awayfromthekeyboard.com http://dotnetmiami.com http://brentozar.com

Slide 39

Slide 39 text

Thank You!