Serverless Python Serverless Python Michael Bright , Trainer - - PowerPoint PPT Presentation

serverless python serverless python
SMART_READER_LITE
LIVE PREVIEW

Serverless Python Serverless Python Michael Bright , Trainer - - PowerPoint PPT Presentation

Serverless Python Serverless Python Michael Bright , Trainer @mjbright Consulting , Trainer @mjbright Consulting Michael Bright 15 November 2018, PyParis, EPITA 15 November 2018, PyParis, EPITA These slides online at These slides online at


slide-1
SLIDE 1

Serverless Python Serverless Python

Michael Bright Michael Bright , Trainer @mjbright Consulting , Trainer @mjbright Consulting 15 November 2018, PyParis, EPITA 15 November 2018, PyParis, EPITA

These slides online at These slides online at https://mjbright.github.io https://mjbright.github.io /Talks/2018-Nov-15- /Talks/2018-Nov-15- PyParis_Serverless PyParis_Serverless

github.com/mjbright @mjbright

slide-2
SLIDE 2

About Myself About Myself

British - living in Grenoble, in the French Alps British - living in Grenoble, in the French Alps Cloud Native Trainer Cloud Native Trainer @mjbright @mjbright Docker Community Lead Docker Community Lead Python User Group Creator Python User Group Creator Kubernetes CKA Kubernetes CKA Crazy about Open Source and Cloud Technologies Crazy about Open Source and Cloud Technologies

github.com/mjbright @mjbright

slide-3
SLIDE 3

Serverless Computing

What Is Serverless? What Is Serverless?

1 1. .

Review of Cloud Provider Offerings Review of Cloud Provider Offerings

+CNCF Serverless WG +CNCF Serverless WG

2 2. .

Open Source Tools Open Source Tools

Demo of Chalice/Lambda Demo of Chalice/Lambda

3 3. .

Open Source Platforms Open Source Platforms

Demo of OpenFaaS Demo of OpenFaaS

4 4. .

github.com/mjbright @mjbright

slide-4
SLIDE 4

What Is Serverless? What Is Serverless?

Serverless Serverless

  • No more servers ?!
  • No more servers ?!
  • The ultimate
  • The ultimate

"Cloud Native" ? "Cloud Native" ? FaaS + BaaS FaaS + BaaS

  • Functions as a Service
  • Functions as a Service
  • Back-ends as a Service
  • Back-ends as a Service
  • Functions glue together API-based
  • Functions glue together API-based

back-end services back-end services Serverless: a paradigm Serverless: a paradigm

  • & a company
  • & a company
  • & a tool
  • & a tool

github.com/mjbright @mjbright

slide-5
SLIDE 5

Serverless - What Is it? Serverless - What Is it?

At the peak of the Hype Cycle!! At the peak of the Hype Cycle!! * - These are the promises of Serverless * - These are the promises of Serverless

NOT CARING ABOUT SERVERS NOT CARING ABOUT SERVERS

Developers focus on Developers focus on apps apps Platform provider Platform provider

  • Provisions
  • Provisions
  • Auto-scales
  • Auto-scales
  • Maintains
  • Maintains

PAY AS YOU GO PAY AS YOU GO

  • (*)Pay for real (fn)
  • (*)Pay for real (fn)

usage usage

  • (*)No initial
  • (*)No initial

investment investment

  • (*)High availability for
  • (*)High availability for

free free

  • Great for startups
  • Great for startups

AGILE AGILE

  • Short time to market
  • Short time to market
  • Enables innovation
  • Enables innovation
  • (*)Massive scale on
  • (*)Massive scale on

demand demand

github.com/mjbright @mjbright

slide-6
SLIDE 6

Serverless - The making of ...

BAREMETAL VIRTUAL MACHINES github.com/mjbright @mjbright

slide-7
SLIDE 7

Serverless - an Event Driven Architecture

functions

begin .... end

FaaS + BaaS

DB files msg API Gateway browser webhooks scheduled SMS

github.com/mjbright @mjbright

slide-8
SLIDE 8

Serverless - Cloud Providers Serverless - Cloud Providers

github.com/mjbright @mjbright

slide-9
SLIDE 9

Serverless - Main Cloud Provider Offerings

AWS LAMBDA AZURE FUNCTIONS GOOGLE CLOUD FUNCTIONS IBM CLOUD FUNCTIONS github.com/mjbright @mjbright

