SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
DEVCON #3 : Le 23 mai 2017
API
les interfaces du cloud computing
Christophe Villeneuve
@hellosct1
Qui ???
Christoph
e 
Villeneuv
e
mozilla reps - firefox os - B2GOS - ausy - afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – Libre@toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – elephpant - 
93
Aujourd'hui… un sommaire en vrac
● Cloud et API
● Déploiement et cluster
● Microservices
Programmez - DEVCON #3 : Le 23 mai 2017
Pourquoi aller dans le cloud ?
Connaissez-
vous la
réponse ?LANGAGELANGAGE
FRAMEWORKFRAMEWORK
CRMCRM
CMSCMS
ERPERP
Programmez - DEVCON #3 : Le 23 mai 2017
Le cloud se démocratise
● Priorité pour toute organisation qui utilise le Cloud
● Tout le monde l'utilise
● En entreprise, il est devenu un composant du SI
● Les environnements interconnectés
Programmez - DEVCON #3 : Le 23 mai 2017
Quel cloud pour votre API ?
• Logiciels applicatifs
• Infrastructure logicielle
• Systèmes d’exploitation
• Virtualisation
• Serveurs physiques
• Réseaux
• Data center
SaaS
(utilisateurs)
PaaS
(Développeurs)
IaaS
(Administrateurs)
Programmez - DEVCON #3 : Le 23 mai 2017
Il vous faut...
● SaaS
– Pas grand chose
● PaaS
– IDE
– Environnement de test
● IaaS
– Plateforme applicative
– IDE
– Environnement de test
– Environnement de déploiement
Outils de construction
Programmez - DEVCON #3 : Le 23 mai 2017
Infrastructures cloud : Orchestration
● Eucalyptus
● AWS
● OpenStack
Canonical, Red Hat, SUSE, eNovance, AT&T, Cisco, Dell, HP, IBM,
Yahoo!, Oracle4, Orange, Cloudwatt, EMC, VMware, Intel, OVH,
NetApp
● CloudStack (Apache)
Canonical, Red Hat, SUSE, VMWare, Windows...
Programmez - DEVCON #3 : Le 23 mai 2017
Plateformes cloud : Open Nebula
● Privés, Hybrides, publics
● Boites à outils complète
● Solution pour convertir
– Infrastructure virtuelle en plateforme IaaS
● Haute dispo des
environnements
● Interface ergonomique
SaaS
Programmez - DEVCON #3 : Le 23 mai 2017
SaaS : logiciels applicatifs
● A travers une interface
– Blog
– Gestionnaire de contenus
– Gestionnaire de relation client (CRM)
PaaS
Programmez - DEVCON #3 : Le 23 mai 2017
PaaS : infrastructure logicielle
● Plateforme (= serveur)
● Logiciels de base (OS)
Programmez - DEVCON #3 : Le 23 mai 2017
Déploiement
● IDE : Eclipse, Netbeans...
● Contrôleur de version : Git, SVN
IaaS
Programmez - DEVCON #3 : Le 23 mai 2017
IaaS
● Principe
– Exactement comme une machine physique
… Mais distante… où ???
● Attention aux problèmes
– Comment créer une machine
– Comment gérer le réseau
– Comment déployer
Programmez - DEVCON #3 : Le 23 mai 2017
Création VM (1/2)
● Soit créer sa VM en local
– L'envoyer sur le cloud
● Soit créer sa machine à distance
– Installation manuelle
– Installation automatisée depuis 1 ISO vierge
– Création d'une image spécialisée
● Quel OS choisir ?
Programmez - DEVCON #3 : Le 23 mai 2017
Création VM (2/2)
Programmez - DEVCON #3 : Le 23 mai 2017
Considérations réseau
● Accès SSH (seulement) par défaut
● Configuration des ports sur le load balancer
/! connaître la config
● Utiliser le load balancer
– Montée en charge
– Haute disponibilité
– Load balancer cloud ou HAProxy/ARR
Programmez - DEVCON #3 : Le 23 mai 2017
Déploiement
● Juste l'application ?
– Déploiement en FTPs
– Contrôleur de source
● Tous les composants
– Langages, bases de données, tâches…
● Automatisation
– Puppet, Chef, Ansible
Programmez - DEVCON #3 : Le 23 mai 2017
Ansible (1/2)
● Gestion de
configuration
– Puppet
– Chef
– Cfengine
● Déploiement
– Fabric
– Capistrano
● Extension Ad-Hoc
– Func
– Pssh
● Serveur ou client
● Déploiement en multi-
noeuds
● Format jSON
● SSH
● Configuration simplifiée
● Compatible Git / SVN
● Pas d'obligation d'être
ROOT
● Exécution en
commande parallèle
Programmez - DEVCON #3 : Le 23 mai 2017
Ansible (2/2)
Programmez - DEVCON #3 : Le 23 mai 2017
La gestion de production
● Infrastructure
– Toutes les pratiques habituelles
– Attention aux spécifications cloud !
● Applicatif
– Toutes les pratiques habituelles
– Mais aussi…
● Monitoring
– Logs,…
– Les services dédiés
La base de données
La base de données
IaaS
à vous
d’installer
PaaS
une simple
chaine de
connexion.
Saa
S
où ça une
base ?
Programmez - DEVCON #3 : Le 23 mai 2017
En pratique : ex MariaDB
● Base de données
● CMS : Drupal avec Drush
$ [cloud] network vnet create 
--address-space 10.0.0.0 --cidr 8 
--subnet-name mariadb --subnet-start-ip
10.0.0.0 
--subnet-cidr 24 
--affinity-group galeraag galeravnet
$ drush @dev @prod
Les API
Programmez - DEVCON #3 : Le 23 mai 2017
API : Qu'est ce !!!
● Interface de programmation applicative
● Déf : Ensemble normalisé de classes, de méthodes
ou de fonctions
● Les possibilités
– Bibliothèque logicielle
– Service web
● Utilisations
– Systèmes d'exploitation
– Systèmes de gestion de base de données
– Langages de programmation
– Serveurs d'applications
Programmez - DEVCON #3 : Le 23 mai 2017
Gérer les APIs
● Technologie première : Les restrictions
– Appliquer des règles
– Contrôler leurs accès
● Limiter les accès aux API
– A un moment spécifique dans la journée
– En fonction des rôles des utilisateurs
● Orientation sécurisé
Programmez - DEVCON #3 : Le 23 mai 2017
Bests pratiques (1/2)
● Dérive
→ Environnement mutli-cloud complexe
● Stratégie de gestion des API
● Les outils doivent être hétérogènes
Attention :  
Choisir des outils provenant d'un seul fournisseur de 
Cloud public
Attention :  
Choisir des outils provenant d'un seul fournisseur de 
Cloud public
Programmez - DEVCON #3 : Le 23 mai 2017
Bests pratiques (2/2)
● Vos outils de gestion des API soient étroitement
intégrés avec vos outils de sécurité de Cloud
● L'association d'outils doivent être disponible sur un
maximum de plateformes
● Attention :
→ Si vous choisissez une API
pour un seul cas d'utilisation
Microservices
Programmez - DEVCON #3 : Le 23 mai 2017
Pourquoi microservices ? (1/)
● Forte croissance du cloud
● Approche différente
– Conception
– Déploiement
– Gestion des API monolithiques classiques
● Spécificités en matières de monitoring
Attention : 
Risques de migration d'une API classique vers une 
plateforme cloud
* Rapide et économique sur le court terme
* Augmentation des coûts d'exploitations 
Logiciels, développement, structure non adapté...
Attention : 
Risques de migration d'une API classique vers une 
plateforme cloud
* Rapide et économique sur le court terme
* Augmentation des coûts d'exploitations 
Logiciels, développement, structure non adapté...
Programmez - DEVCON #3 : Le 23 mai 2017
Pourquoi microservices ? (2/)
● Technique
– Communication entre les plateformes
– Protocoles standard XML et HTTP
– WebServices : ReST / JSON /… Soap
● Evolution IoT (Internet des Objets)
– Communication Machine à machine (M2M)
– 1 tâche = 1 module
● Technologie des conteneurs
– Docker, Rocket, LWD...
Programmez - DEVCON #3 : Le 23 mai 2017
Concept d'une architecture microservice
● Combinée à une démarche d'intégration et de
livraison continue
● Accélérer les cycles de développements
● Rationaliser le cycle de livraison
→ plus stables
→ plus flexibles
→ améliore la qualité
● APM = Application Performance Management
Programmez - DEVCON #3 : Le 23 mai 2017
Nouveaux enjeux et contraintes (1/)
● Identifier la granualité et la localité
– Utilisation du monitoring pour cadrer les nombreux appels
(WebServices)
– Utilisation d'une architecture sous la forme de mécanismes
d'une plateforme de colocation
● Mesurer les impacts des appels de fonctions distants
– Les fonctions sont en mémoire
– Evalué les appels vers le cloud (distance)
– Problème de volumétrie
Programmez - DEVCON #3 : Le 23 mai 2017
Nouveaux enjeux et contraintes (2/)
● Monitorer le réseau
– Appelé Software-defined (SDNs)
– Important
– Réseau très utilisé
→ Appels entre les microservices
– Communication avec le PaaS / déploiement dynamiques
– Surcoût réseau, CPU, cables, routeurs
Programmez - DEVCON #3 : Le 23 mai 2017
Nouveaux enjeux et contraintes (3/)
● Prendre en charge des technologies polyglottes
– Approche du multi langage (voir développeurs)
– Transactions avec différentes technologies
● PHP / Node.js / HTML5
● SQL / NoSQL / NewSQL
Programmez - DEVCON #3 : Le 23 mai 2017
Nouveaux enjeux et contraintes (4/)
● Monitorer les conteneurs
– Emergence des conteneurs
– Possibilité de couvrir et de monitorer automatique les
conteneurs
– Abstraction d'une configuration statique d'agents de
monitoring
Programmez - DEVCON #3 : Le 23 mai 2017
Nouveaux enjeux et contraintes (5/)
● Monitorer la plateforme
– Faire la distinction entre
● Performance de l'application
● Performance de l'infrastructure dynamique
– Résoudre les problèmes de latence
– Outils de supervisions (en bruit de fond)
–
Programmez - DEVCON #3 : Le 23 mai 2017
En pratique
Développement
Plateforme
Intégration
GIT
Les tests
Plateforme 
Validation
PreProd
Prod
Les tests
Futur
Programmez - DEVCON #3 : Le 23 mai 2017
Futur : Economie des API
● Sont des éléments essentiels de l'IT des entreprises
● Disponible
– Dans le cloud
– Dans les systèmes traditionnels
● Au niveau de l'utilisation
– Api réutilisables
– Concevoir des services véritable
→ Du sur mesure au sein des entreprises
● Culture agile / DevOps
Attendu
depuis
plusieurs années
Attendu
depuis
plusieurs années
Merci
Christophe Villeneuve
@hellosct1

Contenu connexe

Similaire à Api les intefaces du cloud computing

L'open source dans les nouvelles architectures web
L'open source dans les nouvelles architectures webL'open source dans les nouvelles architectures web
L'open source dans les nouvelles architectures webChristophe Villeneuve
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Anne Nicolas
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur AzureaOS Community
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Le cloud ton univers impitoyable
Le cloud ton univers impitoyableLe cloud ton univers impitoyable
Le cloud ton univers impitoyableneuros
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureParis Container Day
 
Cloud computing et calcul haute performance
Cloud computing et calcul haute performanceCloud computing et calcul haute performance
Cloud computing et calcul haute performanceMouna Maazoun
 
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
 
System Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideSystem Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideMicrosoft Technet France
 
System Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideSystem Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideMicrosoft
 
S35 developper en node.js versus php
S35   developper en node.js versus phpS35   developper en node.js versus php
S35 developper en node.js versus phpGautier DUMAS
 
4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdfharizi riadh
 
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge HartmannTelecomValley
 
"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
 
Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Christophe Villeneuve
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 

Similaire à Api les intefaces du cloud computing (20)

L'open source dans les nouvelles architectures web
L'open source dans les nouvelles architectures webL'open source dans les nouvelles architectures web
L'open source dans les nouvelles architectures web
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Le cloud ton univers impitoyable
Le cloud ton univers impitoyableLe cloud ton univers impitoyable
Le cloud ton univers impitoyable
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse Faure
 
