serverless python serverless python
play

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


  1. 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 https://mjbright.github.io https://mjbright.github.io /Talks/2018-Nov-15- /Talks/2018-Nov-15- PyParis_Serverless PyParis_Serverless github.com/mjbright @mjbright

  2. About Myself About Myself British - living in Grenoble, in the French Alps British - living in Grenoble, in the French Alps Cloud Native Trainer @mjbright @mjbright Cloud Native Trainer 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

  3. Serverless Computing 1. . 1 What Is Serverless? What Is Serverless? 2. . 2 Review of Cloud Provider Offerings Review of Cloud Provider Offerings +CNCF Serverless WG +CNCF Serverless WG 3 3. . Open Source Tools Open Source Tools Demo of Chalice/Lambda Demo of Chalice/Lambda 4. . 4 Open Source Platforms Open Source Platforms Demo of OpenFaaS Demo of OpenFaaS github.com/mjbright @mjbright

  4. What Is Serverless? What Is Serverless? Serverless FaaS + BaaS Serverless FaaS + BaaS - No more servers ?! - Functions as a Service - No more servers ?! - Functions as a Service - The ultimate - Back-ends as a Service - The ultimate - Back-ends as a Service "Cloud Native" ? - Functions glue together API-based "Cloud Native" ? - 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

  5. Serverless - What Is it? Serverless - What Is it? At the peak of the Hype Cycle!! At the peak of the Hype Cycle!! NOT CARING ABOUT SERVERS NOT CARING ABOUT SERVERS PAY AS YOU GO PAY AS YOU GO AGILE AGILE Developers focus on Developers focus on apps - (*)Pay for real (fn) - Short time to market apps - (*)Pay for real (fn) - Short time to market Platform provider usage - Enables innovation Platform provider usage - Enables innovation - Provisions - (*)No initial - (*)Massive scale on - Provisions - (*)No initial - (*)Massive scale on - Auto-scales investment demand - Auto-scales investment demand - Maintains - (*)High availability for - Maintains - (*)High availability for free free - Great for startups - Great for startups * - These are the promises of Serverless * - These are the promises of Serverless github.com/mjbright @mjbright

  6. Serverless - The making of ... VIRTUAL MACHINES BAREMETAL github.com/mjbright @mjbright

  7. Serverless - an Event Driven Architecture FaaS + BaaS browser DB API webhooks files functions Gateway scheduled msg SMS begin .... end github.com/mjbright @mjbright

  8. Serverless - Cloud Providers Serverless - Cloud Providers github.com/mjbright @mjbright

  9. Serverless - Main Cloud Provider Offerings AWS LAMBDA AZURE FUNCTIONS IBM CLOUD FUNCTIONS GOOGLE CLOUD FUNCTIONS github.com/mjbright @mjbright

  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: Node.js (JS), Python, Java 8, C#, VB/F# Node.js (JS), Python, Java 8, C#, VB/F# Language choices: 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 NEW Features debugging debugging 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 Cost: Strengths: Created the space, enormous ecosystem, Cloud9 IDE? Created the space, enormous ecosystem, Cloud9 IDE? Strengths: Weaknesses: A little slow, limited languages, lock-in A little slow, limited languages, lock-in Weaknesses: github.com/mjbright @mjbright

  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

  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

  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: Events support: Runtime support: Events support: github.com/mjbright @mjbright

  14. AWS Lambda: Use Case - Smart News github.com/mjbright @mjbright

  15. Potentially huge cost savings for your business, or not ... Source: "The hidden costs of serverless" github.com/mjbright @mjbright

  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 Resources The working group Resources de�nes/identi�es de�nes/identi�es Serverless Whitepaper Serverless Whitepaper * common terminology * common terminology Github repository Github repository * common use cases and * common use cases and patterns patterns Google group Google group * relation to PaaS and * relation to PaaS and Slack channel Slack channel container orchestration container orchestration Meeting Videos Meeting Videos Meeting Minutes Meeting Minutes github.com/mjbright @mjbright

  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 Tra�c management Tra�c management Built on Kubernetes and Istio Built on Kubernetes and Istio github.com/mjbright @mjbright

  18. Serverless - Open-Source Tooling Serverless - Open-Source Tooling Hundreds of Open-Source tools See Hundreds of Open-Source tools See facilitate development, testing and facilitate development, testing and deployment deployment 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 ... Some Important Frameworks Some Important Frameworks Serverless(.com) Serverless(.com) apex(.com) apex(.com) Zappa, Chalice (AWS Lambda/Python) Zappa, Chalice (AWS Lambda/Python) github.com/mjbright @mjbright

  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

  20. Serverless Python !! Serverless Python !! github.com/mjbright @mjbright

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

  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

  23. Demo Time - Chalice ! github.com/mjbright @mjbright

  24. Serverless - Open Source Platforms KUBELESS FISSION APACHE OPENWHISK OPENFAAS FN PROJECT NUCLIO SPRING CLOUD FUNCTIONS github.com/mjbright @mjbright

  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

  26. OpenFaaS - Architecture github.com/mjbright @mjbright

  27. OpenFaaS - Finnian Anderson, Colourising Video with OpenFaaS github.com/mjbright @mjbright

  28. Demo Time - OpenFaaS ! github.com/mjbright @mjbright

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend