Tous les articles par Samson

Le serverless pour les nuls

Dans cet article, je vais donc vous expliquer les concepts les plus importants à retenir de l’architecture serverless

L’architecture serverless est un modèle de cloud computing dans lequel le client peut créer et exécuter ses applications sans devoir gérer la partie infrastructures et notamment les serveurs, d’où le terme “serverless”, ou “sans serveur” en français.

Evidemment, l’application, et notamment son code, s’exécute toujours sur des serveurs. Parce que oui, on a toujours besoin des infrastructures IT pour faire tourner les applications.

La particularité du modèle serverless elle est simple : le développeur doit juste fournir son code. Tout le reste est pris en charge par le fournisseur de services cloud.

Le modèle “serverless” va donc faire abstraction de la partie infrastructures IT  pour le développeur. Ce qui veut dire que Le développeur s’affranchit ainsi des contraintes de l’infrastructure et peut se concentrer sur son travail : le développement.

Evidemment, il y a des règles à respecter pour rentrer dans le modèle serverless

Premièrement, le développeur va devoir repenser la conception de son code.  En effet, le code d’exécution n’est plus celui de toute l’application, le code d’exécution doit être décomposée en fonctions. Chaque fonction a un seul et unique but. Et l’ensemble de ces fonctions forme l’application. 

D’où le terme « Function as a Service » (FaaS) souvent associé au “serverless”. Le développeur a la responsabilité de coder sa ou ses fonctions. Et Le reste, c’est à la charge du fournisseur de services cloud.

En gros, pour le développeur, ça veut dire :

  • Plus besoin de définir le nombre de serveurs, leur puissance, plus besoin de mettre en service, de mettre à l’échelle, d’entretenir, de superviser, de les mettre à jour, et toutes autres actions concernant la gestion des serveurs.
  • Mais aussi et c’est important : plus besoin de gérer le déploiement de son application  sur les différents serveurs. 
  • Finis aussi les problématiques de stockage, de load balancing ou d’autres problématiques réseau, etc

Pour le développeur, il faut juste déposer son code et le reste c’est le fournisseur de services cloud qui s’en occupe!

Passons au fonctionnement de cette « fonction »

Cette fonction va être déclenchée par des événements. Par exemple si la fonction est sollicitée par une requête HTTP. La requête déclenche l’exécution du code et donc la fonction. Et ici, la requête va déclencher la fonction qui va interroger une base de données (donc une action sur un autre service)

A noter que les événements déclencheurs peuvent être divers : que ce soit l’ajout d’un fichier sur un espace de stockage ou alors une nouvelle entrée dans une BDD

Ensuite, l’hébergeur cloud garantit le scaling automatique de la fonction selon les pics de trafic. Imaginons que la fonction B est beaucoup plus sollicitée que les autres, dans ce cas là, la fonction B sera exécutée plusieurs fois, cad que plusieurs « unités de travail » de la fonction B tourneront en parallèle pour répondre à la charge de travail en hausse. Ici B1, B2 et B3 sont la même instance de la fonction B mais tournant en en même temps pour répondre au pic de charge.

Et a contrario lors de faible charge, seules les unités nécessaires sont éxécutées. Ici la fonction A ne nécessite qu’une seule unité de travail pour traiter la demande.

Et s’il n’y a pas de sollicitation de la fonction alors elle n’est pas exécutée. Comme la fonction C ici que vous ne voyez pas car elle n’est pas lancée car non sollicitée.

Pour aller plus loin sur ce modèle d’architecture par fonctions, je vous invite fortement à regarder sur les microservices où j’explique plus longuement les spécificités de ce type d’architecture.

Autre point structurant du modèle serverless : la facturation

La facturation est basée sur les ressources consommées ou le temps réel d’exécution du code, avec quand même la milliseconde comme unité de paiement. Ce qui veut aussi dire qu’en l’absence de trafic, l’utilisateur ne paie rien.

C’est là tout l’intérêt économique du modèle “serverless”, fini le coût des serveurs : leur achats, leur gestion, leur entretiens, etc. surtout quand ceux ci sont sous utilisés

Et en plus, ce modèle de paiement à l’usage incite à l’optimisation de la performance du code. Réduire le temps d’exécution d’une application serverless permet de diminuer le coût du service, et donc la facture à la fin du mois

Exemple concret : AWS Lambda

