Vous êtes sur la page 1sur 22

M204 : DECOUVRIR LES ENJEUX DE LA TECHNOLOGIE SDN

Partie A : Comprendre les réseaux informatique en


nuage

Chapitre2 Présenter la IAC et la API

1
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

I) introduction
• Activité 1 : Déploiement d’une application

Il faut préparer les serveurs :


Installer l’application
Server setup

Configurer réseau Configurer l’application


Installer la BDD
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

I) introduction
• Activité 1 : Déploiement d’une application
꙰ Coût des ressources humaines

꙰ Plus d’effort et du temps

꙰ Autant d’erreurs possible

• Coût



Effort
Temps
Erreur
X2
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

I) introduction
Le pourcentage des activités
opérationnelles manuelles en data center
va tomber en-dessous des 50% d’ici 2021,
contre 80% seulement aujourd’hui.

(Gartner Magic Quadrant for Data Center


Networking 2018)
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


A) IAC C’est quoi ?
L'Infrastructure en tant que Code (IaC) est
un type d'infrastructure informatique que les
équipes d'exploitation peuvent automatiquement
gérer et approvisionner via du code, plutôt que
d'utiliser un processus manuel ou interactif.
L'infrastructure en tant que code est parfois
appelée infrastructure programmable
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


• A) IAC C’est quoi ?
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


• A) IAC C’est quoi ?
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


B) Enjeux d’automatisation
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


C) Type d'approches des outils IaC
L'Infrastructure as Code connait différents types
d'approches :
Déclarative Impérative
Quoi ? Comment ?
Ce que la configuration devrait Comment l’infrastructure devrait
être. être changée.

Cette approche définit un état Cette approche définit des


désiré et le système fait le commandes spécifiques à
nécessaire pour atteindre cet état exécuter pour obtenir l’état désiré
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


D) Comparatif des principaux outils IaC
Il n'y aurait pas un seul outil IaC qui
se suffirait à lui-même. En effet, si
certains peuvent tout faire, ils ne
sont pas nécessairement les plus
appropriés pour certaines tâches.
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

II) Infrastructure As Code


C) Comparatif des principaux outils IaC
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

Les APIs
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


• En tant qu’ingénieur/technecien réseau vous
avez l’habitude d’utiliser des interfaces en
ligne de commande à partir de consoles
traditionnelles (CLI et/ou GUI),
• Les APIs proposent une nouvelle manière de
configurer et de gérer les périphériques et les
infrastructures.
• Ce partie d’introduction a pour but de décrire
les caractéristiques des APIs de type REST
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


Les API RESTful sont les plus populaires pour
les applications d’automatisation des réseaux.
a) Définition :
Un API (Application Programming
Interface) est un ensemble normalisé de classes,
de méthodes et de fonctions pour manipuler des
objets / des ressources informatiques.
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


b) Caractéristiques des API Rest:
Une API REST possède un haut niveau de
certification, on le retrouve avec l’acronyme API
RestFull.
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


b) Caractéristiques des API Rest:
Une API REST (REprésentational State Transfer)
• Représentation : On transfert une
représentation d’une ressource entre un
serveur et un client.
Cela fera selon un format de données
(XML,JSON,YAML)(image1)
• Transfer d’état : signifie que chaque opération
avec l’API Rest est autonome
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


b) Caractéristiques des API Rest:
• Une API REST est une API qui fonctionne au-
dessus du protocole HTTP.
• Il définit un ensemble de fonctions que les
développeurs peuvent utiliser(dans tous les
langages de programmation ) pour effectuer
des requêtes et recevoir des réponses via le
protocole HTTP tel que GET,POST,PUT et
DELETE.
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


b) Caractéristiques des API Rest:
• L’accès à une ressource se fait à l’aide d’un URL.
• Une API peut être considérée comme «RESTful» si
elle possède les fonctionnalités suivantes:
• Client / serveur : Le client gère l'extrémité avant et le serveur
gère l'extrémité arrière. L'un ou l'autre peut être remplacé
indépendamment de l'autre.
• Sans état : Aucune donnée client n'est stockée sur le serveur
entre les requêtes. L'état de session est stocké sur le client. le fait
de ne pas garder l’état des sessions permet de gagner en
performance, d’éviter la saturation des ressources de traitement
• Cacheable : Les clients peuvent mettre en cache les réponses
pour améliorer les performances.
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


b) Fonctionnement des APIs REST basées sur HTTP
Les APIs REST basés sur HTTP sont définis par :
• URI de base : Un URI se désigne par un protocole
(https://), d’un serveur à joindre et éventuellement
d’un port explicite (api.example.com:55443) et d’un
emplacement
(/api/v1/interfaces/GigabitEthernet1/statistics) :
https://example.com:55443/api/v1/interfaces/GigabitEthernet1/statistics
• Méthodes HTTP standards (par ex.
: GET, POST, PUT et DELETE) ;
• Type de médias : Il s'agit souvent de JSON, YAML ou
XML
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API

III) Application Programming Interface API


c) Outils de manipulation d’APIs :
On manipule les APIs via différents outils :
• Un outil graphique comme Postman.
• Directement en Python.
• En Bash ou Powershell avec cURL et ./jq.
• A travers des outils de gestion de configuration
comme Ansible, Chef ou Puppet.
• Systèmes d'exploitation Réseau: À l'aide de
protocoles tels que NETCONF (NET CONFiguration)
et RESTCONF, les systèmes d'exploitation de réseau
commencent à fournir une méthode alternative
pour la configuration, la surveillance et la gestion
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API
POSTMAN
Partie A : Comprendre les réseaux informatique en nuage
Chapitre 2 : Présentation IAC et API
# importing the requests library
import requests
Exemple Api Python

# api-endpoint
URL = "http://maps.googleapis.com/maps/api/geocode/json"

# location given here


location = "delhi technological university"

# defining a params dict for the parameters to be sent to the API


PARAMS = {'address':location}

# sending get request and saving the response as response object


r = requests.get(url = URL, params = PARAMS)

# extracting data in json format


data = r.json()

# extracting latitude, longitude and formatted address


# of the first matching location
latitude = data['results'][0]['geometry']['location']['lat']
longitude = data['results'][0]['geometry']['location']['lng']
formatted_address = data['results'][0]['formatted_address']

# printing the output


print("Latitude:%s\nLongitude:%s\nFormatted Address:%s"
%(latitude, longitude,formatted_address))

Vous aimerez peut-être aussi