Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fred ? Tous les serveurs ! On nous a volé tous ...

Fred ? Tous les serveurs ! On nous a volé tous les serveurs ! - Devoxx France 2017 - Conférence

L’architecture serverless, que certains qualifient de “zero infrastructure”, est le nouveau modèle en vogue dans le domaine de l’architecture logicielle. Mais que ce cache-t-il derrière ce paradigme ?

Nous démystifierons ce concept afin de comprendre ensemble ses avantages, ses inconvénients et ses impacts sur la façon de concevoir et opérer des solutions.

Sébastien LECACHEUR

April 06, 2017
Tweet

More Decks by Sébastien LECACHEUR

Other Decks in Programming

Transcript

  1. Fred ? Tous les serveurs ! On nous a volé

    tous les serveurs ! Sébastien LECACHEUR Jeudi 6 avril - Paris 243 - 16h10 @slecache #DevoxxFR #serverless 1
  2. C'était mieux avant... ...quand c'était simple et rapide ! by

    Ryan McGuire under CC0 1.0 4 . 1 #DevoxxFR #serverless
  3. C'est le futur by ?? under CC0 1.0 4 .

    2 #DevoxxFR #serverless
  4. C'est le futur VMs by ?? under CC0 1.0 4

    . 2 #DevoxxFR #serverless
  5. C'est le futur VMs , SCM by ?? under CC0

    1.0 4 . 2 #DevoxxFR #serverless
  6. C'est le futur VMs , SCM , CI by ??

    under CC0 1.0 4 . 2 #DevoxxFR #serverless
  7. C'est le futur VMs , SCM , CI , artifact

    repository by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  8. C'est le futur VMs , SCM , CI , artifact

    repository , containers by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  9. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  10. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository , µ‑services by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  11. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository , µ‑services , service registry by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  12. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository , µ‑services , service registry , containers clustering and orchestration by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  13. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository , µ‑services , service registry , containers clustering and orchestration , load balancers by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  14. C'est le futur VMs , SCM , CI , artifact

    repository , containers , images repository , µ‑services , service registry , containers clustering and orchestration , load balancers , etc... WTF!? by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  15. Maintenance & Sécurité Black & white car vehicule vintage by

    ²tisography under CC0 1.0 4 . 4 #DevoxxFR #serverless
  16. Comment remettre le code au centre du jeu ? Office

    working app computer by Negative Space under CC0 1.0 5 #DevoxxFR #serverless
  17. “Marty, it's your boss Marty! He's decided to spend half

    your IT budget on new hardware!” by Chris Bond #DevoxxFR #serverless 6 . 1
  18. Functions as a Service Un service managé  d'exécution de

    code  scalable  #DevoxxFR #serverless 7 . 1
  19. Functions as a Service Un service managé  d'exécution de

    code  scalable  et facturé à l'usage . #DevoxxFR #serverless 7 . 1
  20. Caractéristiques  fonction stateless (et pas d'accès à un disque

    persistant)  polyglotte Node JS, Java, Python, C#, PHP, etc... #DevoxxFR #serverless 7 . 2
  21. Caractéristiques  fonction stateless (et pas d'accès à un disque

    persistant)  polyglotte Node JS, Java, Python, C#, PHP, etc...  orienté événements HTTP , stockage , base de données  , ordonnanceur ⏰, flux , messages , notifications ❗, etc... #DevoxxFR #serverless 7 . 2
  22. Caractéristiques  fonction stateless (et pas d'accès à un disque

    persistant)  polyglotte Node JS, Java, Python, C#, PHP, etc...  orienté événements HTTP , stockage , base de données  , ordonnanceur ⏰, flux , messages , notifications ❗, etc...  courte durée #DevoxxFR #serverless 7 . 2
  23. Du code et seulement du code ! 'use strict'; module.exports.hello

    = (event, context, callback) => { // do some stuff... }; #DevoxxFR #serverless 7 . 3
  24. Du code et seulement du code ! 'use strict'; module.exports.hello

    = (event, context, callback) => { // do some stuff... }; const response = { statusCode: 200, body: JSON.stringify({ message: 'Hello Devoxx France!', input: event, }), }; callback(null, response); #DevoxxFR #serverless 7 . 3
  25. Du code et seulement du code ! 'use strict'; module.exports.hello

    = (event, context, callback) => { // do some stuff... }; const response = { statusCode: 200, body: JSON.stringify({ message: 'Hello Devoxx France!', input: event, }), }; callback(null, response); // returns { "message" : "Hello Devoxx France!", "input": {...} } #DevoxxFR #serverless 7 . 3
  26. (Mobile)Backend as a Service Authentification , Firebase Authentication, AWS Cognito,

    ... Base de données Firebase Realtime DB, AWS DynamoDB, , ... Notifications Stockage ... #DevoxxFR #serverless 8 . 1
  27. Services tiers Mails logs traitement d'images langage naturel machine learning

    indexation cartographie conversion de fichiers paiement analytics messages commentaires #DevoxxFR #serverless 8 . 2
  28. Les 5 principes  service d'exécution de code à la

    demande #DevoxxFR #serverless 9 . 1
  29. Les 5 principes  service d'exécution de code à la

    demande  fonction sans état avec un objectif unique #DevoxxFR #serverless 9 . 1
  30. Les 5 principes  service d'exécution de code à la

    demande  fonction sans état avec un objectif unique  orienté événements et pipeline #DevoxxFR #serverless 9 . 1
  31. Les 5 principes  service d'exécution de code à la

    demande  fonction sans état avec un objectif unique  orienté événements et pipeline  front end plus épais #DevoxxFR #serverless 9 . 1
  32. Les 5 principes  service d'exécution de code à la

    demande  fonction sans état avec un objectif unique  orienté événements et pipeline  front end plus épais  forte adoption des services tiers #DevoxxFR #serverless 9 . 1
  33. PaaS 2.0 Le PaaS dont on a toujours voulu ?

    PaaS vs Serverless debate by @swardley #DevoxxFR #serverless 9 . 3
  34. Cheaper, faster, more scalable Coca-cola -65% (250USD / mois /

    VM dont 150USD pour la gestion) #DevoxxFR #serverless 11 . 3
  35. Cheaper, faster, more scalable Coca-cola -65% (250USD / mois /

    VM dont 150USD pour la gestion) FINRA -50% (½ trillion de validations / jour) #DevoxxFR #serverless 11 . 3
  36. Cheaper, faster, more scalable Coca-cola -65% (250USD / mois /

    VM dont 150USD pour la gestion) FINRA -50% (½ trillion de validations / jour) Lodr 5x plus rapide et 100x moins cher #DevoxxFR #serverless 11 . 3
  37. Cheaper, faster, more scalable Coca-cola -65% (250USD / mois /

    VM dont 150USD pour la gestion) FINRA -50% (½ trillion de validations / jour) Lodr 5x plus rapide et 100x moins cher #DevoxxFR #serverless 11 . 3
  38. First Law of Software Quality e = mc2 error =

    (more code)2 #DevoxxFR #serverless 11 . 4
  39. NoOps ? “No server is easier to manage than no

    server” Werner Vogels #DevoxxFR #serverless 11 . 5
  40. NoOpsDevs ? “No server is easier to manage than no

    server” Werner Vogels #DevoxxFR #serverless 11 . 6
  41. LessNoOpsDevs ! “No server is easier to manage than no

    server” Werner Vogels #DevoxxFR #serverless 11 . 7
  42. Functions as a Service AWS Lambda IBM OpenWhisk Azure Functions

    Google Cloud Functions #DevoxxFR #serverless 13 . 1
  43. Functions as a Service AWS Lambda IBM OpenWhisk Auth0 Webtask

    Azure Functions Google Cloud Functions Iron.io Functions #DevoxxFR #serverless 13 . 1
  44. Functions as a Service AWS Lambda IBM OpenWhisk Auth0 Webtask

    Docker, Kubernetes, ... Azure Functions Google Cloud Functions Iron.io Functions etc... #DevoxxFR #serverless 13 . 1
  45. Se lancer Pour qui ? ☁ Déjà dans un Cloud

    Public ? Startup Prototype #DevoxxFR #serverless 13 . 5
  46. Se lancer Pour qui ? ☁ Déjà dans un Cloud

    Public ? Startup Prototype Comment ? Une nouvelle application Penser différemment, penser événements ♡ Connaitre sa plateforme #DevoxxFR #serverless 13 . 5
  47. Ce qu'il faut savoir... Asphalt box color emergency by Alexas

    under CC0 1.0 15 #DevoxxFR #serverless
  48. Cas d'usage Glu entre des services Forte consommation CPU :

    traitements de fichiers Forte variabilité d'activité : applications web Forte consommation CPU et variabilité : traitements de flux, IoT Faible activité : webhooks, bots #DevoxxFR #serverless 16 . 1
  49. nano-services “Nanoservice is an antipattern where a service is too

    fine- grained. A nanoservice is a service whose overhead (communications, maintenance, and so on) outweighs its utility” Arnon Rotem-Gal-Oz #DevoxxFR #serverless 16 . 2
  50. A la conquête du futur ! “Instagram team at Facebook

    HQ” by Keegan Jones / “Kevin Systrom and Mike Krieger” by Business Insider #DevoxxFR #serverless 18