Maintenant que vous avez compris le principe, voyons quelques services serverless, le plus connu est AWS Lambda. AWS Lambda est un service d’Amazon Web Services (AWS) et il va suivre les principes que l’on a vu :

  • Il exécute le code seulement quand c’est nécessaire.
  • AWS lambda s’adapte automatiquement à la charge de travail
  • Et le client ne paye que le temps de calcul utilisé.

Le prérequis est d’avoir un code dans un langage compatible avec AWS Lambda comme Node.js, Java, C#  et Python et respecter le temps limite d’exécution de la fonction

Là je parle d’AWS parce que c’est l’offre que je connais le mieux. Mais c’est la même logique derrière Azure Functions de Microsoft et Google Cloud Functions de Google Cloud.

Allez maintenant, on va voir à quoi ressemble une architecture serverless sur AWS

Architecture serverless AWS

L’architecture serverless est la plupart du temps une conception en fonctions qui vont déclencher des actions sur d’autres services.

Dans notre exemple, les 2 fonctions sont développées en utilisant AWS Lambda et sont exposés via une API avec le service AWS API Gateway. Ces API sont le point d’entrée qui déclenche la fonction Lambda voulu.  Ici, on est sur un site web proposant la vente de cookies. Ici le client va demander la liste des cookies vegan. Dans ce cas, la fonction Lambda « Liste » extraire la liste des cookies avec que des ingrédients vegans. Ce qui déclenche le traitement du service dans le service de base de données DynamoDB. Ensuite, Lorsque le client fait un achat de cookies, il déclenche une fonction lambda « Achat » qui enregistre cette entrée dans AWS DynamoDB  

Ensuite, l’architecture serverless est adaptée pour la construction de workflows automatisés basées sur les fonctions Lambdas qui vont servir de liens entre les différents services AWS.

Dans cet exemple : Un nouveau fichier est déposé sur un bucket S3 (bucket S3 étantun service d’espace de stockage dans le cloud). Cette action déclenche une fonction qui va le décompresser et l’insérer dans DynamoDB. Cette écriture dans Dynamo DB va lui même déclencher une autre fonction Lambda qui va lancer le service SNS pour envoyer un SMS de notification

Les limites du modèle

Le serverless n’est pas adaptés à tous les cas d’usage. Les contraintes de temps d’exécution du serverless ne sont pas adaptées pour l’exécution de tâches lourdes et complexes (comme le traitement vidéo par exemple). et plus généralement les applications qui ont un trafic constant. Il y a donc une nécessité de bien concevoir l’architecture d’une application en amont : cela permet de décider si une architecture serverless convient pour l’application.

Enfin, dernière contrainte de ce modèle : c’est la forte dépendance au fournisseur de services cloud et plus particulièrement à son framework : chaque fournisseur de service cloud impose des règles différentes (timeouts, langages supportés, etc.). Ce qui veut dire que pour migrer après ça va être très compliqué. Vous êtes souvent donc prisonnier des règles du fournisseur de services cloud qui peuvent changer.

 

La Transformation digitale / numérique pour les nuls

Le développement technologique s’accélère et les innovations sont de plus en plus nombreuses.  Face à ces changements inévitables, les entreprises ont le choix :

  • Soit elles s’adaptent en s’appropriant ces nouvelles technologies pour innover
  • Soit elles peuvent ne pas réagir et mourir, dépassé par les concurrents qui auront réussi à tirer bénéfices de ces nouvelles technologies.

Et c’est en ça que la transformation numérique est vitale pour les entreprises.

Alors en quoi consiste la transformation numérique( ou appelé aussi transformation digitale)?

 

Il s’agit d’un processus continu permettant aux entreprises d’intégrer les nouvelles technologies, comme par exemple le cloud, l’IoT ou l’intelligence artificielle, et ceci à tous les aspects de leurs activités et aux différents niveau de l’entreprise.

Mais attention, la transformation numérique, ce n’est pas que des problématiques technologiques, il y a un aspect humain très important. Que ce soit par exemple une nouvelle culture à mettre en place, une nouvelle façon de gérer l’humain ou une nouvelle approche des métiers et des process, etc

La transformation numérique est donc une transformation globale de l’entreprise.

 

L’objectif c’est de capitaliser sur ces nouvelles technologies pour créer de la valeur et bénéficier de nouvelles opportunités business.

Sinon il y a risque de se faire damer le pion face par des concurrents plus rapide, ou alors par les GAFA championne du numérique mais aussi par nombreuses start-up qui menace les positions des plus grandes entreprises.

 

Maintenant qu’on a vu les enjeux, voyons 3 piliers cles d’une transformation numérique réussie  :

