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

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.

B02669cd04301a651a15322340fc9991?s=128

Sébastien LECACHEUR

April 06, 2017
Tweet

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. #DevoxxFR #serverless 2

  3. Agenda Présentation Pourquoi ? Comment ? Ce qu'il faut savoir

    #DevoxxFR #serverless 3
  4. C'était mieux avant... by Ryan McGuire under CC0 1.0 4

    . 1 #DevoxxFR #serverless
  5. C'était mieux avant... ...quand c'était simple et rapide ! by

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

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

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

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

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

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

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

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

    repository , containers , images repository , µ‑services 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 by ?? under CC0 1.0 4 . 2 #DevoxxFR #serverless
  15. 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
  16. 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
  17. 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
  18. Coûts pas optimisés Parcmètre by Emma Boardman under CC0 1.0

    4 . 3 #DevoxxFR #serverless
  19. Maintenance & Sécurité Black & white car vehicule vintage by

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

    working app computer by Negative Space under CC0 1.0 5 #DevoxxFR #serverless
  21. “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
  22. Serverless #DevoxxFR #serverless 6 . 2

  23. Serverless Une architecture sans serveur ? #DevoxxFR #serverless 6 .

    2
  24. Serverless Non ! #DevoxxFR #serverless 6 . 2

  25. Serverless Vous n'avez pas à vous soucier des serveurs !

    #DevoxxFR #serverless 6 . 2
  26. Functions as a Service #DevoxxFR #serverless 7 . 1

  27. Functions as a Service Un service managé  #DevoxxFR #serverless

    7 . 1
  28. Functions as a Service Un service managé  d'exécution de

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

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

    code  scalable  et facturé à l'usage . #DevoxxFR #serverless 7 . 1
  31. Caractéristiques #DevoxxFR #serverless 7 . 2

  32. Caractéristiques  fonction #DevoxxFR #serverless 7 . 2

  33. Caractéristiques  fonction stateless (et pas d'accès à un disque

    persistant) #DevoxxFR #serverless 7 . 2
  34. Caractéristiques  fonction stateless (et pas d'accès à un disque

    persistant)  polyglotte Node JS, Java, Python, C#, PHP, etc... #DevoxxFR #serverless 7 . 2
  35. 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
  36. 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
  37. Du code et seulement du code ! #DevoxxFR #serverless 7

    . 3
  38. Du code et seulement du code ! 'use strict'; module.exports.hello

    = (event, context, callback) => { // do some stuff... }; #DevoxxFR #serverless 7 . 3
  39. 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
  40. 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
  41. (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
  42. Services tiers Mails logs traitement d'images langage naturel machine learning

    indexation cartographie conversion de fichiers paiement analytics messages commentaires #DevoxxFR #serverless 8 . 2
  43. Les 5 principes #DevoxxFR #serverless 9 . 1

  44. Les 5 principes  service d'exécution de code à la

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

    demande  fonction sans état avec un objectif unique #DevoxxFR #serverless 9 . 1
  46. 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
  47. 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
  48. 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
  49. *aaS *aaS layers by @WolfOliver #DevoxxFR #serverless 9 . 2

  50. PaaS 2.0 Le PaaS dont on a toujours voulu ?

    PaaS vs Serverless debate by @swardley #DevoxxFR #serverless 9 . 3
  51. Pourquoi ? #DevoxxFR #serverless 10

  52. Aller vite by Ryan McGuire under CC0 1.0 11 .

    1 #DevoxxFR #serverless
  53. Peu d'investissements TimerCheck.io Une API de countdown #DevoxxFR #serverless 11

    . 2
  54. Peu d'investissements TimerCheck.io Une API de countdown 2,1M de requêtes

    mensuel #DevoxxFR #serverless 11 . 2
  55. Peu d'investissements TimerCheck.io Une API de countdown 2,1M de requêtes

    mensuel pour 11$ #DevoxxFR #serverless 11 . 2
  56. Cheaper, faster, more scalable #DevoxxFR #serverless 11 . 3

  57. Cheaper, faster, more scalable Coca-cola -65% (250USD / mois /

    VM dont 150USD pour la gestion) #DevoxxFR #serverless 11 . 3
  58. 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
  59. 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
  60. 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
  61. First Law of Software Quality e = mc2 #DevoxxFR #serverless

    11 . 4
  62. First Law of Software Quality e = mc2 error =

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

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

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

    server” Werner Vogels #DevoxxFR #serverless 11 . 7
  66. Comment ? #DevoxxFR #serverless 12

  67. Functions as a Service #DevoxxFR #serverless 13 . 1

  68. Functions as a Service AWS Lambda #DevoxxFR #serverless 13 .

    1
  69. Functions as a Service AWS Lambda Azure Functions #DevoxxFR #serverless

    13 . 1
  70. Functions as a Service AWS Lambda IBM OpenWhisk Azure Functions

    #DevoxxFR #serverless 13 . 1
  71. Functions as a Service AWS Lambda IBM OpenWhisk Azure Functions

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

    Azure Functions Google Cloud Functions Iron.io Functions #DevoxxFR #serverless 13 . 1
  73. 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
  74. Contenu statique S3 + Cloud Front Firebase hosting Github Pages

    #DevoxxFR #serverless 13 . 2
  75. Exemple simple #DevoxxFR #serverless 13 . 3

  76. Exemple avancé #DevoxxFR #serverless 13 . 4

  77. Se lancer #DevoxxFR #serverless 13 . 5

  78. Se lancer Pour qui ? ☁ Déjà dans un Cloud

    Public ? Startup Prototype #DevoxxFR #serverless 13 . 5
  79. 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
  80. by Ryan McGuire under CC0 1.0 14 #DevoxxFR #serverless

  81. Ce qu'il faut savoir... Asphalt box color emergency by Alexas

    under CC0 1.0 15 #DevoxxFR #serverless
  82. 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
  83. 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
  84. Ultra-distribué by Unsplash under CC0 1.0 17 . 1 #DevoxxFR

    #serverless
  85. Dépendances aux tiers by Ryan McGuire under CC0 1.0 17

    . 2 #DevoxxFR #serverless
  86.  Client prisonnier Paris lock love bridge by F4Bi CC0

    1.0 17 . 3 #DevoxxFR #serverless
  87. Maturité de l'éco-système by JF Gagnon under CC0 1.0 17

    . 4 #DevoxxFR #serverless
  88. 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
  89. by Ryan McGuire under CC0 1.0 19 #DevoxxFR #serverless

  90. Questions/Réponses #DevoxxFR #serverless 20