SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Serverless
6 février 2024
Éviter le vendor locking en construisant sa propre
plateforme FaaS avec OpenFaaS et Kubernetes
Katia HIMEUR
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Qui suis-je ?
2
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Qui suis-je ?
• 🪪 Katia HIMEUR
• ☁ CTO & Cofondatrice de Cockpit io
• 🏢 Conseil, Build et Formations autour des sujets Cloud et DevOps
• 💻 Informaticienne
• 👩💻 Consultante SRE/Cloud/DevOps depuis plusieurs années
❤ #Cloud #DevOps #Containers #Serverless #GitOps #IaC #CICD ❤
3
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Qu’est-ce que le serverless ?
4
Qu’est-ce que le Serverless ?
• Informatique sans serveur (🇫🇷)
• Paradigme du Cloud
Computing
• Serveurs managés par les
fournisseurs de services
5
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Qu’est-ce que le Serverless ?
• Informatique sans serveur (🇫🇷)
• Paradigme du Cloud
Computing
• Serveurs managés par les
fournisseurs de services
6
Mais il y a des
serveurs !
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes
Katia HIMEUR
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
CNCF Serverless Landscape
7
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Exemples de services
serverless
8
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Compute serverless
9
AWS Fargate Azure Container Apps Google App Engine
Scaleway Serverless
Containers
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Bases de données serverless
10
Amazon DynamoDB Azure SQL Database
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
API Gateways serverless
11
Amazon API Gateway Google API Gateway
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Functions as a Service
12
AWS Lambda Azure Functions
Google Cloud
Functions
Scaleway Serverless
Functions
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Function as a service
(FaaS)
13
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Function as a Service (FaaS)
• Appelée par abus de langage : Serverless
• Permet de considérer une application comme un ensemble de
fonctions
• Fonction exécutée uniquement lorsqu’elle est invoquée
• Autre nom : Event-driven computing
14
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Comment fonctionne le
FaaS ?
15
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Comment fonctionne le FaaS ?
16
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Avantages du serverless
17
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Avantages du serverless
• Scalabilité
• Haute disponibilité
• Autonomie pour les équipes de développement
• Réduction
• Coûts
• Capacités inutilisées (Idle capacity)
• Temps de maintenance
• Time to market
18
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Le FaaS est suffisant pour
une application en prod ?
19
20
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
De quoi avons-nous besoin ?
21
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
De quoi avons-nous besoin ?
FaaS
API
Gateway
Database
Developer
tools
Stockage Message
Queuing
Monitoring
22
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi construire sa propre
plateforme serverless ?
23
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi construire sa propre plateforme serverless ?
• Vendor locking
• Multi-cloud
• Environnement de développement
• Infrastructure on premise
24
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
De quoi avons-nous besoin ?
25
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
De quoi avons-nous besoin ?
26
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi Kubernetes ?
27
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi Kubernetes ?
• Standard éprouvé du marché
• Extensible
• Écosystème riche et dynamique
• Offres managées ou on premise
• Fonctionnalités intéressantes : Autoscaling, networking…
28
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi OpenFaas ?
29
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pourquoi OpenFaaS ?
• Plateforme open source & cloud agnostic
• Déployable sur Kubernetes ou en Single Host
• Adapté pour les fonctions, les microservices ou les monolithes
• Prise en main rapide
• Excellente expérience pour les équipes de développement
30
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Stack OpenFaas
31
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Stack OpenFaaS
32
OpenFaaS Gateway
API REST pour
manager les
fonctions, les
métriques et le
scaling
NATS
Système de
communication,
utilisé pour le
queuing et
l’exécution
asynchrone
Prometheus
Pour les métriques
et l’autoscaling
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Ce qu’il faut savoir
d’OpenFaaS
33
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Ce qu’il faut savoir d’OpenFaaS
• Unité d’exécution d’une fonction : Le pod
• Chaque fonction est transformée en un artefact immuable : Une
image de conteneur
• Une fonction est déployable via : REST API, UI ou CLI
• La gateway est accessible via REST API, UI ou CLI
• Le scaling est porté par Kubernetes
34
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Autoscaling
35
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Autoscaling
AlertManager based autoscaling
• OpenFaaS community Edition
• Règle d’autoscaling appliquée à toutes les fonctions
• AlertManager se base sur le nombre de requêtes par seconde
• Prometheus fournit les métriques
36
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Autoscaling
OpenFaaS Pro Autoscaler
• Zero-scale
• 3 modes de scaling
• Basé sur la capacité : Les connexions en cours simmultanées
• RPS : Nombre de requêtes complétées en une seconde
• CPU
37
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Triggers
38
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Triggers
39
• Built-in triggers
• HTTP / Webhooks
• Async / JetStream
• CLI
• Community triggers
• MQTT Connector
• Minio / S3
• NATS Pub/Sub
• CloudEvents
• RabbitMQ
• VMware vCenter
• Pushbullet
• IFTTT
• OpenFaaS Pro
triggers
• Apache Kafka
• Postgres
• AWS SQS
• AWS SNS
• Cron Connector
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Watchdog
40
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes
Katia HIMEUR
Watchdog
• Démarre et monitore les fonctions OpenFaaS
• Transforme les binaires en fonctions
• Devient l’init process
• Dispose d’un serveur HTTP embarqué
41
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Place à la démonstration
42
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Mon environnement local
Cluster
K8S
Docker
43
faas-cli Arkade
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Workflow OpenFaas
44
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Workflow OpenFaaS
45
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Quelques cas d’usage
46
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Quelques cas d’usage
• Applications “Serverless”
• Cron jobs
• Invocation des fonctions par RabbitMQ
• Invocation des fonctions via des événements Minio (S3 Object storage)
47
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Conclusion
48
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Conclusion
• Les o
ff
res managées sont pertinentes dans beaucoup de contextes
• Construire sa propre plateforme peut être nécessaire
• OpenFaaS est une bonne option “clé en main”
• OpenFaaS est plus facile à appréhender que Knative
49
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pour aller plus loin
50
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
Pour aller plus loin
• Workshop OpenFaaS : https://gitlab.com/cockpit-io-public/openfaas-
workshop
51
Merci
@katia_tal
/in/katiahimeur/
🔗 blog.cockpitio.com
@cockpitio42
/company/cockpit-io/
Restons en contact