Le premier est l’expérience client qui doit être une priorité. Pour l’optimiser, les entreprises doivent tirer le meilleur du digital pour pouvoir satisfaire, fidéliser et faire rêver le client. Sinon il ira voir ailleurs. Les nouvelles technologies du digital permettent ainsi de créer de la valeur pour le client.

Pour être un peu plus concret, je vais prendre l’exemple des nouvelles technologies autour de la donnée. La donnée est considéré aujourd’hui par tous comme un élément clé dans cette révolution numérique.

Les entreprises qui vont se demarquer sont celles qui vont maitriser les technologies capable de capitaliser sur ces données pour en créer de la valeur. par exemple avec le big data, et l’intelligence artificielle,

 

Le deuxième pilier est une organisation tournée vers l’agilité . Dans un marché changeant et incertain; être agile est fondamental pour mieux s’adapter aux changements et inbtégrer rapidement les nouvelles technologies. Les projets sont alors plus nombreux et plus rapides à mettre en place.

Cela passe par la simplification de l’organisation de l’entreprise mais aussi les bonnes pratiques pour permettre d’être plus réactif. Par exemple les principes du lean start-up, les méthodes agiles ou le devops.

L’objectif de tout ça est d’avoir surtout avoir un  « time to market » rapide! Le time to market c’est le délai entre la naissance d’une idée et sa mise en place sur le marché. Ce qui veut dire que plus le Time To Market est rapide, plus l’entreprise aura des chances de saisir les opportunités business en proposant des produits ou services intégrant les dernières technologies

Essayer, s’adapter et évoluer en permanence devient un mode de fonctionnement pour les entreprises.

 

Enfin dernier pilier :  La transformation est avant tout une question d’humains !Rassembler les collaborateurs autour d’une vision commune est essetntiel. La simplification de l’organisation et donc la suppression des silos favorise le travail collaboratif, l émerge,ce d’idées et les prises d’initiatives, tout ça étant nécessaires pour développer l’innovation.

Il est aussi primordial attirer, développer et fidéliser les meilleurs profils. Parce que oui, c’est aussi une guerre des talents.

 

La petite histoire de Linux (en dessins)

Aujourd’hui, je vais vous raconter des anedoctes sympas sur la naissance de Linux

 

Première chose à retenir sur Linux parce qu’il y a pas mal de confusion :

  • Linux est un noyau, c’est pour ça qu’on parle d’ailleurs de “Linux kernel”. Kernel veut dire noyau en francais.
  • Et en gros, c’est ça qui permet de démarrer, de faire la liaison entre le matériel et le système de la machine, ainsi que de faire la liaison entre les applications installées sur la machine.

Le hic c’est qu’on ne peut pas utiliser ce noyau seul. Il faut un environnement (des logiciels autour du noyau afin que tout marche bien : des pilotes,, de quoi gérer la machine, etc). 

C’est là où la notion de distribution apparaît :

  • On parle de distribution GNU/Linux quand il s’agit d’une solution prête à être intallée par l’utilisateur final sur sa machine. 
  • Cette distribution GNU Linux  comprend un noyau Linux ainsi que des logiciels sous Licence GNU, en gros on va dire que ce sont des logiciels libres qui complètent le noyau pour avoir un système d’exploitation complet.
  • Il est à noter qu’on peut aussi très bien trouver des distributions qui ne contiennent pas seulement les logiciels GNU, il y a parfois d’autre logiciels non GNU.

Bref, c’est ce noyau Linux + des logiciels complémentaires qui vont permettre d’avoir un OS complet.

Voici des exemples de systèmes d’exploitation “Linux » :

  • Red Hat Enterprise Linux
  • Fedora Linux
  • Debian Linux
  • Ubuntu Linux

Ensuite il y a aussi souvent une autre confusion entre Linux et UNIX. Alors quelle différence?

  • Déjà pour l’anecdote sachez que le système d’exploitation “Linux” a été créé dans le but de fournir un équivalent libre au système Unix.
  • Linux est un clone d’UNIX en version libre et écrit à partir de zéro par Linus Torvalds, le createur du noyau Linux donc,  avec l’aide d’une équipe d’informaticiens.
  • Par contre UNIX regroupe un ensemble de systèmes d’exploitation différents. Ce ne sont donc pas juste des noyaux mais bien des OS complets
  • Comme exemples de système Unix connus, on a HP-UX, IBM AIX, Solaris Sun

Maintenant on va un peu s’intéresser au père de Linux : 

