Passer au playerPasser au contenu principal
  • il y a 4 mois
FRnOG 42 - Steven Le Roux (Clever Cloud) : VPC / Virtualisation Réseau

Catégorie

🤖
Technologie
Transcription
00:00Bonjour tout le monde, re-bonjour tout le monde.
00:02On y va ou pas ?
00:04C'est toi qui me donnes le timing ou...
00:05C'est parti. C'est parti, t'as 15-20 minutes.
00:08Vas-y. S'il y a des questions
00:10ou quoi que ce soit, vous criez parce qu'avec les
00:11projets, je vois rien du tout.
00:14Alors,
00:16bref, présentation,
00:22on a déjà fait. Tout est parti
00:23d'un petit tweet que j'ai fait à un moment donné
00:25où j'ai montré
00:27un peu ce qu'on faisait sur des cartes hardware
00:29de Calray. Et puis, Philippe m'a dit
00:31« Eh, tu ne veux pas venir montrer
00:33un peu ce que tu fais avec ? » Je dis « Ok,
00:35du coup, il faut que je raconte une histoire
00:37pour montrer un peu ce qu'on est en train de faire avec. »
00:41On va
00:41parler donc VPC, comme le dit
00:43le titre de cette présentation.
00:47Alors oui, parce que tu m'as dit
00:47VPC, mais en 15 minutes. C'est un peu...
00:50Je vais faire vite.
00:52Et donc, pour construire notre
00:53réseau, on avait
00:54des besoins et on avait aussi
00:57des volontés. Donc, les volontés qu'on voulait,
00:59c'est qu'on voulait un réseau qui soit déterministe au possible
01:02et on voulait éviter
01:03tout dynamisme dedans. C'est-à-dire
01:05enlever tout ce qui annonce BGP
01:07d'IP public qui se balade dans la fabrique.
01:10On voulait une simplicité
01:12à l'usage. Donc, ce que j'ai expliqué tout à l'heure,
01:13c'est qu'effectivement, on a des équipements
01:15qui sont des distributions Linux
01:17et puis on les opère comme des serveurs.
01:19On n'utilise que du L3
01:21en forward et on ne fait
01:23absolument aucune terminaison
01:26réseau sur un équipement
01:27réseau. C'est-à-dire qu'on ne fait pas de
01:29virtualisation réseau au sens
01:31VTEP, etc., sur les équipements.
01:34On fait tout ça sur les hyperviseurs
01:36de manière à avoir le contrôle technologique
01:38de ce qu'on fait et de comment on le fait.
01:41Et il y a un autre pattern
01:42qui pose problème, c'est qu'aujourd'hui, on ne fait pas de bar
01:43métal, mais si on en fait demain, on aura
01:45le même problème que les scaleways,
01:48OVH, etc.,
01:49qui sont nos amis dans la salle et qui ont
01:51ce problème. C'est qu'en fait, ils cumulent
01:53des déploiements avec des générations
01:55d'équipements et à un moment donné,
01:57quand on veut faire évoluer le modèle de réseau,
01:59il y a toujours la génération précédente qui vous limite
02:02en termes d'équipement réseau.
02:04Donc soit il faut tout monter
02:06en version ou en équipement,
02:07ce n'est pas forcément simple, c'est lourd
02:09en coûts, etc. Et donc, si on peut
02:11tuer ce problème à la base, autant le faire.
02:14Donc, on a besoin d'équipements
02:16débiles, même si je note
02:18que chez Nokia, il y a plein d'équipements très
02:19intelligents.
02:20Mais ils ont aussi des très bons
02:24équipements, très performants pour faire
02:25des choses débiles.
02:28Ensuite, on a besoin d'un réseau
02:29qui puisse être mis
02:32à l'échelle, c'est-à-dire qu'on va développer
02:33des fonctions réseau dans le réseau
02:35pour aller faire
02:37du filtrage, du load balancing, etc.
02:39Et on a besoin que tout ça puisse s'accompagner
02:41quand même à l'échelle
02:43en fonction des
02:44patterns de flux
02:47de certains clients.
02:49et pour les topologies, on n'a rien
02:51d'atypique, c'est du
02:53cloud network fabrique très standard
02:55qui passe très bien à l'échelle.
02:57En tout cas, quand on voit ce que fait
02:58Facebook, on n'en est pas du tout là,
03:00donc on est assez tranquille là-dessus.
03:02Pour autant, on a besoin que ce soit aussi
03:03programmable le FAS, c'est-à-dire
03:05le Function as a Service.
03:06Chez nous, c'est un service qui
03:07boot du compute en fonction
03:09et les VM à froid
03:11boot en
03:11millisecondes et à chaud
03:15en nanosecondes.
03:16Donc, en nanosecondes,
03:19je n'ai pas du tout
03:19du tout le temps de faire une élection
03:21d'interface sur un équipement,
03:22de remonter l'interface sur une VM,
03:24d'attacher l'interface,
03:25de dire OK, c'est bon,
03:26voilà ton IP, c'est bon,
03:27tu peux envoyer un paquet.
03:28C'est hyper long en termes
03:30d'orchestration.
03:31Moi, ce que je veux, c'est dire
03:32OK, en fait, en nanosecondes,
03:33la fonction s'exécute,
03:34elle envoie son paquet,
03:35Fire and Forget, c'est fini.
03:37Et donc, pour ça,
03:38j'ai besoin d'une techno
03:39un peu spécifique.
03:41Mais c'est là où vous allez
03:42comprendre que, en fait,
03:43cette techno-là,
03:44elle doit être conciliée
03:45avec les autres services.
03:46Parce que quand vous avez
03:47du fonction as a service,
03:48ça parle potentiellement
03:49aussi dans le même réseau
03:50ou le même réseau privé
03:51que votre application
03:53en base de données
03:54ou je ne sais quoi.
03:55Donc, tout ça doit marcher
03:56de concert et en cohérence.
03:58Et du coup, ça impose
03:59un modèle de développement
04:00du réseau qui est un peu spécifique.
04:01Évidemment, tout est pilotable.
04:03On est cloud provider,
04:05c'est-à-dire que tu ne vas pas
04:05monter ta VM
04:06et puis envoyer un technicien
04:07mettre les interfaces à la main
04:10en disant
04:10oui, la VM arrive
04:11mais le réseau viendra demain.
04:14Et d'un point de vue sécurité,
04:15aujourd'hui,
04:16l'encryption est gratuite.
04:17Donc, en fait,
04:19c'est accéléré au niveau CPU,
04:20au niveau float, etc.
04:21Donc, pourquoi s'en priver
04:22si on peut l'utiliser ?
04:24On a évidemment besoin
04:25d'isolation et de contrôle
04:26en termes d'accessity,
04:29ce genre de choses.
04:32Alors, j'ai mis un petit rappel,
04:33mais tout le monde est à l'aise
04:34avec la notion d'overlay,
04:35underlay ou pas ?
04:37Qui n'est pas à l'aise ?
04:38Enfin, qui est à l'aise plutôt ?
04:40C'est le plus facile
04:40dans ce sens-là.
04:41Donc, pas tout le monde.
04:42Je vais faire un petit rappel.
04:44En bas, vous avez vos sites géographiques.
04:47Ensuite, vous avez votre réseau optique.
04:49Puis, là-dessus,
04:50vous portez l'underlay.
04:52Alors, ce qui est particulier chez nous,
04:53c'est que l'underlay,
04:54vous voyez qu'il termine
04:54effectivement sur les HV,
04:56HV pour hyperviseur.
04:59Et là-dessus,
04:59on construit l'overlay.
05:00L'overlay, c'est le réseau
05:01qui va voir le client final,
05:03l'utilisateur.
05:04Et donc, par exemple,
05:06chez OVH,
05:07ça s'appelle un VRAC,
05:09s'il y en a qui connaissent.
05:11Et donc, cet overlay,
05:12c'est le réseau
05:13que l'utilisateur voit,
05:14mais il ne voit absolument pas
05:16tout ce qui se passe en dessous.
05:17L'underlay,
05:17ce n'est pas du tout son topo.
05:20Et ça permet de fournir
05:22comme architecture produit,
05:26après, on parlait de produit,
05:27n'est-ce pas ?
05:28De fournir quelque chose comme ça
05:30avec une notion de subnet,
05:31d'ACL,
05:33de VPC peering,
05:35etc., etc.
05:36Et des services
05:37comme du firewalling,
05:39du load balancer.
05:41Je ne vais pas en détail
05:42sur ce qu'est un produit de VPC,
05:44mais ça, c'est vraiment
05:45ce qui va être présenté
05:46à l'utilisateur.
05:47Donc, c'est des primitives
05:48fonctionnelles de base
05:50qui permettent ensuite
05:50de construire sa propre architecture.
05:53Donc, maintenant qu'on a
05:54ces choses en tête,
05:56en fait, il y a besoin
05:57de construire un réseau.
05:57Et donc, pour ça,
06:00on va évidemment vouloir
06:01maximiser les performances.
06:04Et vous verrez que
06:04ce n'est pas si gratuit que ça,
06:05en final,
06:06en fonction des choix.
06:08On va vouloir pouvoir
06:09activer des services à chaud
06:11dans le traitement de flux.
06:13Et donc, ça peut vouloir dire
06:14de bénéficier de services
06:16chaining.
06:17Et on va vouloir
06:18optimiser un peu les choses
06:20et donc potentiellement
06:21éviter des encapsulations
06:22qui ne sont pas forcément nécessaires.
06:24Donc, le choix est évident aujourd'hui.
06:26C'est-à-dire qu'il faut faire ça
06:26en IPv6 natif.
06:29Pour quelles raisons ?
06:30Parce que,
06:31alors,
06:31ça dépend des équipements.
06:33Mais globalement,
06:34comme les tailles de headers
06:35sont fixes sur IPv6,
06:37ça permet d'avoir
06:37un forward beaucoup plus rapide.
06:40Même si les accélérations
06:41sont plutôt bonnes
06:42en V4 aussi,
06:43il ne faut pas croire.
06:44Mais globalement,
06:46en V6,
06:47on s'évite un peu de legacy
06:49au niveau des traitements
06:50de headers, etc.
06:50Et sur certains équipements,
06:52ça permet de gagner
06:52quelques petites microsecondes.
06:56Ça permet aussi
06:56d'utiliser les jumbogrammes.
07:00Jumbogramme,
07:00que l'on connaît ?
07:01Non, peut-être pas.
07:02Alors, jumbogramme,
07:03c'est comment on fait
07:03un paquet qui va jusqu'à 4 GB.
07:08On n'a pas tous les besoins,
07:09mais c'est sûr
07:12que si on fait
07:12une archi micro-service,
07:13on va être beaucoup plus
07:14sur un usage de messaging.
07:17Mais dans un cloud provider,
07:19vous allez avoir des usages
07:19très orientés data.
07:21Par exemple,
07:22en object storage,
07:23sur du parquet file
07:24ou ce genre de choses.
07:25Et donc,
07:25c'est des gros volumes
07:26de données
07:26qui permettent
07:27de faire du compute.
07:29Et si,
07:29dans votre gros volume
07:30de données,
07:31vous êtes capable
07:31de moins le découper
07:33et de transporter
07:34moins d'encapsulations
07:35en ayant
07:37un plus gros paquet
07:38qui part,
07:39vous gagnez à la fin
07:40tout ça.
07:41Et on va pouvoir
07:43bénéficier
07:43de la capacité
07:44au niveau IPv6
07:45d'avoir le next header
07:46qui permet
07:46de venir faire
07:47des petites choses
07:48un peu magiques
07:48au niveau du traitement
07:50des paquets.
07:50Donc,
07:53on a notre underlay
07:54qui est notre réseau
07:55IPv6 fonctionnel
07:57de base
07:58qu'on va retrouver
07:59sur tous les hyperviseurs
08:00qui vont terminer
08:00la virtualisation réseau
08:02du point de vue utilisateur.
08:03Et on va introduire
08:04le concept de Edge.
08:05Alors,
08:06le Edge,
08:06c'est quoi ?
08:07C'est quelque chose
08:07qui va se mettre
08:08en bordure,
08:09c'est une vue fonctionnelle,
08:10en bordure
08:10de l'underlay
08:11pour faire
08:12le pont
08:14entre
08:14mon underlay
08:16qui n'est pas visible
08:16utilisateur
08:17et mon overlay
08:18qui est un domaine
08:20dans lequel on va avoir
08:20un utilisateur
08:21ou une fonction
08:23autre que celle
08:24de l'underlay.
08:26Et donc,
08:27on va trouver,
08:28arrivé là,
08:28des private edges
08:29qui vont permettre
08:30d'implémenter
08:31ce qu'on va appeler
08:32les VPC utilisateurs
08:33à la fin.
08:34Et donc,
08:35les machines
08:35d'un utilisateur
08:36vont être cantonnées
08:37à ce domaine
08:38de VPC.
08:40On va pouvoir
08:41faire parler
08:42différents VPC
08:43entre eux
08:44par une fonction
08:44qu'on va appeler
08:45VPC peering,
08:46par exemple.
08:47Et donc,
08:47on va dire,
08:48ok,
08:48toi,
08:48est-ce que tu veux
08:48parler à ton voisin ?
08:49Oui,
08:50vous avez le même subnet,
08:51mettez-vous d'accord,
08:52qui veut natter,
08:53qui ne veut pas natter,
08:53etc.
08:54Mais une fois que tout le monde
08:55s'est mis d'accord,
08:55on peut dire,
08:56ok,
08:56maintenant,
08:56ça route entre
08:57les différents tenants
08:59en question.
09:02On va trouver
09:02un public edge.
09:03Donc,
09:03le public edge,
09:04c'est celui qui va faire
09:05la conversion du trafic public
09:06internet
09:07vers les machines.
09:09Et donc,
09:09il va arriver à travers
09:11l'underlay,
09:11sauf que,
09:12comme je l'ai dit,
09:12on ne veut pas
09:13transporter d'IP public.
09:15Donc,
09:15ça veut dire que les IP publics,
09:16même si un utilisateur
09:18la voit sur sa machine VM,
09:20en fait,
09:20elle n'est pas sur sa machine VM.
09:21Elle est uniquement
09:22sur le public edge
09:23et on lui fait croire
09:24qu'elle est sur sa machine
09:25derrière.
09:26Mais en fait,
09:26on va transporter tout ça
09:27en encoding de paquets,
09:29comme je l'explique
09:30un peu plus tard.
09:31mais tout ça est virtuel
09:32et au moins,
09:33on assainit
09:34l'underlay
09:35avec pas d'annonce BGP.
09:37Ce qui est le problème
09:37d'OVH aujourd'hui,
09:38par exemple,
09:38c'est que les IPFO,
09:40les IPFO,
09:41c'est des IP publics
09:42qui sont transportés
09:43partout dans le réseau.
09:44Et ça veut dire
09:45que chaque équipement
09:46de core network
09:47est capable
09:47de transporter
09:48quasiment
09:48la table entière
09:50des routes internet.
09:53Donc,
09:53chaque équipement réseau
09:54est très cher
09:54alors qu'en fait,
09:56avec un design comme ça,
09:57il y a juste besoin
09:58d'un équipement
09:59un peu bête
09:59qui fait juste du 4L3
10:00et de ne pas tenir
10:01des tables BGP gigantesques.
10:04Pour rien.
10:06Ensuite,
10:07qu'est-ce que j'ai mis là ?
10:11Bah oui,
10:12alors évidemment,
10:12du coup,
10:13on fait marcher
10:13le public edge
10:14et le private edge
10:15de concert.
10:16Et ce concept-là,
10:18rendu côté utilisateur,
10:19ça va être
10:20une VPC gateway.
10:21Et donc,
10:21ça veut dire
10:22que son réseau privé
10:22va bénéficier
10:23d'un accès public
10:25à internet
10:27avec son IP de sortie,
10:28etc.
10:29Et donc,
10:29en fait,
10:30tout ça passe
10:30à travers l'underlay,
10:32mais l'utilisateur
10:33ne voit toujours rien.
10:35Et on va pouvoir
10:35injecter des services
10:36dans le réseau.
10:37Et donc,
10:38ici,
10:38on a un exemple
10:39avec un WAF,
10:39par exemple,
10:40qu'on va pouvoir
10:40mettre en fonction
10:41stateful.
10:41Donc,
10:41les fonctions
10:42stateful
10:42de l'underlay,
10:43elles sont exécutées
10:44sur le parc
10:46de machines,
10:47avec des machines
10:48standards.
10:49Et ça nous permet
10:49du coup,
10:50d'avoir une capacité
10:52de compute,
10:52celle qui est celle
10:53du parc standard.
10:56Ting,
10:56c'est pour moi,
10:57là ?
10:58Non ?
10:58Ah,
10:58ok.
11:00Et donc,
11:00voilà,
11:01ça nous permet
11:02d'injecter
11:03plein plein de choses
11:04et d'ajouter
11:05de la valeur aussi
11:05dans le traitement
11:06de paquets.
11:06Typiquement,
11:07si un utilisateur
11:08qui veut activer
11:09des access list,
11:10un load balancing
11:11ou quoi que ce soit,
11:12mais en fait,
11:12on peut faire ça
11:12à chaud dans le flot
11:13de trafic.
11:15Ce que j'explique là,
11:16globalement.
11:17et on peut le faire
11:19sur du reverse proxy,
11:20du layer 4 LB,
11:21layer 7,
11:22firewall,
11:22WAF.
11:25Et ça nous permet
11:26aussi,
11:26effectivement,
11:27du coup,
11:27de venir intégrer
11:29un firewall
11:30en appliance,
11:30par exemple.
11:31Un Palo Alto,
11:32un Checkpoint,
11:33ce que vous voulez.
11:34S'il y a un client
11:34qui choisit sa marque
11:36de firewall,
11:38en fait,
11:38on vient lui mettre
11:39une VM
11:39avec l'image
11:40du vendeur
11:41et on remonte
11:42le trafic,
11:43alors en Genevi,
11:43parce qu'il faut
11:44qu'il récupère
11:44le trafic
11:45comme étant vu
11:45natif
11:46du point de vue
11:47du edge.
11:47Donc l'encapsulation
11:48qu'on a fait
11:49jusqu'à l'underlay,
11:51on vient la transporter
11:52en Genevi pour que
11:53ce soit à peu près
11:54standard quand même
11:54du point de vue
11:55du vendeur.
11:57Et donc,
11:57ça nous permet
11:57de simuler
11:58des choses
11:59comme ce qu'on va
12:00retrouver
12:00dans du SRV6
12:02avec du service
12:03chaining,
12:04etc.
12:06Évidemment,
12:07on peut cumuler
12:07le Stateful
12:08et le Stateless
12:09avec du L3LB.
12:11Donc L3LB,
12:11c'est du load balancing
12:13niveau 3,
12:15des security group,
12:16etc.
12:17Et on peut imaginer
12:19injecter
12:20tout type
12:20de fonction.
12:22Donc c'est pour ça
12:23qu'on a mis
12:23le FAS
12:24dans l'exécution
12:26parce qu'à un moment donné,
12:26il peut y avoir
12:27une fonction arbitraire
12:28définie par l'utilisateur
12:29lui-même
12:29qui vient
12:30injecter
12:31son traitement
12:32sur...
12:34Ça permettrait
12:34de faire du Firewall
12:35IA par exemple
12:36avec un LLM
12:37qui traite chaque paquet
12:37par exemple.
12:39Je pense que c'est vendable
12:39ça.
12:40Qu'est-ce que j'ai mis
12:44accessible
12:44IPC overlay ?
12:45Bref.
12:47Donc si on prend
12:48un peu de recul
12:49par rapport
12:49à ce qu'on se dit là,
12:50on a donc
12:51notre underlay
12:52qui permet
12:52de véhiculer
12:53différentes abstractions
12:54et différents
12:55edges
12:57pour avoir
12:57les différents
12:58overlays
12:58qui interagissent
12:59entre eux.
13:01Mais
13:01alors Clever,
13:02on a un historique
13:03qui est le PAS,
13:05le Platform as a Service
13:05et ça c'est un réseau
13:07un peu spécifique
13:08où tout est déjà
13:08pré-câblé
13:09pour les utilisateurs
13:10et donc
13:11ce qu'on est en train
13:11de faire
13:12c'est un PAS Edge
13:13qui permet
13:13d'interconnecter
13:14le réseau historique
13:15avec ce nouveau réseau.
13:18Alors en réalité
13:19tout ça se passe
13:19sur les mêmes machines.
13:20C'est une vue logique
13:21
13:22mais ça veut dire
13:23qu'on permet aussi
13:24d'avoir une compatibilité
13:26entre les services
13:27traditionnels
13:28et les nouveaux services
13:29qu'on va pouvoir développer
13:30sur ce modèle-là.
13:31Et au fur et à mesure
13:32le PAS sera
13:33redigéré
13:35entre guillemets
13:36dans un modèle
13:37VPC standard
13:37et ça veut dire
13:38que quand vous prenez
13:39par exemple
13:40une application
13:41et une base de données
13:42si vous les liez
13:43entre elles
13:44en fait on va vous créer
13:45un VPC implicite.
13:46Sur le PAS
13:47les gens
13:47c'est des développeurs
13:48ils guident push
13:48et l'appli doit être en prod.
13:49Donc ils ne veulent pas
13:50avoir la complexité du IaaS
13:51tout doit être automagique.
13:53Ça ne nous empêche pas
13:54quand même
13:55d'avoir ces outils-là
13:56qui sont faits en dessous
13:57parce que des fois
13:58pour la conformité
13:58Vincent en parlait plus tôt
14:00il y a des entités
14:02dans les entreprises
14:02qui vont vouloir
14:03vérifier
14:04que les choses sont
14:05bien isolées
14:05bien faites
14:06etc.
14:07Donc pour l'utilisateur
14:09final c'est simple
14:10mais pour la conformité
14:11ça permet quand même
14:12de vérifier certaines choses.
14:15On va avoir un edge
14:16qui est spécialisé
14:17aux cross-régions
14:18c'est-à-dire que si on passe
14:19d'une région à une autre
14:20on peut avoir
14:20un backbone spécifique
14:22pour accélérer
14:23le transfert de données
14:25d'une région à une autre
14:25et donc on a un edge
14:26qui est dédié à ça
14:27et si on a de la connectivité
14:30VPN par exemple
14:31ou en direct connect
14:32ou ce genre de choses
14:33pareil
14:33il y a un edge
14:35qui est dédié
14:36à la connectivité
14:37de manière à faire
14:38arriver le trafic
14:39jusqu'au VPC utilisateur
14:42mais l'utilisateur
14:43lui il s'est juste dit
14:44bah tiens
14:45j'ai la gateway
14:45de mon VPC
14:46j'ajoute une terminaison
14:48VPN dessus
14:48mais en fait
14:49tout ça est rendu
14:50de manière programmatique
14:51avec le VPN edge
14:53de la côté
14:53qui envoie les paquets
14:54sur le VPC
14:55et c'est magico-magique
14:57pour l'utilisateur
14:58sauf à
14:59alors comment on fait ça
15:00et bien en fait
15:03on vient faire
15:03de la manipulation
15:04dans les paquets
15:05directement
15:05c'est à dire que là
15:06je vous ai mis
15:07les headers
15:07donc ce que j'expliquais
15:08c'est que les headers
15:08IPv6
15:09ils sont un peu plus longs
15:11parce que les adresses
15:12sont plus longues
15:12mais ils sont mieux structurés
15:13et plus rapides à parser
15:14parce qu'il y a plus de choses
15:16un peu volatiles
15:17au niveau V4
15:17et donc nous
15:19ce qu'on vient faire
15:20c'est qu'on vient manipuler
15:21le next header
15:22pour ensuite définir
15:23des extensions de headers
15:24et bénéficier
15:25des champs TLV
15:26pour ensuite
15:27venir créer
15:28notre propre encoding
15:29qui nous permet
15:30de dire
15:30bah tiens
15:30du coup
15:33tu vas
15:33ce paquet là
15:35il est à destination
15:36de tel VPC
15:37et du coup
15:38il va passer
15:39par tel endroit
15:40et tel endroit
15:40et au fur et à mesure
15:41du passage
15:42bah en fait
15:42on vient
15:42on vient rerouter
15:44comme ça
15:45au gré
15:46de ce qu'on voit
15:47ou quand on arrive
15:48sur la terminaison
15:49la machine finale
15:50bah en fait
15:50on vient reprendre
15:52les IP qu'il y a
15:53dans les headers
15:53et on donne le paquet
15:54à la VM finale
15:55qui elle voit ça
15:57comme si c'était
15:57un réseau local
15:58L3 à la maison
15:59au niveau
16:02Implem
16:03on a
16:04plusieurs Implem
16:05la première
16:06c'est
16:07elle est basée
16:08en EBPF
16:08aujourd'hui
16:09et donc on fait
16:11l'encoding
16:11décoding
16:12et
16:12l'aspect
16:15interface
16:17ARP
16:17etc
16:18de manière à ce que
16:18pour les machines
16:19ça a l'air d'être
16:21un réseau standard
16:22et une gateway standard
16:23et donc ça nous permet
16:25comme je le disais
16:26d'encoder
16:26d'avoir un encodage
16:27spécifique
16:28avec le VPC ID
16:30les infos de paquets
16:32sources
16:32les infos de paquets
16:33dest
16:33voire une séquence
16:35de paquets de destination
16:36si jamais on doit passer
16:37par plusieurs endroits
16:38concrètement
16:41qu'est-ce que ça veut dire
16:42bah ça veut dire
16:42que
16:43alors là c'est un exemple
16:44de la cli
16:45en phase de développement
16:46donc on a
16:47on crée une topologie
16:49sur lesquelles
16:50on vient
16:50attacher
16:51des adapteurs
16:53sur chaque VM
16:53alors je les ai appelés
16:55CIA
16:55Clever Interface Adapter
16:57si vous avez besoin
16:58de nommer vos projets
16:59vous me demandez
17:00c'est toujours des bonnes idées
17:02du coup
17:03du coup en fait
17:05le Edge
17:05est en responsabilité
17:07enfin le Private Edge
17:08est en responsabilité
17:10de venir
17:10créer l'interface
17:11au travers de l'hyperviseur
17:13pour l'attacher
17:14à la VM
17:15et donc on vient
17:16traper tout ça
17:17et aujourd'hui
17:18on le traite en EBPF
17:19de manière à faire
17:20alors c'est pas une encapsulation
17:23mais c'est l'encodage
17:24dans le paquet
17:25de manière à envoyer
17:26tout ça dans le réseau
17:27et donc ça nous permet
17:28de concilier
17:29en multi-tenancy
17:30des VPC différents
17:31au travers
17:32des hyperviseurs
17:33et de transporter tout ça
17:34de manière transparente
17:35au sein de l'underlay
17:36ce que ça nous permet
17:38de faire
17:39donc j'en ai parlé
17:39c'est un exemple
17:40de VPC peering
17:41donc on a une VM
17:42dans un VPC
17:44qui va parler
17:44avec une VM
17:45d'un autre VPC
17:46et en fait
17:48traditionnellement
17:49on met un routeur
17:50au milieu
17:51qui a accès aux deux réseaux
17:52et qui vient router
17:53et bien là en fait
17:54ce qu'on fait
17:55c'est qu'on a viré ça
17:56et parce qu'en fait
17:57cette fonction
17:57on l'a distribuée
17:58et donc comme on la distribue
18:00et bien en fait
18:01elle est faite localement
18:03à la source
18:03et donc on est capable
18:04de faire ça
18:05sur le routage
18:05sur le load balancing
18:07sur du filtrage
18:08etc
18:08et donc ce que ça évite
18:10c'est d'une
18:11soit des spofs
18:12si il n'y a qu'une instance
18:13de routers
18:13on peut faire de l'ECMP
18:15pour en mettre plusieurs
18:15s'il y a besoin
18:16mais là ça veut dire
18:17qu'il n'y a même plus besoin
18:18de ça
18:18c'est directement
18:20distribué dans le réseau
18:21même pour le load balancing
18:23et donc on gagne
18:24aussi un hop
18:26avec un hop en moins
18:28sur un équipement actif
18:30et donc une latence
18:31qui peut être meilleure
18:32pour de la très haute performance
18:33au niveau
18:35au niveau communication
18:37entre services
18:38alors c'est peut-être
18:40pour certains
18:41très conceptuel
18:42ce niveau de performance là
18:43mais il y a des aspects
18:45bancaires des fois
18:46où ils sont vraiment
18:47à de la latence
18:48très très très fine
18:49et donc
18:51ce genre de choses
18:52où on peut gagner
18:53un hop dans le réseau
18:54ben en fait
18:55mine de rien
18:55c'est pas
18:57c'est pas négligeable
18:58et donc
18:59si on en revient
19:00à ma petite photo
19:01donc j'ai parlé
19:02d'une implème
19:02en EBPF
19:03mais on est en train
19:05de bosser sur une autre
19:05implème
19:06en full offload hardware
19:08donc
19:10sur des cartes calerées
19:11qui sont des architectures
19:12many core
19:13c'est à dire que c'est
19:13des matrices de coeur
19:15et pour lesquelles
19:16notre objectif
19:17c'est d'arriver
19:17à la capacité
19:18de virtualiser le bar métal
19:20c'est à dire qu'il y a
19:20un bar métal cercle
19:21mais le réseau est virtualisé
19:22pas sur les équipements
19:24mais sur la carte
19:24qui est en frontale
19:25du bar métal
19:26donc aujourd'hui
19:27on a le network
19:27on a le storage
19:28prochaine étape
19:29c'est virtualiser
19:29l'hyperviseur
19:30et le sortir
19:31du CPU
19:32du bar métal
19:33et donc le bar métal
19:34serait 100% dédié
19:35utilisateur
19:35et la next next step
19:39quand on s'ennuiera un peu
19:41c'est de se débarrasser
19:42de TCP
19:42dans le data center
19:43parce que des fois
19:46on s'ennuie
19:46et donc en fait
19:48TCP
19:48c'est bien
19:50c'est très standard
19:51c'est très joyeux
19:52mais en fait
19:52c'est pas du tout
19:53du tout fait
19:54pour ce qu'on fait
19:54aujourd'hui
19:55TCP pour l'anecdote
19:58ça a 43 ans
20:00comme moi
20:01et bien
20:04il y a des choses
20:05qui évoluent
20:05qui bougent
20:06tu vois
20:06mais TCP
20:07enfin moi
20:08je sens que je grisonne
20:08tu vois
20:09et TCP
20:10lui voilà
20:10il est encore là
20:11et mine de rien
20:12en fait
20:12il ne correspond pas du tout
20:13du tout
20:14aux usages qu'on a aujourd'hui
20:15mais alors en rien
20:16c'est à dire que
20:17c'est du stream
20:18ça gère l'ordering
20:19de paquets
20:20le scheduling
20:21est fait
20:23côté sender
20:24alors que
20:25en fait
20:25en backpressure
20:26c'est plutôt celui
20:27qui reçoit
20:27qui a besoin de dire
20:28doucement
20:29et donc c'est pour ça
20:30qu'en fait
20:30il y a plein d'aller-retour
20:32et ce qu'on appelle
20:33le round trip
20:33de TCP
20:34qui fait que ça coûte beaucoup
20:35c'est pas performant
20:37c'est pas adapté
20:38aux usages
20:38qui sont soit du RPC
20:39ou c'est du message
20:40qui s'échange
20:41soit des gros volumes
20:42donc en fait
20:43ça correspond à aucun usage
20:44qu'on a aujourd'hui
20:44en tout cas dans le data center
20:46et donc l'idée
20:48c'est que
20:48comme on maîtrise
20:49notre propre reverse proxy
20:50qui s'appelle Sozu
20:51qui est open source
20:52utilisez-le
20:52et bien en fait
20:54on va l'intégrer dans le Edge
20:55et ça nous permettra
20:56de terminer le TCP
20:57très tôt
20:58et donc d'avoir
20:59dans le réseau
21:01plus de TCP
21:02ça veut dire que
21:03s'il y a un retry
21:03en fait il est fait
21:04au plus près
21:05de l'underlay
21:06et donc
21:06c'est une latence
21:08encore en gain
21:10derrière
21:10et pour ça
21:11on n'a pas encore décidé
21:12mais il y a des implémentations
21:14alternatives
21:14à TCP
21:15donc OMA
21:16SRD par exemple
21:17qui existent
21:19pour transporter
21:19tout ça
21:20et le jour
21:21où on s'ennuie
21:22encore encore plus
21:23et bien
21:23on ira
21:24adapter ça
21:26avec un adapteur spécifique
21:27pour que les utilisateurs
21:28puissent eux-mêmes
21:29dans leur VM
21:30pouvoir bénéficier
21:32d'une interface
21:33qui permet de se débarrasser
21:34de TCP
21:35complètement sur tout le chemin
21:36pour avoir
21:37de la très haute performance
21:38de bout en bout
21:39sans payer le coup
21:41legacy
21:42de TCP
21:42au niveau applicatif
21:43alors après
21:44il y a
21:44des primitives
21:45à exposer
21:46mais on pourra
21:46exposer du clé-valeur
21:48de la queue
21:48et ce genre de choses
21:49nativement
21:50avec un SDK
21:50pour que les utilisateurs
21:51puissent en bénéficier
21:52je crois que j'ai fini
21:54tiens
21:56j'ai une question
21:56merci
21:57j'ai une question
22:00entre
22:02OMA SRD
22:04par rapport
22:04à par exemple
22:05moi je croyais
22:06que tu allais
22:06nous dire
22:07on va tout passer
22:08en Quick
22:08par exemple
22:09c'est quoi
22:10les grosses différences
22:12entre OMA
22:13SRD
22:14et par exemple
22:15Quick
22:15alors Quick
22:17tu te bases encore
22:18sur UDP
22:19donc tu as aussi
22:20le legacy
22:21de UDP
22:22et puis après
22:24Quick
22:26est un palliatif
22:28local
22:28c'est à dire
22:29très
22:30comment dire
22:31très
22:32très orienté
22:33cas d'usage
22:34mais il n'est pas générique
22:36tu vois
22:36là où OMA
22:37SRD
22:37sont beaucoup plus génériques
22:39et tu vas pouvoir
22:39construire tes applicatifs
22:40au dessus
22:41et par contre
22:42tu pourrais très bien
22:43faire un Quick
22:44au dessus
22:44de SRD
22:45ou OMA
22:46en disant
22:46ok
22:47puisque tu ne fais pas
22:47l'ordering
22:48moi je vais le
22:49rejouer
22:49ce qui est fait
22:49dans Quick
22:49et je vais le gérer
22:51à ma sauce
22:51par contre
22:52tout le reste
22:52en fait
22:53tu le normalises
22:54et aujourd'hui
22:55Quick a plutôt été fait
22:56globalement
22:57pour du web
22:58mais en fait
23:00tout le reste
23:01de l'applicatif
23:02qui n'est pas que du web
23:02parce que des fois
23:03les gens pensent
23:04qu'il n'y a que le web
23:05qui existe
23:05mais non
23:05mais tu vois
23:06la messagerie instantanée
23:07genre de chose
23:08les RPC
23:09on parlait de GRPC
23:10tout à l'heure
23:10le GRPC
23:11alors ils ont collé
23:12du web dedans
23:13ça n'a aucun sens
23:14mais bon
23:14c'est ça
23:16comme si vous liolent
23:17c'est bien n'est-ce pas ?
23:18il y a quand même
23:18une sorte de convergence
23:19vers tout ce qui est
23:21mettre tous les protocoles
23:23les aligner tous
23:24vers des technos web
23:25c'est le pouvoir du web
23:27bon ben merci
23:30est-ce qu'il y a
23:30une autre question ?
23:32j'envoie
23:32alors
23:33moi j'ai une question
23:35pour
23:35The Board
23:36c'était bien
23:38comme présentation
23:39en niveau français
23:40c'était suffisamment bien ?
23:41je tiens merci
23:44c'est Fabien
23:46donc on se connait
23:46de OVH
23:47moi j'ai une question
23:49par rapport à ce que
23:50j'ai un flou
23:52que je ne comprends pas
23:52c'est sur la partie
23:53tu parles de IPV6
23:54comment tu segmentes
23:56tes clients
23:56dans leur VPC
23:58si tu leur fournis
23:59une VPC
24:00comment tu te protèges
24:01de la latéralisation
24:02parce que là
24:02avec IPV6
24:03il y a quand même
24:04une manipulation
24:04qui est possible
24:05au niveau des paquets
24:06au niveau de la VM
24:07donc comment tu fais
24:08pour te protéger
24:09de cette latéralisation
24:10est-ce que tu fais du VXLAN
24:11est-ce que tu fais des
24:12quels technos tu utilises ?
24:14alors justement non
24:15en fait
24:15le principe de VXLAN
24:17c'est se dire que
24:18parce que tu as
24:20encapsulé par
24:21par VPC
24:22ou par
24:23tenant
24:23entre guillemets
24:24du coup
24:25tu n'as plus
24:26de risque
24:27sauf que
24:28en fait
24:28VXLAN
24:29tu es dépendant
24:31de ton équipement réseau
24:32pour qu'il ne fasse pas
24:33sapin de Noël
24:34pour qu'il ne fuite pas
24:35et tu n'es pas chiffré
24:36dans ton trafic
24:37c'est-à-dire que
24:38là nous
24:38par VPC
24:40tu as une clé spécifique
24:41qui chiffre
24:42par VPC
24:42et donc
24:43tu as effectivement
24:45un risque
24:46de latéralisation
24:48si jamais
24:49tu as un accès
24:49à la machine en dessous
24:50sauf que
24:51la VM
24:52en soi
24:53elle ne peut pas
24:54en fait
24:54l'émission du paquet
24:55n'est pas faite
24:56depuis la VM utilisateur
24:57l'utilisateur
24:59il envoie un paquet
25:00naturel
25:00dans son réseau
25:01et c'est en dessous
25:02au niveau de l'hyperviseur
25:04que tu vas
25:04interagir là-dessus
25:05donc après
25:06si on s'est fait comprometre
25:07l'hyperviseur
25:08c'est dommage
25:09mais c'est dommage
25:10dans tous les cas
25:10de toute façon
25:11là c'est perdu
25:12et c'est pour ça
25:14qu'on met de la VM
25:15même sur le fonction
25:16as a service
25:16à la nanoseconde
25:18c'est de la vraie VM
25:19qu'on a bindé
25:19sur les VT instructions
25:20du CPU
25:21par contre pour faire ça
25:22on a dû écrire
25:23notre propre hyperviseur
25:24super
25:26bah merci
25:27s'il y a d'autres questions
25:28vous les poserez
25:30à la pause
25:31merci tout le monde
25:32hop
25:34merci
25:34merci
25:35merci
25:36merci
25:37merci
25:38merci

Recommandations