SlideShare a Scribd company logo
1 of 33
Download to read offline
Veille technologique
Déploiement, orchestration & sécurisation d’APIs
M1 APP
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
I - Contexte
a) Existant
b) Méthodologie
c) Cahier des charges
II - Comparaison des technologies
a) Conteneurisation
b) Orchestration
c) Routage
d) Déploiement
e) IAM - Identity & Access Management
Plan
III - Scénarios
a) Scénario startup
b) Scénario hybride
c) Scénario entreprise
Conclusion
Glossaire
● On premise
● Cloud based
● IAM
● SSO
● SSL
● Conteneurisation
● Orchestration
● Routage
● API
● Déploiement
● Authentification
● Autorisation
Contexte
Existant - Micro-services
Existant - Déploiement
Existant - Accès & sécurisation
Méthodologie
Scénario Startup
Scénario facile à mettre en place, peu cher et ne nécessitant
pas d'équipe dédiée pour la maintenance. Le scénario est
adapté dans le cadre d'une startup ou d'un projet léger de
type POC.
Scénario Hybride
Scénario hybride avec orchestration. Le scénario est adapté
dans le cadre d'un petit projet industrialisé.
Scénario Entreprise
Scénario haut niveau avec orchestration idéale pour les
grosses entreprises nécessitant d'un support technique et
bénéficiant d'une équipe dédié au DevOps.
Cahier des charges
Le cahier des charges nous a permis de
pré-sélectionner certaines technologies
qui ont pu être analysées en détail
Nous avons ajouté le fait que les technologies
devaient être disponible “on premise” (sauf pour
le déploiement) puisque nous devrons les
implémenter sur des serveurs virtuels possédés
Technologies retenues
pour l’évaluation
Conteneurisation
3 technologies sont majoritairement utilisé dans l’industrie :
Nous n’avons pas fait de comparaison détaillée pour la conteneurisation car l'adoption de
Docker par la communauté est incomparable aux deux autres technologies.
Docker est le standard.
Si besoin, les noyaux des 3 technologies étant les mêmes, il est possible de migrer depuis
Docker sans problème.
Orchestration
On-premise Cloud-based
Seuls les orchestrateurs On-premise ont été retenus. En effet les solutions Cloud-based ne
correspondaient pas à ce qui était recherché pour notre projet, principalement à cause de
leur prix élevé contraire à notre focalisation sur le gratuit et l’open source.
Parmi les technologies comparées, on retrouve deux solutions utilisant Kubernetes car à
l’instar de Docker, Kubernetes s’est révélé être un standard depuis quelques années.
Routage
Nous avons décidé de comparer les routeurs aux orchestrateurs car ils répondent au besoin d’API
gateway énoncé dans le cahier des charges.
Même s’ils ne sont pas des orchestrateurs, il est nécessaire d’avoir des routeurs qui puissent gérer
facilement les conteneurs.
Il est important que nos conteneurs s'enregistrent eux-mêmes auprès de notre routeur pour que les
requêtes soient redirigées vers les applications dockerisées.
Déploiement
3 principales technologiques ont été retenues car elles représentent les
solutions les plus utilisées par la communauté tout étant facilement
interfaçables avec Github, le répertoire de code utilisé pour le projet.
IAM
Il existe une multitude d’outils IAM. Nos choix se sont portés
essentiellement sur ceux permettant le SSO et qui remontent
principalement dans les différents forums.
En plus de cela, le coût, les protocoles utilisés et la gestion des
droits/rôles ont été également des facteurs de choix importants.
Les technologies retenues sont :
1 2 3 4 5
Scénarios
Pondérations intéressantes
Scénario facile à mettre en place, peu cher et ne nécessitant pas
d'équipe dédiée pour la maintenance. Le scénario est adapté dans le
cadre d'une startup ou d'un projet léger de type POC.
Communauté
Traefik Labs Community
(https://community.traefik.io/)
3
Open source Oui 1
Facilité de maintenance Dashboard 3
Facilité de mise en place Quelques lignes de commande 3
Scalabilité Non 0
Facilité de micro-service
Ecoute l'API Docker pour détecter de nouveaux
services
2
Scénario Startup
61/69 85/93 127/138
Scénario Startup - Résultats
Le choix de Keycloack
Suite à l’étude comparative notre choix s’est porté
sur Keycloak pour les trois scénarios pour ses
nombreux points forts :
● Gratuit & open source
● Configuration & maintenance simple
● Gestion des droits/rôles très optimisée
● Le tout en permettant l’utilisation des meilleurs protocoles et
standards d’authentification actuels
Prise en main & Impressions de Keycloack
Pré-requis :
docker run - p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.4
Démarrage :
Keycloak Admin Console
Interface web de Keycloak
Source : https://www.keycloak.org/getting-started/getting-started-docker
Tuto Installation et utilisation Traefik avec Docker :
Bien expliqué dans le tuto et bien documenté dans la doc Traefik et Docker
https://hub.docker.com/_/traefik
https://doc.traefik.io/traefik/getting-started/quick-start/
https://www.youtube.com/watch?v=ZOeNdC37OwE
Scénario Startup - Impressions
Facile d’installation, de
maintenance et d’utilisation.
Source :
https://github.com/padok-team/githu
b-actions-tutorial
Scénario hybride avec orchestration. Le scénario est adapté dans le
cadre d'un petit projet industrialisé.
Communauté Blog + Github + Events 3
Open source Github 3
Facilité de maintenance Dashboard 3
Facilité de mise en place Quelques lignes de commande 2
Scalabilité Natively from Kubernetes 2
Facilité de micro-service Natively from Kubernetes 2
Pondérations intéressantes
Scénario Hybride
51/60 96/114 125/135
Scénario Hybride - Résultats
Scénario Hybride - Impressions
Source : https://kubernetes.io/fr/docs/tutorials/kubernetes-basics/
Ces tutoriels étaient très complets, facile à suivre et à prendre en main, notamment grâce à
la possibilité de suivre les enseignements directement en tapant les lignes de commande sur
un terminal connecté à l’instance de démonstration virtualisée sur un serveur distant.
Le temps estimé pour finir les 6 chapitres est de 3 à 4 heures.
Scénario Hybride
Source : https://medium.com/weekly-webtips/your-next-dockerized-spring-boot-application-with-travis-and-heroku-83800b3a3ad8
Technologie assez simple de prise en
main. Nécessite quelques connaissances
en CI/CD pour une mise en place et
maintenance facilitée. Malgré tout,
demeure assez simple d’utilisation
avec du paramètrage essentiellement
via des fichiers YAML de
configuration.
Scénario Entreprise
Pondérations intéressantes
Scénario haut niveau avec orchestration, idéale pour les
grosses entreprises nécessitant un support technique et
bénéficiant d'une équipe dédiée au DevOps.
Communauté
Grande communauté et réactivité aux bug remonté
par la communauté importante (DevOps)
2
Open source Open source 3
Facilité de maintenance
Dashboard dédié, paramétrage plus complexe pour
des cas plus spécifiques
1
Facilité de mise en place Quelques lignes de commande 1
Scalabilité Natively from Kubernetes 3
Facilité d’ajout de micro-service Natively from Kubernetes 1
41/45 98/111 126/135
Scénario Entreprise
Scénario Entreprise
OpenShift est assez rapide à
prendre en main pour les
opérations de base notamment
grâce à la web console et la
vue topologique. Cependant,
pour les opérations plus
complexes, le paramétrage est
assez sensible.
https://learn.openshift.com
Scénario Entreprise
Jenkins est, globalement, assez
rapide à prendre en main grâce à ses
interfaces web de configuration.
Outil d’intégration continue très
complet notamment via l’ajout de
plugins très développé.
Source : https://www.tutorialspoint.com/jenkins/index.htm
Conclusion

More Related Content

What's hot

eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3Nicolas Lœuillet
 
Intégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ciIntégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ciwiemfourati
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Amélie DUVERNET
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizonMicrosoft
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsHugo Hamon
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
Débridez les performances de vos applications avec Chronicle Queue
Débridez les performances de vos applications avec Chronicle QueueDébridez les performances de vos applications avec Chronicle Queue
Débridez les performances de vos applications avec Chronicle QueueThierryAbalea
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIRomain Cambien
 
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos Santos
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos SantosXebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos Santos
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos SantosPublicis Sapient Engineering
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerGeeks Anonymes
 
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/HudsonSonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudsonxmacina
 
Intégration continue & Qualité logicielle
Intégration continue & Qualité logicielleIntégration continue & Qualité logicielle
Intégration continue & Qualité logicielleDavid Buros
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleKaliop-slide
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsOCTO Technology
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 

What's hot (20)

eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
Intégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ciIntégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ci
 
JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizon
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
Débridez les performances de vos applications avec Chronicle Queue
Débridez les performances de vos applications avec Chronicle QueueDébridez les performances de vos applications avec Chronicle Queue
Débridez les performances de vos applications avec Chronicle Queue
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open API
 
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos Santos
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos SantosXebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos Santos
XebiCon'17 : Kotlin, état de l'art - Benjamin Lacroix et Sergio Dos Santos
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/HudsonSonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
 
Intégration continue & Qualité logicielle
Intégration continue & Qualité logicielleIntégration continue & Qualité logicielle
Intégration continue & Qualité logicielle
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationale
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 

Similar to Déploiement, orchestration & sécurisation d’APIs

Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsStephane Woillez
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialOVHcloud
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...Laurent Goujon
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018Marius Zaharia
 
Cloud computing et calcul haute performance
Cloud computing et calcul haute performanceCloud computing et calcul haute performance
Cloud computing et calcul haute performanceMouna Maazoun
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsGeorgeot Cédric
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudMichel-Marie Maudet
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureThe Incredible Automation Day
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Publicis Sapient Engineering
 

Similar to Déploiement, orchestration & sécurisation d’APIs (20)

Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potential
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018
 
Cloud computing et calcul haute performance
Cloud computing et calcul haute performanceCloud computing et calcul haute performance
Cloud computing et calcul haute performance
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOps
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...
 

Déploiement, orchestration & sécurisation d’APIs

  • 1. Veille technologique Déploiement, orchestration & sécurisation d’APIs M1 APP Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
  • 2. I - Contexte a) Existant b) Méthodologie c) Cahier des charges II - Comparaison des technologies a) Conteneurisation b) Orchestration c) Routage d) Déploiement e) IAM - Identity & Access Management Plan III - Scénarios a) Scénario startup b) Scénario hybride c) Scénario entreprise Conclusion
  • 3. Glossaire ● On premise ● Cloud based ● IAM ● SSO ● SSL ● Conteneurisation ● Orchestration ● Routage ● API ● Déploiement ● Authentification ● Autorisation
  • 7. Existant - Accès & sécurisation
  • 8. Méthodologie Scénario Startup Scénario facile à mettre en place, peu cher et ne nécessitant pas d'équipe dédiée pour la maintenance. Le scénario est adapté dans le cadre d'une startup ou d'un projet léger de type POC. Scénario Hybride Scénario hybride avec orchestration. Le scénario est adapté dans le cadre d'un petit projet industrialisé. Scénario Entreprise Scénario haut niveau avec orchestration idéale pour les grosses entreprises nécessitant d'un support technique et bénéficiant d'une équipe dédié au DevOps.
  • 9. Cahier des charges Le cahier des charges nous a permis de pré-sélectionner certaines technologies qui ont pu être analysées en détail Nous avons ajouté le fait que les technologies devaient être disponible “on premise” (sauf pour le déploiement) puisque nous devrons les implémenter sur des serveurs virtuels possédés
  • 11. Conteneurisation 3 technologies sont majoritairement utilisé dans l’industrie : Nous n’avons pas fait de comparaison détaillée pour la conteneurisation car l'adoption de Docker par la communauté est incomparable aux deux autres technologies. Docker est le standard. Si besoin, les noyaux des 3 technologies étant les mêmes, il est possible de migrer depuis Docker sans problème.
  • 12. Orchestration On-premise Cloud-based Seuls les orchestrateurs On-premise ont été retenus. En effet les solutions Cloud-based ne correspondaient pas à ce qui était recherché pour notre projet, principalement à cause de leur prix élevé contraire à notre focalisation sur le gratuit et l’open source. Parmi les technologies comparées, on retrouve deux solutions utilisant Kubernetes car à l’instar de Docker, Kubernetes s’est révélé être un standard depuis quelques années.
  • 13. Routage Nous avons décidé de comparer les routeurs aux orchestrateurs car ils répondent au besoin d’API gateway énoncé dans le cahier des charges. Même s’ils ne sont pas des orchestrateurs, il est nécessaire d’avoir des routeurs qui puissent gérer facilement les conteneurs. Il est important que nos conteneurs s'enregistrent eux-mêmes auprès de notre routeur pour que les requêtes soient redirigées vers les applications dockerisées.
  • 14. Déploiement 3 principales technologiques ont été retenues car elles représentent les solutions les plus utilisées par la communauté tout étant facilement interfaçables avec Github, le répertoire de code utilisé pour le projet.
  • 15. IAM Il existe une multitude d’outils IAM. Nos choix se sont portés essentiellement sur ceux permettant le SSO et qui remontent principalement dans les différents forums. En plus de cela, le coût, les protocoles utilisés et la gestion des droits/rôles ont été également des facteurs de choix importants. Les technologies retenues sont : 1 2 3 4 5
  • 17. Pondérations intéressantes Scénario facile à mettre en place, peu cher et ne nécessitant pas d'équipe dédiée pour la maintenance. Le scénario est adapté dans le cadre d'une startup ou d'un projet léger de type POC. Communauté Traefik Labs Community (https://community.traefik.io/) 3 Open source Oui 1 Facilité de maintenance Dashboard 3 Facilité de mise en place Quelques lignes de commande 3 Scalabilité Non 0 Facilité de micro-service Ecoute l'API Docker pour détecter de nouveaux services 2 Scénario Startup
  • 18. 61/69 85/93 127/138 Scénario Startup - Résultats
  • 19.
  • 20. Le choix de Keycloack Suite à l’étude comparative notre choix s’est porté sur Keycloak pour les trois scénarios pour ses nombreux points forts : ● Gratuit & open source ● Configuration & maintenance simple ● Gestion des droits/rôles très optimisée ● Le tout en permettant l’utilisation des meilleurs protocoles et standards d’authentification actuels
  • 21. Prise en main & Impressions de Keycloack Pré-requis : docker run - p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.4 Démarrage : Keycloak Admin Console Interface web de Keycloak Source : https://www.keycloak.org/getting-started/getting-started-docker
  • 22. Tuto Installation et utilisation Traefik avec Docker : Bien expliqué dans le tuto et bien documenté dans la doc Traefik et Docker https://hub.docker.com/_/traefik https://doc.traefik.io/traefik/getting-started/quick-start/ https://www.youtube.com/watch?v=ZOeNdC37OwE Scénario Startup - Impressions Facile d’installation, de maintenance et d’utilisation. Source : https://github.com/padok-team/githu b-actions-tutorial
  • 23. Scénario hybride avec orchestration. Le scénario est adapté dans le cadre d'un petit projet industrialisé. Communauté Blog + Github + Events 3 Open source Github 3 Facilité de maintenance Dashboard 3 Facilité de mise en place Quelques lignes de commande 2 Scalabilité Natively from Kubernetes 2 Facilité de micro-service Natively from Kubernetes 2 Pondérations intéressantes Scénario Hybride
  • 24. 51/60 96/114 125/135 Scénario Hybride - Résultats
  • 25.
  • 26. Scénario Hybride - Impressions Source : https://kubernetes.io/fr/docs/tutorials/kubernetes-basics/ Ces tutoriels étaient très complets, facile à suivre et à prendre en main, notamment grâce à la possibilité de suivre les enseignements directement en tapant les lignes de commande sur un terminal connecté à l’instance de démonstration virtualisée sur un serveur distant. Le temps estimé pour finir les 6 chapitres est de 3 à 4 heures.
  • 27. Scénario Hybride Source : https://medium.com/weekly-webtips/your-next-dockerized-spring-boot-application-with-travis-and-heroku-83800b3a3ad8 Technologie assez simple de prise en main. Nécessite quelques connaissances en CI/CD pour une mise en place et maintenance facilitée. Malgré tout, demeure assez simple d’utilisation avec du paramètrage essentiellement via des fichiers YAML de configuration.
  • 28. Scénario Entreprise Pondérations intéressantes Scénario haut niveau avec orchestration, idéale pour les grosses entreprises nécessitant un support technique et bénéficiant d'une équipe dédiée au DevOps. Communauté Grande communauté et réactivité aux bug remonté par la communauté importante (DevOps) 2 Open source Open source 3 Facilité de maintenance Dashboard dédié, paramétrage plus complexe pour des cas plus spécifiques 1 Facilité de mise en place Quelques lignes de commande 1 Scalabilité Natively from Kubernetes 3 Facilité d’ajout de micro-service Natively from Kubernetes 1
  • 30.
  • 31. Scénario Entreprise OpenShift est assez rapide à prendre en main pour les opérations de base notamment grâce à la web console et la vue topologique. Cependant, pour les opérations plus complexes, le paramétrage est assez sensible. https://learn.openshift.com
  • 32. Scénario Entreprise Jenkins est, globalement, assez rapide à prendre en main grâce à ses interfaces web de configuration. Outil d’intégration continue très complet notamment via l’ajout de plugins très développé. Source : https://www.tutorialspoint.com/jenkins/index.htm