En 1991, l’étudiant finlandais Linus Torvalds qui a alors 22 ans, commence le développement d’un noyau de système d’exploitation alternatif à MINIX, qui est un clone d’UNIX utilisé à des fins pédagogiques pour des étudiants. Linux va au final créer avec son nouveau noyau une alternative à UNIX.

Après quelques mois, Il diffusa le code de son travail via un compte FTP de l’Université d’Helsinki. Et pour la petite anecdote le dossier contenant ces travaux a été nommé « Linux » par un administrateur du serveur FTP.  Linux pour « Linus UNIX » ou en français l’UNIX de Linus. Et par la suite, ce nom restera.

Linus publie par la suite ses travaux sur Internet en demandant à d’’autres développeurs de l’aider pour le finaliser. Aujourd’hui Linus continue de diriger le développement du noyau Linux

 

Concernant la mascotte officielle de Linux, il s’agit d’un manchot du nom de TUX. TUX étant un acronyme composé des mots Torvalds et UNIX.  A noter que beaucoup pensent à tort que la mascotte de Linux est un pingouin, notamment parce qu’en anglais, le mot « manchot » se dit « penguin », mais TUX est bien un manchot  

La différence ?

Le pingouin est un oiseau de l’hémisphère nord qui peut voler, alors que le manchot est un oiseau qui ne vit que dans l’hémisphère sud et qui est incapable de voler En gros hein!

 

Aujourd’hui, bien que peu présent sur les postes de travail, Linux est beaucoup plus présent dans le monde des serveurs

Le noyau Linux équipe aussi la plupart des systèmes embarqués (box, robots, aérospatial, drones…). mais aussi les supercalculateurs

Et pour terminer, comme vous le savez sûrement déjà, Linux domine le marché des smartphones via l’OS Android qui s’appuie sur un noyau Linux

 

Les algorithmes nous contrôlent-ils ?

Aujourd’hui on va parler des algorithmes, le buzzword du moment!

Quand le moteur de recherche Google te propose des résultat de recherche, c’est en fait un algorithme qui va décider des résultats qui te seront présentés et leur classement.

Quand Netflix te conseille une série, c’est pareil, c’est un algorithme qui va te faire ces suggestions.

Les news qui vont apparaître sur ton fil d’actualité et leur ordre, c’est aussi un algorithme. Pareil pour l’ordre des photos et des stories sur Intagram, là aussi c’est un algorithme qui organise tout ça.

Le pouvoir des algorithmes est d’autant plus important que le numérique fait partie intégrante de notre vie (smartphone, les objets connecté, service en ligne, applications, etc). Et quand tu regardes un peu ce qu’en pense les médias c’est encore plus anxiogène. Tu as juste l’impression d’être l’esclaves des algorithmes, qu’on a perdu notre libre arbitre qu’ils nous lavent le cerveau.

Alors, Les algorithmes nous contrôlent-ils tous?  Je fais cette vidéo pour un peu demystifier tout ça justement. Qu’est ce qu’il y a derrière les algorithmes, tout ce que vous devez savoir sur le sujet et savoir quels sont les vrais enjeux des algorithmes et leur réel pouvoir.

 

Déjà voyons ce qu’est un algorithme : un algorithme, c’est tout simplement une suite d’instructions permettant de résoudre un problème. Et ces instructions doivent pouvoir être applicable mécaniquement, sans réfléchir, pour arriver à un résultat.

 

Les premiers algorithmes auquels on pense ce sont forcément les algorithmes mathematiques. Rappelez vous en primaire… La fameuse division euclidienne pour trouver le plus grand commun diviseur. Vous avez dû apprendre cet algorithme pour arriver à trouver le plus grand commun diviseur entre 2 nombres entiers.

M’enfin, au dela des mathématiques, il y a bien plus simple comme algorithme dans la vie de tous les jours,

Lorsque vous suivez une recette de cuisine pour faire un gateau. Si vous suivez bien la recette avec les bon ingrédients, à la fin le resultat c’est le gâteau. La recette c’est en fait un algorithme avec une suite d’instructions à éxécuter étape par étape pour faire ce gâteau. 

Transposé à l’informatique, les algorithmes permettent tout simplement de dire à un programme informatique tout ce qu’il doit faire. Les concepteurs de programmes informatiques vont définir dans l’algorithme une suite d’opérations logiques pour un arriver à un résultat voulu. Tout ça sera ensuite codé dans un langage informatique adapté pour pouvoir être appliqué automatiquement par le programme informatique.

 