Cloud computing et calcul haute performance
Cloud computing et calcul haute performanceCloud computing et calcul haute performance
Cloud computing et calcul haute performance
 
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...
 
System Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideSystem Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybride
 
System Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybrideSystem Center 2012 R2 en environnement hétérogène et hybride
System Center 2012 R2 en environnement hétérogène et hybride
 
S35 developper en node.js versus php
S35   developper en node.js versus phpS35   developper en node.js versus php
S35 developper en node.js versus php
 
4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf
 
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
"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...
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Ocs
OcsOcs
Ocs
 

Plus de Christophe Villeneuve

La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxChristophe Villeneuve
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webChristophe Villeneuve
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteChristophe Villeneuve
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le designChristophe Villeneuve
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activitesChristophe Villeneuve
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftChristophe Villeneuve
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthnChristophe Villeneuve
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueChristophe Villeneuve
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 

Plus de Christophe Villeneuve (20)

MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
pister les pisteurs
pister les pisteurspister les pisteurs
pister les pisteurs
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le web
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnante
 
Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le design
 
Foxfooding semaine 3
Foxfooding semaine 3Foxfooding semaine 3
Foxfooding semaine 3
 
Foxfooding
FoxfoodingFoxfooding
Foxfooding
 
Accessibilite web wcag rgaa
Accessibilite web wcag rgaaAccessibilite web wcag rgaa
Accessibilite web wcag rgaa
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activites
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et Microsoft
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthn
 