slide-10
SLIDE 10

AWS Lambda AWS Lambda Introduced βeta in Nov 2014 Introduced βeta in Nov 2014 Leader in developer uptake, back-end services and eco-system. Leader in developer uptake, back-end services and eco-system. Language choices: Language choices: Node.js (JS), Python, Java 8, C#, VB/F# Node.js (JS), Python, Java 8, C#, VB/F# NEW Features NEW Features [Reinvent 2017] - [Reinvent 2017] - Go Go(static binaries) and (static binaries) and .Net(C#) .Net(C#), , SAM for off-line SAM for off-line debugging debugging Cost: Cost: Free tier: 1 mn req/mth, then $0.00001667/GBy-sec Free tier: 1 mn req/mth, then $0.00001667/GBy-sec details details Strengths: Strengths: Created the space, enormous ecosystem, Cloud9 IDE? Created the space, enormous ecosystem, Cloud9 IDE? Weaknesses: Weaknesses: A little slow, limited languages, lock-in A little slow, limited languages, lock-in

github.com/mjbright @mjbright

slide-11
SLIDE 11

Azure Functions — Introduced in 2016 Many language choices: GA: JavaScript, C#, F#, Python Exp: Python, PHP , Typescript, Batch/Bash, PowerShell, Java OpenSource runtime: https://github.com/Azure/azure-functions-host Excellent Developer Tools Azure Portal, Advisor, Visual Studio, Team Studio, DevOps

github.com/mjbright @mjbright

slide-12
SLIDE 12

Google Cloud Functions Google Cloud Functions — — Alpha release in Feb 2016. Alpha release in Feb 2016. Language support: Language support: Node.js/JS and Python(beta). Node.js/JS and Python(beta).

github.com/mjbright @mjbright

slide-13
SLIDE 13

IBM Cloud Functions IBM Cloud Functions — — Experimental release in Feb 2016 Experimental release in Feb 2016 Open Sourced as Apache OpenWhisk Open Sourced as Apache OpenWhisk https://github.com/apache/incubator-openwhisk https://github.com/apache/incubator-openwhisk

Runtime support: Runtime support: Events support: Events support: github.com/mjbright @mjbright

slide-14
SLIDE 14

AWS Lambda: Use Case - Smart News

github.com/mjbright @mjbright

slide-15
SLIDE 15

Potentially huge cost savings for your business, or not ... Source: "The hidden costs of serverless"

github.com/mjbright @mjbright

slide-16
SLIDE 16

The CNCF Created a Serverless WG The CNCF Created a Serverless WG

We need open standards for Serverless We need open standards for Serverless The working group The working group denes/identies denes/identies * common terminology * common terminology * common use cases and * common use cases and patterns patterns * relation to PaaS and * relation to PaaS and container orchestration container orchestration Resources Resources Serverless Whitepaper Serverless Whitepaper Github repository Github repository Google group Google group Slack channel Slack channel Meeting Videos Meeting Videos Meeting Minutes Meeting Minutes

github.com/mjbright @mjbright

slide-17
SLIDE 17

kNative kNative

Google released kNative in 2018 Google released kNative in 2018 A framework for providing common facilities to A framework for providing common facilities to Serverless platforms. Serverless platforms. Orchestrating source-to-container builds Orchestrating source-to-container builds Event binding Event binding Trac management Trac management Built on Kubernetes and Istio Built on Kubernetes and Istio

github.com/mjbright @mjbright

slide-18
SLIDE 18

Serverless - Open-Source Tooling Serverless - Open-Source Tooling

Some Important Frameworks Some Important Frameworks

Serverless(.com) Serverless(.com) apex(.com) apex(.com) Zappa, Chalice (AWS Lambda/Python) Zappa, Chalice (AWS Lambda/Python) Hundreds of Open-Source tools Hundreds of Open-Source tools facilitate development, testing and facilitate development, testing and deployment deployment See See awesome-serverless awesome-serverless Some tools seek to support multi-language, Some tools seek to support multi-language, some multi-platform or a combination ... some multi-platform or a combination ...

github.com/mjbright @mjbright

slide-19
SLIDE 19

A Company, a Tool, an Open-Source Project A Company, a Tool, an Open-Source Project Deploys to various Cloud Providers/Open Source Platforms: Deploys to various Cloud Providers/Open Source Platforms: AWS Lambda AWS Lambda Azure Functions Azure Functions Google Cloud Functions Google Cloud Functions OpenWhisk OpenWhisk Kubeless Kubeless SpotInst SpotInst Webtasks Webtasks