Ce sont les algorithmes qui définissent les actions des bots. Ce sont les algorithme qui vont décrire les tâches spécifiques que doivent réaliser ces programme informatique. Par exemple, les algorithme sont derrière les moteur de recherche, les fameux bot twitter qui font des actions spécifiques comme retweeter ou liker un mot clé spécifiques défini, et ce sont les algorithmes qui sont derrière l’intelligence des chatbot comme ceux sur messenger ou bien même les assistants vocaux comme Siri ou Alexa.

Evidemment, il y a quand même une grosse différence entre l’algorithme simple du bot twitter qui fait que retweeter bêtement ce qu’on lui a dit  aux algorithmes de facebook, netflix ou amazon qui sont capable de s’adapter aux consommateurs.

Cette différence c’est ce qu’on appelle le machine learning.

Le machine learning c’est en gros quand l’algorithme va utiliser vos données pour apprendre et faire des actions plus efficaces. Les algorithmes ne sont maintenant plus seulement les instructions de base programmées par un développeur. Ils sont capable d’apprendre.  La machine peut générer de nouvelles instructions en apprenant à partir à la masse de  données qui lui sont fournies.  Ces données sont notamment des données personnelles que vous leur fournissez sur vous

Et c’est comme ça que les algorithmes semblent parfois bien connaître nos goûts, nos envies et nos besoins.  Et là vous pensez aux suggestions d’Amazon qui des fois sont vraiment bluffantes car c’est ce que vous vouliez, la playlist spotify qui vous ait proposé et qui correspondent bien à vos goûts

 

je vais vous prendre un exemple sympa.

L’objectif  de netflix c’est de vous faire rester le plus longtemps sur sa plateforme parce que c’est l’abonnement qui va rémunérer netflix. Du coup, pour que vous restiez sur la plateforme le but c’est que vous consommiez toujours plus de contenu.

La mission de l’algorithme c’est de faire en sorte que vous consommiez toujours plus de contenu

C’est pour ça que l’algorithme doit apprendre à connaitre vos goûts pour vous pousser vers les séries ou films susceptibles de vous faire continuer à regarder plus.

Saviez vous que Netflix va jusqu’à personnaliser les vignettes des series en fonction des données que netflix possède sur vous.

Cela a été fait avec Stranger things :

L’algorithme Netflix est capable de « prédire la probabilité que vous cliquiez sur un contenu en fonction d’une image donnée » et la vignette avec la plus forte probabilité de vous faire cliquer sera affichée par l’algorithme Netflix. C’est comme ça que Netflix arrive à vous faire regarder le plus de série possible

Que ce soit Instagram, Facebook, Amazon, Youtube, aujourd’hui ces algorithmes complexes ont besoin de données sur vous pour être plus performant. Un des éléments clés à retenir c’est que sans vos données personnelles, ces algorithmes ne seraient pas aussi puissants. D’où l’importance de bien maitriser ses données personnelles en ligne.

En tout cas, avec le machine learning, on entre dans la notion d’intelligence articielle. On parle de machine learning pour désigner la capacité d’une machine à apprendre et donc évoluer.

La machine acquiert alors  de nouvelles connaissances qu’on ne lui avait pas programmés au départ. La machine apprend, s’améliorer et ‘évoluer d’elle même grâce à de nouvelles données. C’est pour cela qu’on parle d’intelligence artificielle.

 

Avec ce que l’on vient de voir, on peut constater une chose : ces algorithme ne sont pas NEUTRE. et c’est important de le prendre en compte. Ils ont été conçus et codé par des développeurs qui leur a transmis une façon de fonctionner et un objectif à atteindre que ce soit les news sur fil d’actualité sur facebook, l’exemple des résultats de recherches Google, l’ordre des stories et photo sur Instagram, etc

On a l’impression que c’est objectif mais il est important de retenir que ce des gens qui derrière tout ça on mis en place des critères de classement en fonction de leurs objectifs et de ses préjugés, de contraintes. Quand on parle d’algorithme on a l’impression que c’est neutre. Alros que cela peut masquer des convictions politiques, des objectifs financiers, des stratégies d’entreprises, etc. D’ailleurs les GAFA restent très discret sur le fonctionnement des algorithmes. et comme on l’a vu dans la vidéo c’est parce qu’il y a de réels enjeux derrière.

