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 ! - Codeurs en Seine Meetup 2017

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 25, 2017
Tweet

More Decks by Sébastien LECACHEUR

Other Decks in Programming

Transcript

  1. Fred ? Tous les serveurs ! Fred ? Tous les

    serveurs ! On nous a volé tous les On nous a volé tous les serveurs ! serveurs ! Sébastien LECACHEUR Mardi 25 avril 2017 @slecache
  2. 2

  3. C'est le futur C'est le futur VMs , SCM ,

    CI by ?? under CC0 1.0 4 . 2
  4. C'est le futur C'est le futur VMs , SCM ,

    CI , artifact repository by ?? under CC0 1.0 4 . 2
  5. C'est le futur C'est le futur VMs , SCM ,

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

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

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

    CI , artifact repository , containers , images repository , µ‑services , service registry by ?? under CC0 1.0 4 . 2
  9. C'est le futur 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
  10. C'est le futur 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
  11. C'est le futur 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
  12. Maintenance & Maintenance & Sécurité Sécurité Black & white car

    vehicule vintage by ²tisography under CC0 1.0 4 . 4
  13. Comment remettre le Comment remettre le code code au centre

    du jeu ? au centre du jeu ? Office working app computer by Negative Space under CC0 1.0 5
  14. “Marty, it's your boss Marty! He's decided to spend half

    your IT budget on new hardware!” by Chris Bond 6 . 1
  15. F Functions unctions a as s a a S Service

    ervice Un service managé  7 . 1
  16. F Functions unctions a as s a a S Service

    ervice Un service managé  d'exécution de code  7 . 1
  17. F Functions unctions a as s a a S Service

    ervice Un service managé  d'exécution de code  scalable  7 . 1
  18. F Functions unctions a as s a a S Service

    ervice Un service managé  d'exécution de code  scalable  et facturé à l'usage . 7 . 1
  19. Caractéristiques Caractéristiques  fonction stateless (et pas d'accès à un

    disque persistant)  polyglotte Node JS, Java, Python, C#, PHP, etc... 7 . 2
  20. Caractéristiques 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... 7 . 2
  21. Caractéristiques 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 7 . 2
  22. Du code et seulement du code ! Du code et

    seulement du code ! 7 . 3
  23. Du code et seulement du code ! Du code et

    seulement du code ! 'use strict'; module.exports.hello = (event, context, callback) => { // do some stuff... }; 7 . 3
  24. Du code et seulement du code ! 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); 7 . 3
  25. Du code et seulement du code ! 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": {...} } 7 . 3
  26. ( (M Mobile) obile)B Backend ackend a as s a

    a S Service ervice Authentification , Firebase Authentication, AWS Cognito, ... Base de données Firebase Realtime DB, AWS DynamoDB, , ... Notifications Stockage ... 8 . 1
  27. Services tiers Services tiers Mails logs traitement d'images langage naturel

    machine learning indexation cartographie conversion de fichiers paiement analytics messages commentaires 8 . 2
  28. Les 5 principes Les 5 principes  service d'exécution de

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

    code à la demande  fonction sans état avec un objectif unique  orienté événements et pipeline 9 . 1
  30. Les 5 principes 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 9 . 1
  31. Les 5 principes 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 9 . 1
  32. PaaS 2.0 PaaS 2.0 Le PaaS dont on a toujours

    voulu ? PaaS vs Serverless debate by @swardley 9 . 3
  33. Cheaper, faster, more scalable Cheaper, faster, more scalable Coca-cola -65%

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

    (250USD / mois / VM dont 150USD pour la gestion) FINRA -50% (½ trillion de validations / jour) 11 . 3
  35. Cheaper, faster, more scalable 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 11 . 3
  36. Cheaper, faster, more scalable 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 11 . 3
  37. NoOps ? NoOps ? “No server is easier to manage

    than no server” Werner Vogels 11 . 5
  38. No NoOps OpsDevs ? Devs ? “No server is easier

    to manage than no server” Werner Vogels 11 . 6
  39. Less LessNo NoOps OpsDevs Devs ! ! “No server is

    easier to manage than no server” Werner Vogels 11 . 7
  40. F Functions unctions a as s a a S Service

    ervice AWS Lambda Azure Functions 13 . 1
  41. F Functions unctions a as s a a S Service

    ervice AWS Lambda IBM OpenWhisk Azure Functions 13 . 1
  42. F Functions unctions a as s a a S Service

    ervice AWS Lambda IBM OpenWhisk Azure Functions Google Cloud Functions 13 . 1
  43. F Functions unctions a as s a a S Service

    ervice AWS Lambda IBM OpenWhisk Auth0 Webtask Azure Functions Google Cloud Functions Iron.io Functions 13 . 1
  44. F Functions unctions a as s a a S Service

    ervice AWS Lambda IBM OpenWhisk Auth0 Webtask Docker, Kubernetes, ... Azure Functions Google Cloud Functions Iron.io Functions etc... 13 . 1
  45. Se lancer Se lancer Pour qui ? ☁ Déjà dans

    un Cloud Public ? Startup Prototype 13 . 5
  46. Se lancer 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 13 . 5
  47. Ce qu'il faut savoir... Ce qu'il faut savoir... Asphalt box

    color emergency by Alexas under CC0 1.0 15
  48. Cas d'usage 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, callbacks 16 . 1
  49. nano-services 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 16 . 2
  50. A la conquête du futur ! A la conquête du

    futur ! “Instagram team at Facebook HQ” by Keegan Jones / “Kevin Systrom and Mike Krieger” by Business Insider 18