Send large files with addons
Send large files with addonsSend large files with addons
Send large files with addons
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratique
 
Donnez la voix aux machines
Donnez la voix aux machinesDonnez la voix aux machines
Donnez la voix aux machines
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 

Api les intefaces du cloud computing

  • 1. DEVCON #3 : Le 23 mai 2017 API les interfaces du cloud computing Christophe Villeneuve @hellosct1
  • 3. Aujourd'hui… un sommaire en vrac ● Cloud et API ● Déploiement et cluster ● Microservices
  • 4. Programmez - DEVCON #3 : Le 23 mai 2017 Pourquoi aller dans le cloud ? Connaissez- vous la réponse ?LANGAGELANGAGE FRAMEWORKFRAMEWORK CRMCRM CMSCMS ERPERP
  • 5. Programmez - DEVCON #3 : Le 23 mai 2017 Le cloud se démocratise ● Priorité pour toute organisation qui utilise le Cloud ● Tout le monde l'utilise ● En entreprise, il est devenu un composant du SI ● Les environnements interconnectés
  • 6. Programmez - DEVCON #3 : Le 23 mai 2017 Quel cloud pour votre API ? • Logiciels applicatifs • Infrastructure logicielle • Systèmes d’exploitation • Virtualisation • Serveurs physiques • Réseaux • Data center SaaS (utilisateurs) PaaS (Développeurs) IaaS (Administrateurs)
  • 7. Programmez - DEVCON #3 : Le 23 mai 2017 Il vous faut... ● SaaS – Pas grand chose ● PaaS – IDE – Environnement de test ● IaaS – Plateforme applicative – IDE – Environnement de test – Environnement de déploiement
  • 9. Programmez - DEVCON #3 : Le 23 mai 2017 Infrastructures cloud : Orchestration ● Eucalyptus ● AWS ● OpenStack Canonical, Red Hat, SUSE, eNovance, AT&T, Cisco, Dell, HP, IBM, Yahoo!, Oracle4, Orange, Cloudwatt, EMC, VMware, Intel, OVH, NetApp ● CloudStack (Apache) Canonical, Red Hat, SUSE, VMWare, Windows...
  • 10. Programmez - DEVCON #3 : Le 23 mai 2017 Plateformes cloud : Open Nebula ● Privés, Hybrides, publics ● Boites à outils complète ● Solution pour convertir – Infrastructure virtuelle en plateforme IaaS ● Haute dispo des environnements ● Interface ergonomique
  • 11. SaaS
  • 12. Programmez - DEVCON #3 : Le 23 mai 2017 SaaS : logiciels applicatifs ● A travers une interface – Blog – Gestionnaire de contenus – Gestionnaire de relation client (CRM)
  • 13. PaaS
  • 14. Programmez - DEVCON #3 : Le 23 mai 2017 PaaS : infrastructure logicielle ● Plateforme (= serveur) ● Logiciels de base (OS)
  • 15. Programmez - DEVCON #3 : Le 23 mai 2017 Déploiement ● IDE : Eclipse, Netbeans... ● Contrôleur de version : Git, SVN
  • 16. IaaS
  • 17. Programmez - DEVCON #3 : Le 23 mai 2017 IaaS ● Principe – Exactement comme une machine physique … Mais distante… où ??? ● Attention aux problèmes – Comment créer une machine – Comment gérer le réseau – Comment déployer
  • 18. Programmez - DEVCON #3 : Le 23 mai 2017 Création VM (1/2) ● Soit créer sa VM en local – L'envoyer sur le cloud ● Soit créer sa machine à distance – Installation manuelle – Installation automatisée depuis 1 ISO vierge – Création d'une image spécialisée ● Quel OS choisir ?
  • 19. Programmez - DEVCON #3 : Le 23 mai 2017 Création VM (2/2)
  • 20. Programmez - DEVCON #3 : Le 23 mai 2017 Considérations réseau ● Accès SSH (seulement) par défaut ● Configuration des ports sur le load balancer /! connaître la config ● Utiliser le load balancer – Montée en charge – Haute disponibilité – Load balancer cloud ou HAProxy/ARR
  • 21. Programmez - DEVCON #3 : Le 23 mai 2017 Déploiement ● Juste l'application ? – Déploiement en FTPs – Contrôleur de source ● Tous les composants – Langages, bases de données, tâches… ● Automatisation – Puppet, Chef, Ansible
  • 22. Programmez - DEVCON #3 : Le 23 mai 2017 Ansible (1/2) ● Gestion de configuration – Puppet – Chef – Cfengine ● Déploiement – Fabric – Capistrano ● Extension Ad-Hoc – Func – Pssh ● Serveur ou client ● Déploiement en multi- noeuds ● Format jSON ● SSH ● Configuration simplifiée ● Compatible Git / SVN ● Pas d'obligation d'être ROOT ● Exécution en commande parallèle
  • 23. Programmez - DEVCON #3 : Le 23 mai 2017 Ansible (2/2)
  • 24. Programmez - DEVCON #3 : Le 23 mai 2017 La gestion de production ● Infrastructure – Toutes les pratiques habituelles – Attention aux spécifications cloud ! ● Applicatif – Toutes les pratiques habituelles – Mais aussi… ● Monitoring – Logs,… – Les services dédiés
  • 27. Programmez - DEVCON #3 : Le 23 mai 2017 En pratique : ex MariaDB ● Base de données ● CMS : Drupal avec Drush $ [cloud] network vnet create --address-space 10.0.0.0 --cidr 8 --subnet-name mariadb --subnet-start-ip 10.0.0.0 --subnet-cidr 24 --affinity-group galeraag galeravnet $ drush @dev @prod
  • 29. Programmez - DEVCON #3 : Le 23 mai 2017 API : Qu'est ce !!! ● Interface de programmation applicative ● Déf : Ensemble normalisé de classes, de méthodes ou de fonctions ● Les possibilités – Bibliothèque logicielle – Service web ● Utilisations – Systèmes d'exploitation – Systèmes de gestion de base de données – Langages de programmation – Serveurs d'applications
  • 30. Programmez - DEVCON #3 : Le 23 mai 2017 Gérer les APIs ● Technologie première : Les restrictions – Appliquer des règles – Contrôler leurs accès ● Limiter les accès aux API – A un moment spécifique dans la journée – En fonction des rôles des utilisateurs ● Orientation sécurisé
  • 31. Programmez - DEVCON #3 : Le 23 mai 2017 Bests pratiques (1/2) ● Dérive → Environnement mutli-cloud complexe ● Stratégie de gestion des API ● Les outils doivent être hétérogènes Attention :   Choisir des outils provenant d'un seul fournisseur de  Cloud public Attention :   Choisir des outils provenant d'un seul fournisseur de  Cloud public
  • 32. Programmez - DEVCON #3 : Le 23 mai 2017 Bests pratiques (2/2) ● Vos outils de gestion des API soient étroitement intégrés avec vos outils de sécurité de Cloud ● L'association d'outils doivent être disponible sur un maximum de plateformes ● Attention : → Si vous choisissez une API pour un seul cas d'utilisation
  • 34. Programmez - DEVCON #3 : Le 23 mai 2017 Pourquoi microservices ? (1/) ● Forte croissance du cloud ● Approche différente – Conception – Déploiement – Gestion des API monolithiques classiques ● Spécificités en matières de monitoring Attention :  Risques de migration d'une API classique vers une  plateforme cloud * Rapide et économique sur le court terme * Augmentation des coûts d'exploitations  Logiciels, développement, structure non adapté... Attention :  Risques de migration d'une API classique vers une  plateforme cloud * Rapide et économique sur le court terme * Augmentation des coûts d'exploitations  Logiciels, développement, structure non adapté...
  • 35. Programmez - DEVCON #3 : Le 23 mai 2017 Pourquoi microservices ? (2/) ● Technique – Communication entre les plateformes – Protocoles standard XML et HTTP – WebServices : ReST / JSON /… Soap ● Evolution IoT (Internet des Objets) – Communication Machine à machine (M2M) – 1 tâche = 1 module ● Technologie des conteneurs – Docker, Rocket, LWD...
  • 36. Programmez - DEVCON #3 : Le 23 mai 2017 Concept d'une architecture microservice ● Combinée à une démarche d'intégration et de livraison continue ● Accélérer les cycles de développements ● Rationaliser le cycle de livraison → plus stables → plus flexibles → améliore la qualité ● APM = Application Performance Management
  • 37. Programmez - DEVCON #3 : Le 23 mai 2017 Nouveaux enjeux et contraintes (1/) ● Identifier la granualité et la localité – Utilisation du monitoring pour cadrer les nombreux appels (WebServices) – Utilisation d'une architecture sous la forme de mécanismes d'une plateforme de colocation ● Mesurer les impacts des appels de fonctions distants – Les fonctions sont en mémoire – Evalué les appels vers le cloud (distance) – Problème de volumétrie
  • 38. Programmez - DEVCON #3 : Le 23 mai 2017 Nouveaux enjeux et contraintes (2/) ● Monitorer le réseau – Appelé Software-defined (SDNs) – Important – Réseau très utilisé → Appels entre les microservices – Communication avec le PaaS / déploiement dynamiques – Surcoût réseau, CPU, cables, routeurs
  • 39. Programmez - DEVCON #3 : Le 23 mai 2017 Nouveaux enjeux et contraintes (3/) ● Prendre en charge des technologies polyglottes – Approche du multi langage (voir développeurs) – Transactions avec différentes technologies ● PHP / Node.js / HTML5 ● SQL / NoSQL / NewSQL
  • 40. Programmez - DEVCON #3 : Le 23 mai 2017 Nouveaux enjeux et contraintes (4/) ● Monitorer les conteneurs – Emergence des conteneurs – Possibilité de couvrir et de monitorer automatique les conteneurs – Abstraction d'une configuration statique d'agents de monitoring
  • 41. Programmez - DEVCON #3 : Le 23 mai 2017 Nouveaux enjeux et contraintes (5/) ● Monitorer la plateforme – Faire la distinction entre ● Performance de l'application ● Performance de l'infrastructure dynamique – Résoudre les problèmes de latence – Outils de supervisions (en bruit de fond) –
  • 42. Programmez - DEVCON #3 : Le 23 mai 2017 En pratique Développement Plateforme Intégration GIT Les tests Plateforme  Validation PreProd Prod Les tests
  • 43. Futur
  • 44. Programmez - DEVCON #3 : Le 23 mai 2017 Futur : Economie des API ● Sont des éléments essentiels de l'IT des entreprises ● Disponible – Dans le cloud – Dans les systèmes traditionnels ● Au niveau de l'utilisation – Api réutilisables – Concevoir des services véritable → Du sur mesure au sein des entreprises ● Culture agile / DevOps Attendu depuis plusieurs années Attendu depuis plusieurs années