C’est important d’avoir du recul sur l’action des algorithmes et de savoir qu’ils ne sont pas neutre pourempêcher que les GAFA et des entreprises du numérique de  transférer leur responsabilité sur les algorithmes. Lorsque facebook a été utilisé ou plutot leur algorithme détourné pour propager des fake news notamment pour les élections américaines de 2016, c’est de la faute de facebook, l’algorithme c’est juste l’épouvantail. Facebook a une responsabilité de l’utilisation de sa plateforme et de ce qui en est fait (et là je vous parle meme pas des données). 

Les gens qui ont reussi à hacker ont détourné l’algorithme à leur avantages pour diffuser des fake news. C’est à Facebook d’en assumer la responsabilité, ils sont responsable de leur algorithme. 

 

Le DNS pour les nuls

Sur Internet, quand vous voulez accéder à un site web via votre navigateur, on va utiliser ce que l’on appelle un nom de domaine, par exemple cookieconnecté.fr, Wikipedia.org, Youtube.com …

Bref, c’est l’adresse du site web que vous tapez sur votre navigateur.

Dans la réalité, votre navigateur, lui il va avoir besoin de l’adresse IP du serveur sur lequel est hebergé votre site web. Par exemple 194.153.205.26

L’adresse IP est un numéro d’identification qui est attribué  à chaque appareil connecté à un réseau informatique utilisant l’Internet Protocol (d’ailleurs le IP c’est pour Internet Protocol). En gros, ca veut dire que chaque ordinateur connecté à internet possède une adresse IP.

Sauf que vous l’avez compris ce serait un peu compliqué pour nous de retenir ces adresses IP. Et c’est là qu’intervient le DNS (Domain Name System) qui va “traduire” ces noms de domaines en adresses IP. La résolution de noms de domaines, c’est la corrélation entre les adresses IP et le nom de domaine associé.

Les serveur DNS sont tout simplement des serveurs qui font la correspondance entre les adresses IP et les noms de domaine associés.

 

Maintenant, voyons comment tout ça marche un peu plus dans le détail. Je vais vous expliquer maintenant à la notion de Hiérarchie  DNS

Le système des noms de domaine est en fait une hiérarchie dont le sommet est appelé la racine. On représente cette dernière par un point “.” pour info ce point n’apparait pas dans les addresses de site web qu’on utilise sur Internet mais c’est bien le plus haut niveau.

Les domaines se trouvant immédiatement sous la racine sont appelés domaine de premier niveau “.fr”, .com, .org, etc (ou top domain level en français)

Dans un nom de domaine, les domaines successifs sont séparés par un point, les noms de domaines supérieurs étant à droite. Le domaine wikipedia.org. est un sous-domaine de .org. et vous l’avez compris fr.wikipedia.org est un sous domaine de fr.wikipedia.org

Il est possible d’avoir plusieurs sous-domaines ainsi qu’une délégation, c’est-à-dire une indication que les informations de ce sous-domaine sont enregistrées sur un autre serveur.

On peut voir fr.wikipedia.org comme un sous domaine hébergé sur un serveur spécifique par exemple et de.wikipedia.com sur un autre serveur spécifique

La résolution des noms de domaines est réalisée en parcourant la hiérarchie depuis le sommet et en suivant les délégations successives.

 

Voyons maintenant comment se passe la résolution du nom de domaine avec un navigateur

Imaginez que vous entrez fr.wikipedia.org dans votre navigateur. votre navigateur doit commencer par le résoudre en une adresse IP. tous simplement Parce qu’il faut qu’il sache à quel serveur se connecter.

Ici, on va taper fr.wikipedia.org sur notre navigateur. Il va alors s’adresser à un serveur dit “récursif”.

Pour information, les fournisseurs d’accès à Internet mettent à disposition de leurs clients ces serveurs récursifs par défaut quand il se connecte à Internet. Mais Il existe également des serveurs récursifs ouverts comme ceux de Google Public DNS ou OpenDNS ou Cloudfare

Quand un serveur DNS récursif doit trouver l’adresse IP de fr.wikipedia.org, un processus itératif commence pour consulter la hiérarchie DNS du nom de domaine :

  • Ce serveur demande aux serveurs DNS de nom racine quels serveurs peuvent lui répondre pour la partie org.
  • Le serveur va indiquer quels serveurs connaissent l’information pour la zone wikipedia.org.
  • Ensuite, ce serveur donnera à son tour l’information pour avoir l’adresse IP du serveur hébergeant fr.wikipedia.org. car il connait déjà l’adresse IP du serveur hébergeant le sous domaine fr de wikipedia.org

Et une fois que vous avez l’adresse IP de ce domaine, le navigateur y accède est affiche la page demandée