current state of "serverless"

36
Current state of “Serverless” Serverless provider ecosystem, use cases and points of interest March 14 th 2017 – Disruptors in Tech Twitter: @dkcwd

Upload: dave-clark

Post on 12-Apr-2017

71 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Current state of "Serverless"

Current state of “Serverless” Serverless provider ecosystem, use cases and points of interest

March 14th 2017 – Disruptors in Tech

Twitter: @dkcwd

Page 2: Current state of "Serverless"

Before we get started…

Page 3: Current state of "Serverless"

Reminder about this session The slides will be made available after the session and you are more than welcome to share them. Any relevant links will be posted in the description on the SlideShare page.

We have people attending with different backgrounds with different levels of experience.

You’re more than welcome to ask questions and share knowledge both during and after the session.

Let’s get started….

Page 4: Current state of "Serverless"

Some announcements…

Page 5: Current state of "Serverless"

AWS Summit (Sydney) – next month

5th and 6th April 2017Hordern Pavilion & Royal Hall of Industries,Sydney

- Excellent sessions planned- Make sure you register!

Page 6: Current state of "Serverless"

Free serverless workshop – next month

4th April 2017Cliftons Sydney, 60 Margaret Street,Sydney, 2000

Interested in a hands on workshop?- Make sure you register!

Upon arriving you will meet your instructor, and receive a Serverless workbook with step-by-step instructions on how to build a video streaming app.

Page 7: Current state of "Serverless"

Quick overview of “Serverless” ecosystem

Page 8: Current state of "Serverless"

YAAaaS – Yet Another Acronym as a…

You may have been seeing more “as a Service” acronyms including:

- FaaS (Function as a Service)- BaaS (Backend as a Service)- MBaaS (Mobile Backend as a Service)

Page 9: Current state of "Serverless"

BaaS solutions Backend as a Service BaaS solutions include offerings such as AWS Cognito

AWS Cognito is a user management and data synchronization service designed to provide user related backend functionality for an application without the need to reinvent the wheel and/or maintain any servers directly.

Page 10: Current state of "Serverless"

FaaS solutions Function as a Service FaaS solutions facilitate the “on demand” execution of custom code in response to specific events.

While most Platform as a Service (PaaS) solutions are designed to be “always on” and ready to handle requests, FaaS solutions are initialized and shut down on every single request.

Page 11: Current state of "Serverless"

Tonight, we’re focused on FaaS FaaS provider platforms enable you to deploy the smallest units of functionality, functions...

There’s a good chance that most people here tonight will have heard of AWS Lambda but there are others which we’ll discuss shortly

Page 12: Current state of "Serverless"

Who thinks “Serverless” is the right term?

Page 13: Current state of "Serverless"

Serverless: There are still servers everywhere

Please DO NOT sack your ops team…

\8-D

And repeat: “Serverless Architecture” is not the answer to every question...

Servers

Servers

Page 14: Current state of "Serverless"

Serverless: There are still servers everywhere

People often feel the need to mention, “there are still servers involved”:

- Developers write functions- Functions are packaged for deployment - Platform provider executes functions

- Limited control over the execution…

Page 15: Current state of "Serverless"

No servers and configuration to manage?

You may not need to directly maintain servers or containers but there is definitely still work to do in terms of configuration

That’s one of the reasons for growth in the number of frameworks which are emerging to assist with deployment to FaaS platforms

Page 16: Current state of "Serverless"

Why would my team “go Serverless”?

There is potential to reduce your infrastructure spend by avoiding charges for idle servers (including container hosts) and increase the rate at which your team can develop/deploy new features

Subject to the usage policy of a given “Function as a Service” provider, there may be significant benefits for you in terms of scalability in addition to the points mentioned above

Page 17: Current state of "Serverless"

Common Serverless use cases Some common use cases: - Collecting and processing analytics - Export, Transform, Load (ETL) operations - Image/video processing (e.g. resize/transcode) - Interactive backends (e.g. chatbots and webhooks) - Scheduled function execution (e.g. “Cron as a Service”)

Page 18: Current state of "Serverless"

About the FaaS platform providers

Page 19: Current state of "Serverless"

Introducing the FaaS platform providers

The main providers are:

- AWS Lambda

- Microsoft Azure Functions

- Google Cloud Functions

- IBM OpenWhisk

Page 20: Current state of "Serverless"

All providers have different offerings

Make sure you understand the programming model for the vendor solution you are considering so you can work out your development strategy accordingly

For example, thinking about provider interoperability, separating business logic and provider logic

Page 21: Current state of "Serverless"

Lambda at the Sydney AWS Summit (2016)

At the AWS Summit in Sydney during April of last year, there was a lot of excitement surrounding Serverless programming paradigms using AWS Lambda

There was significant focus on examples of image processing and customer enablement

Page 22: Current state of "Serverless"

AWS Serverless Computing Manifesto:

- Functions 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

Page 23: Current state of "Serverless"

Various concerns about adopting Lambda

The examples shown at the AWS Summit were compelling however:

- adding functions via AWS interface seemed cumbersome - lack of understanding how to deploy functions via CLI - many concerned about “vendor lock-in”

Page 24: Current state of "Serverless"

Enter the frameworks…

Page 25: Current state of "Serverless"

Tonight, we’re focused on…

Page 26: Current state of "Serverless"

Introducing Serverless framework

The project exists at: https://github.com/serverless/serverless The first commits to the project were made on April 21st, 2015 Working toward supporting major vendors reducing lock-in fear

Page 27: Current state of "Serverless"

Are there example projects?

Yes! You can find out more here https://github.com/serverless

Note: Elliott Spira created an excellent tutorial on creating a HipChat Connector

Check it out here: https://bitbucket.org/gorillastack/serverless-hipchat-connect

Page 28: Current state of "Serverless"

Can you show me a reference diagram?

Yes! For those building web apps, I’ll show you one for a simple website on the next slide.

The “serverless backend” is based on our website

https://www.clarkyoungman.com

Page 29: Current state of "Serverless"
Page 30: Current state of "Serverless"

What is the workflow like? Vendor configuration before anything else Initial project setup via CLI Development Local testing Deployment of endpoints and functions via CLI Rinse & Repeat

Page 31: Current state of "Serverless"

Demo time

We’ll go through some deployments...

Page 32: Current state of "Serverless"

Quick mentions…

Page 33: Current state of "Serverless"

“Serverless” things to keep an eye on… New tools and services are being marketed/released (StdLib)

Page 34: Current state of "Serverless"

“Serverless” things to keep an eye on… New tools and services are being marketed/released (FaunaDB)

Page 35: Current state of "Serverless"

Global meetup network Learn and share with members of the community If there isn’t one near you, you can find support to start one…

https://www.meetup.com/pro/serverless

Page 36: Current state of "Serverless"

Enjoy and share what you do…

I’m on Twitter: @dkcwdLinkedIn: https://au.linkedin.com/in/daveclarkprofile