github.com/mjbright @mjbright

slide-20
SLIDE 20

Serverless Python !! Serverless Python !!

github.com/mjbright @mjbright

slide-21
SLIDE 21

Serverless Python Frameworks ... Serverless Python Frameworks ...

SUPPORTS: SUPPORTS: APEX APEX Javascript Javascript Python Python ++ Go ++ Go SUPPORTS: SUPPORTS: CHALICE CHALICE Python / Flask-like Python / Flask-like github.com/mjbright @mjbright

slide-22
SLIDE 22

Chalice Chalice — — Open sourced by AWS - Python/AWS λ Open sourced by AWS - Python/AWS λ pip installable module, command-line tool pip installable module, command-line tool

github.com/mjbright @mjbright

slide-23
SLIDE 23

Demo Time - Chalice !

github.com/mjbright @mjbright

slide-24
SLIDE 24

Serverless - Open Source Platforms

KUBELESS FISSION APACHE OPENWHISK OPENFAAS FN PROJECT NUCLIO SPRING CLOUD FUNCTIONS github.com/mjbright @mjbright

slide-25
SLIDE 25

OpenFaaS

OpenFaaS runs on Docker-Swarm or Kubernetes Bring Your Own Container Portal with Function Store faas-cli: command-line tool FaaS-Netes runs on Kubernetes A young project with a vibrant community of volunteers Easy to get started, many guides and blog posts from community Integrates Prometheus OpenFaaS Cloud initiative for GitOps

— Alex Ellis, Docker Captain, *VMWare*

github.com/mjbright @mjbright

slide-26
SLIDE 26

OpenFaaS - Architecture

github.com/mjbright @mjbright

slide-27
SLIDE 27

OpenFaaS - Finnian Anderson, Colourising Video with OpenFaaS

github.com/mjbright @mjbright

slide-28
SLIDE 28

Demo Time - OpenFaaS !

github.com/mjbright @mjbright

slide-29
SLIDE 29

To Summarize To Summarize

Serverless is Serverless is still still a young technology a young technology It has a lot of promise for many workloads It has a lot of promise for many workloads There are There are real real cost savings cost savings to be made on opex and capex to be made on opex and capex Major cloud players are investing in the technology Major cloud players are investing in the technology There are many deployment choices today There are many deployment choices today We need an open cloud We need an open cloud

— —

github.com/mjbright @mjbright

slide-30
SLIDE 30

Resources - 1

RESOURCE DESCRIPTION URL Lists awesome-serverless Curated list of awesome services, solutions and resources for serverless / nobackend applications. [github] anaibol/awesome- serverless awesome- Serverless(.com) Curated list of resources related to serverless architectures and the Serverless Framework [github] JustServerless/awesome- serverless Tools Serverless Tools for deploying to several Cloud Providers [github] serverless/serverless Apex Tools for deploying to AWS Lambda [github] apex/apex github.com/mjbright @mjbright

slide-31
SLIDE 31

Resources - 2

RESOURCE DESCRIPTION URL Cloud Providers AWS Lambda Amazon's Serverless Platform https://aws.amazon.com/fr/lambda/ Azure Functions Microsoft's Serverless Platform https://azure.microsoft.com/en-us/services/functions/ Google Cloud Functions Google's Serverless Platform https://cloud.google.com/functions/ IBM Cloud Functions IBM's Serverless Platform https://www.ibm.com/cloud-computing/bluemix/openwhisk github.com/mjbright @mjbright

slide-32
SLIDE 32

Resources - 3

RESOURCE DESCRIPTION URL Open Source Serverless Platforms Kubeless Serverless platform from Bitnami url Fission.io Serverless platform from Platform9 url Apache OpenWhisk Serverless platform from IBM url OpenFaaS Serverless platform from Alex Ellis, Docker Captain url Serverless Python Frameworks Apex Serverless framework supporting Python and other languages url Chalice Serverless framework supporting Python / Flask url Lambdify Serverless framework supporting Python url Zappa Serverless framework supporting Python / WSGi url github.com/mjbright @mjbright

slide-33
SLIDE 33

Thanks ! Thanks !

@mjbright @mjbright

github.com/mjbright @mjbright