Contenu connexe

Similaire à v3-Serverless - Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes.pdf

Presentation cloud&drinks
Presentation cloud&drinksPresentation cloud&drinks
Presentation cloud&drinksIkoula
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...Publicis Sapient Engineering
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Gerard Konan
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
 
PHP dans le cloud
PHP dans le cloudPHP dans le cloud
PHP dans le cloudMicrosoft
 
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...CERTyou Formation
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...Publicis Sapient Engineering
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc BouchoCellenza
 
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...AZUG FR
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0Michel HUBERT
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontZenika
 
Implentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASmohamed hadrich
 

Similaire à v3-Serverless - Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes.pdf (20)

Presentation cloud&drinks
Presentation cloud&drinksPresentation cloud&drinks
Presentation cloud&drinks
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
 
vNext
vNextvNext
vNext
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notes
 
PHP dans le cloud
PHP dans le cloudPHP dans le cloud
PHP dans le cloud
 
Php dans le cloud
Php dans le cloudPhp dans le cloud
Php dans le cloud
 
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...
Wu805 g formation-transition-vers-websphere-application-server-v8-5-pour-les-...
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
 
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
Implentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAAS
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 

v3-Serverless - Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes.pdf

  • 1. Serverless 6 février 2024 Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
  • 2. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Qui suis-je ? 2
  • 3. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Qui suis-je ? • 🪪 Katia HIMEUR • ☁ CTO & Cofondatrice de Cockpit io • 🏢 Conseil, Build et Formations autour des sujets Cloud et DevOps • 💻 Informaticienne • 👩💻 Consultante SRE/Cloud/DevOps depuis plusieurs années ❤ #Cloud #DevOps #Containers #Serverless #GitOps #IaC #CICD ❤ 3
  • 4. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Qu’est-ce que le serverless ? 4
  • 5. Qu’est-ce que le Serverless ? • Informatique sans serveur (🇫🇷) • Paradigme du Cloud Computing • Serveurs managés par les fournisseurs de services 5 Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
  • 6. Qu’est-ce que le Serverless ? • Informatique sans serveur (🇫🇷) • Paradigme du Cloud Computing • Serveurs managés par les fournisseurs de services 6 Mais il y a des serveurs ! Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR
  • 7. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR CNCF Serverless Landscape 7
  • 8. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Exemples de services serverless 8
  • 9. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Compute serverless 9 AWS Fargate Azure Container Apps Google App Engine Scaleway Serverless Containers
  • 10. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Bases de données serverless 10 Amazon DynamoDB Azure SQL Database
  • 11. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR API Gateways serverless 11 Amazon API Gateway Google API Gateway
  • 12. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Functions as a Service 12 AWS Lambda Azure Functions Google Cloud Functions Scaleway Serverless Functions
  • 13. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Function as a service (FaaS) 13
  • 14. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Function as a Service (FaaS) • Appelée par abus de langage : Serverless • Permet de considérer une application comme un ensemble de fonctions • Fonction exécutée uniquement lorsqu’elle est invoquée • Autre nom : Event-driven computing 14
  • 15. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Comment fonctionne le FaaS ? 15
  • 16. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Comment fonctionne le FaaS ? 16
  • 17. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Avantages du serverless 17
  • 18. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Avantages du serverless • Scalabilité • Haute disponibilité • Autonomie pour les équipes de développement • Réduction • Coûts • Capacités inutilisées (Idle capacity) • Temps de maintenance • Time to market 18
  • 19. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Le FaaS est suffisant pour une application en prod ? 19
  • 20. 20
  • 21. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR De quoi avons-nous besoin ? 21
  • 22. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR De quoi avons-nous besoin ? FaaS API Gateway Database Developer tools Stockage Message Queuing Monitoring 22
  • 23. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi construire sa propre plateforme serverless ? 23
  • 24. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi construire sa propre plateforme serverless ? • Vendor locking • Multi-cloud • Environnement de développement • Infrastructure on premise 24
  • 25. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR De quoi avons-nous besoin ? 25
  • 26. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR De quoi avons-nous besoin ? 26
  • 27. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi Kubernetes ? 27
  • 28. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi Kubernetes ? • Standard éprouvé du marché • Extensible • Écosystème riche et dynamique • Offres managées ou on premise • Fonctionnalités intéressantes : Autoscaling, networking… 28
  • 29. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi OpenFaas ? 29
  • 30. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pourquoi OpenFaaS ? • Plateforme open source & cloud agnostic • Déployable sur Kubernetes ou en Single Host • Adapté pour les fonctions, les microservices ou les monolithes • Prise en main rapide • Excellente expérience pour les équipes de développement 30
  • 31. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Stack OpenFaas 31
  • 32. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Stack OpenFaaS 32 OpenFaaS Gateway API REST pour manager les fonctions, les métriques et le scaling NATS Système de communication, utilisé pour le queuing et l’exécution asynchrone Prometheus Pour les métriques et l’autoscaling
  • 33. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Ce qu’il faut savoir d’OpenFaaS 33
  • 34. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Ce qu’il faut savoir d’OpenFaaS • Unité d’exécution d’une fonction : Le pod • Chaque fonction est transformée en un artefact immuable : Une image de conteneur • Une fonction est déployable via : REST API, UI ou CLI • La gateway est accessible via REST API, UI ou CLI • Le scaling est porté par Kubernetes 34
  • 35. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Autoscaling 35
  • 36. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Autoscaling AlertManager based autoscaling • OpenFaaS community Edition • Règle d’autoscaling appliquée à toutes les fonctions • AlertManager se base sur le nombre de requêtes par seconde • Prometheus fournit les métriques 36
  • 37. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Autoscaling OpenFaaS Pro Autoscaler • Zero-scale • 3 modes de scaling • Basé sur la capacité : Les connexions en cours simmultanées • RPS : Nombre de requêtes complétées en une seconde • CPU 37
  • 38. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Triggers 38
  • 39. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Triggers 39 • Built-in triggers • HTTP / Webhooks • Async / JetStream • CLI • Community triggers • MQTT Connector • Minio / S3 • NATS Pub/Sub • CloudEvents • RabbitMQ • VMware vCenter • Pushbullet • IFTTT • OpenFaaS Pro triggers • Apache Kafka • Postgres • AWS SQS • AWS SNS • Cron Connector
  • 40. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Watchdog 40
  • 41. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Watchdog • Démarre et monitore les fonctions OpenFaaS • Transforme les binaires en fonctions • Devient l’init process • Dispose d’un serveur HTTP embarqué 41
  • 42. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Place à la démonstration 42
  • 43. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Mon environnement local Cluster K8S Docker 43 faas-cli Arkade
  • 44. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Workflow OpenFaas 44
  • 45. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Workflow OpenFaaS 45
  • 46. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Quelques cas d’usage 46
  • 47. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Quelques cas d’usage • Applications “Serverless” • Cron jobs • Invocation des fonctions par RabbitMQ • Invocation des fonctions via des événements Minio (S3 Object storage) 47
  • 48. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Conclusion 48
  • 49. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Conclusion • Les o ff res managées sont pertinentes dans beaucoup de contextes • Construire sa propre plateforme peut être nécessaire • OpenFaaS est une bonne option “clé en main” • OpenFaaS est plus facile à appréhender que Knative 49
  • 50. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pour aller plus loin 50
  • 51. Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes Katia HIMEUR Pour aller plus loin • Workshop OpenFaaS : https://gitlab.com/cockpit-io-public/openfaas- workshop 51