<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Engineering Archives | Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/fr/blog/category/engineering-fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.clever.cloud/fr/blog/category/engineering-fr/</link>
	<description>From Code to Product</description>
	<lastBuildDate>Mon, 01 Jun 2026 07:11:42 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>Engineering Archives | Clever Cloud</title>
	<link>https://www.clever.cloud/fr/blog/category/engineering-fr/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sōzu 2.0 : du reverse proxy à l&#8217;edge programmable</title>
		<link>https://www.clever.cloud/fr/blog/engineering-fr/2026/05/29/sozu-2-0-reverse-proxy-edge-programmable/</link>
		
		<dc:creator><![CDATA[Florentin Dubois]]></dc:creator>
		<pubDate>Fri, 29 May 2026 15:15:50 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[reverse proxy]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24438</guid>

					<description><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05.29 Clever Cloud Bannière Blog Sōzu 2.0 FR" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr.png 2499w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1368x607.png 1368w" sizes="(max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>Cette version marque une étape : la mécanique sous-jacente est désormais prête à accueillir les fonctionnalités produit que nous voulons bâtir au-dessus. Plutôt qu'une liste de correctifs, nous avons regroupé le travail en six thèmes ; pour chacun, nous disons deux choses — ce qui a été livré, et ce que cela rend possible, pour celles et ceux qui font tourner leurs applications sur la plateforme comme pour les opérateurs qui exécutent Sōzu sur leur propre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">1. Un multiplexer HTTP/2 réécrit intégralement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La pile HTTP/1 de Sōzu avait déjà été réécrite autour de <strong>kawa</strong>, notre format pivot : une représentation interne du message HTTP indépendante de sa version, dans le même esprit que le format HTX de HAProxy. Le multiplexer HTTP/2 en est le prolongement naturel — il étend kawa avec la gestion des sessions et le multiplexing des streams.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il couvre l'intégralité de la matrice des protocoles (H1↔H1, H1↔H2, H2↔H1, H2↔H2), avec un état de stream partagé, la compression HPACK assurée par loona-hpack, le pooling des connexions HTTP/2 vers les backends, la priorisation des streams selon <a href="https://datatracker.ietf.org/doc/html/rfc9218">RFC 9218</a> Extensible Priorities, et la négociation ALPN par listener, afin que chaque connexion TLS aboutisse sur le bon chemin de code. Environ 181 tests end-to-end et deux cibles de fuzzing (cargo-fuzz) maintiennent le parser et le décodeur HPACK dans le droit chemin — dont des garde-fous de régression qui vérifient octet pour octet l'intégrité des réponses volumineuses sur un trajet « backend HTTP/1 → frontend HTTP/2 », précisément la frontière où se cachent les bugs de readiness en mode edge-triggered d'epoll.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour les clients Clever Cloud, l'incidence concrète est simple : <strong>chaque application servie par la plateforme parle désormais HTTP/2 par défaut, côté frontend</strong> — aucun opt-in, aucune modification de code, aucune configuration. L'activation du HTTP/2 jusqu'au backend reste un choix par cluster — un <em>cluster</em>, dans le modèle de Sōzu, étant l'une de vos applications ; activée de bout en bout, elle débloque notamment gRPC sur toute la chaîne. Les pages s'affichent en moins de connexions TCP ; les navigateurs peuvent mutualiser les requêtes entre les hôtes qui partagent un certificat (nous honorons le SAN coalescing décrit dans la <a href="https://datatracker.ietf.org/doc/html/rfc7540">RFC 7540 §9.1.1</a> : lorsque le certificat, l'autorité d'origine et les conditions de connexion s'y prêtent, Firefox et Chrome peuvent réutiliser une seule connexion vers vos cdn.example.com et assets.example.com au lieu d'en ouvrir plusieurs en parallèle). Il s'agit, au meilleur sens du terme, d'une mise à niveau silencieuse de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi le prérequis structurel pour la suite — HTTP/3 sur QUIC et des fondations de streaming plus solides à l'edge. La réécriture du multiplexer est la pièce de la roadmap qui devait advenir en premier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">2. La sécurité pour socle, non comme option</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La seconde moitié de la réécriture HTTP/2 est celle dont personne ne réclame l'existence tant qu'elle ne fait pas défaut : la résistance aux floods et aux attaques par déni de service. Sōzu 2.0 embarque des mitigations natives pour les vulnérabilités <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-44487"><strong>CVE-2023-44487</strong></a><strong> (Rapid Reset)</strong>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27316"><strong>CVE-2024-27316</strong></a><strong> (CONTINUATION flood)</strong>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-8671"><strong>CVE-2025-8671</strong></a><strong> (MadeYouReset)</strong>, ainsi que pour la famille PING / SETTINGS / empty-DATA des <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9512">CVE-2019-9512</a>/<a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9515">CVE-2019-9515</a>/<a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9518">CVE-2019-9518</a>. Chaque mitigation expose un counter dédié — douze métriques sous h2.flood.violation.* — afin qu'un SIEM puisse mesurer en fenêtre glissante le taux de déclenchement, sans avoir à parser les logs. Dix-sept motifs de rejet HPACK sont exposés selon le même principe ; il s'agit du premier signal observable côté opérateur pour les tentatives de request smuggling contre la pile HTTP/2.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le reste du travail de sécurité se déploie à travers le proxy : un plafond de connexions par couple (cluster, IP source) assorti d'une réponse 429 Too Many Requests ; une éviction optionnelle des sessions les plus anciennes lorsque l'accept queue sature ; un durcissement du command channel, du parser HTTP/1, du pattern-trie router (fermeture d'un contournement de routing via regex non ancrées) et du wildcard matcher ; un assainissement du pipeline d'audit contre les séquences <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-42574">Trojan-Source</a> et le SIEM column-smuggling ; et une rotation à chaud des certificats TLS qui <strong>ne laisse jamais tomber le certificat fonctionnel en cas d'échec</strong>, quand bien même le nouveau serait malformé. Quatre security advisories de dépendances purgées au cours de la même fenêtre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Chaque mutation privilégiée atterrit désormais dans un journal d'audit structuré : chaque action du plan de contrôle est consignée sous la forme d'une ligne Command(verb=…, actor_uid=…, actor_user=…, result=…) — qui a fait quoi, depuis où, et avec quel résultat. Deux sinks dédiés l'exportent : audit_logs_target pour le flux lisible, et audit_logs_json_target pour un objet JSON à schéma stable par ligne, de sorte que la piste se déverse directement dans un SIEM (Wazuh, Elastic, Loki, Splunk) sans parser sur mesure — dans un format pensé pour PCI-DSS 10.5.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cadrage produit est limpide : <strong>notre métier, c'est d'opérer la plateforme et de protéger vos applications dès que nous le pouvons</strong>. Lorsque la prochaine vulnérabilité HTTP/2 de cette classe paraît un vendredi à vingt-et-une heures, elle n'a pas à se traduire par un week-end de correctifs et de redéploiements sur des milliers d'applications : les attaques de cette classe sont largement absorbées ou atténuées au niveau du proxy, un counter s'incrémente sur un dashboard, et les applications continuent de servir leur trafic. Le « trust-by-default » n'est pas un slogan : c'est l'effet cumulé de dizaines de petits correctifs défensifs, livrés à la couche où la frontière de sécurité se joue véritablement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">3. De la visibilité à chaque couche</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'ajout le plus visible pour l'utilisateur en 2.0 est <strong>sozu top</strong> — une TUI opérateur (derrière le feature flag Cargo tui) qui offre une vue en temps réel, à la manière de btop ou htop, sur sept panes : Overview, Clusters, Backends, Listeners, H2, Certificates, Events. Palette accessible aux personnes daltoniennes, thèmes personnalisables : l'essentiel tient dans un terminal, sans dashboard externe.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sous la TUI, la surface des métriques elle-même a été refondue. Le multiplexer expose des counters par type de frame et par code d'erreur <a href="https://datatracker.ietf.org/doc/html/rfc9113">RFC 9113</a>, la télémétrie des handshakes TLS, des counters HTTP par status code, et de nouvelles gauges de cycle de vie du worker. L'access log gagne les champs TLS et de forwarding (version, cipher, SNI, ALPN, chaîne XFF), la propagation x_request_id de bout en bout, ainsi que les RTT client et serveur — de quoi corréler une requête d'un hop à l'autre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une nouvelle commande, SetMetricDetail, permet à un opérateur d'élever à la demande la cardinalité des métriques, via un lease à durée limitée qui expire : la production reste à faible cardinalité par défaut, et l'inspection fine devient une décision ponctuelle plutôt qu'une réécriture de configuration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour Clever Cloud, c'est le socle du <strong>prochain chapitre de l'observabilité tournée vers le client</strong> — percentiles de latence par application, disponibilité par cluster, décomposition des handshakes TLS, request IDs traçables d'un hop à l'autre. Les métriques existent désormais au niveau du proxy. L'étape suivante consiste à les exposer dans la console Clever Cloud, à leur juste place, aux côtés des vues de build et de déploiement — afin qu'aucun APM externe ne soit nécessaire pour comprendre le trafic que votre application reçoit véritablement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">4. Des policies de trafic enfin actionnables d'un geste</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sōzu 2.0 refond l'intégralité de la surface des policies côté frontend (#1231) : <strong>HSTS typé</strong> (<a href="https://datatracker.ietf.org/doc/html/rfc6797">RFC 6797</a>), configurable par listener et par frontend ; <strong>URL rewrite</strong> (host, path, port) avec propagation des regex captures depuis le routing trie vers les rewrite templates ; <strong>réécriture des headers</strong> de requête et de réponse par frontend — ajouter, modifier ou supprimer n'importe quel header (une valeur vide le supprime, parité avec le del-header de HAProxy), avec en complément l'injection de X-Real-IP au niveau listener et l'élision anti-spoofing des valeurs fournies par le client ; <strong>redirects HTTP 301 / 302 / 308</strong> au travers d'une enum typée RedirectPolicy ; et l'<strong>authentification HTTP Basic</strong> par frontend, avec des credentials hashés en SHA-256 et une comparaison constant-time assurée par la crate subtle (le credential boundary est durci contre les side-channels temporels — la code review l'avait identifié).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est la partie de la release où l'opportunité produit est la plus saillante. Aujourd'hui, mener une migration de domaine propre sur une plateforme managée requiert typiquement soit un backend sachant rediriger, soit un service de redirection déployé en parallèle ; placer une URL de preview derrière un mot de passe requiert typiquement un add-on d'authentification. <strong>Avec Sōzu 2.0, ces usages deviennent des boutons sur le proxy.</strong> La plomberie existe ; ce qu'il reste à accomplir, c'est d'exposer ces boutons dans la console Clever Cloud — sous la forme d'une case à cocher sur un domaine, ou d'un toggle à clic unique pour les preview environments. C'est la surface no-code de contrôle du trafic que nous voulons construire ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">5. L'exploitation comme bénéfice pour le client</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une réécriture de cette profondeur ne se livre sereinement que si la flotte demeure en mouvement en dessous. L'exploitation au quotidien a reçu une attention particulière en 2.0.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>sozu listener {http,https,tcp} update est un nouveau patch verb field-masked qui ajuste à la volée les paramètres d'un listener modifiables sans recycler les sockets sous-jacents : seuils de flood HTTP/2, SNI binding, préférence ALPN, idle timeouts, HSTS, custom answers. <strong>Les mitigations CVE peuvent désormais être resserrées sous attaque sans recycler les sockets d'écoute.</strong> Les health checks actifs des backends s'exécutent à l'intérieur de la loop d'événements mio existante (aucun scheduler async, aucun thread supplémentaire), avec des sondes HTTP/1.1 et HTTP/2, des intervalles dotés d'un léger jitter, et un fail-open path qui achemine à travers les backends au statut Normal dont la retry policy l'autorise. L'intégration systemd (qui clôt #228) effectue enfin ce qu'il convient : des units Type=notify, un READY=1 envoyé seulement après la création des workers initiaux et le replay de l'état sauvegardé, un STOPPING=1 lors du graceful shutdown, un MAINPID=&lt;nouveau&gt; lors des hot upgrades.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les releases elles-mêmes ont changé de forme. Pousser un tag produit désormais <strong>dix tarballs pré-compilés</strong> (trois cibles Linux croisées avec jusqu'à quatre crypto providers), signés keyless via sigstore (cosign + GitHub OIDC), accompagnés d'une attestation SLSA build provenance et d'un pointeur SOURCE.txt vers le code source correspondant satisfaisant l'AGPL §6 et la LGPL §4 — refermant ainsi l'écart noté dans #1089. Les fichiers fullchain.pem ACME se chargent à présent proprement, y compris lorsque le client a émis le leaf en tête de chaîne (Certbot, lego, acme.sh) ; une race condition vieille de six ans sur l'auto-restart des workers (#515) est corrigée par pinning de l'inode original au moyen de /proc/self/fd. Le verbe IPC LoadState demeure forward-compatible avec les clients sozu-command-lib 1.1.1, de sorte que l'écosystème d'intégrations ne se brise pas lors de l'upgrade.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À l'échelle de Clever Cloud, le coût d'un incident d'exploitation ne se mesure pas en tickets — il s'agit d'une latence qui s'accumule sur des milliers d'applications, et du temps d'ingénierie que nous devons à la construction de l'étape suivante. <strong>Sōzu 2.0 est le proxy qui se laisse exploiter en silence, et cette tranquillité est ce que les clients vivent comme de l'uptime.</strong> C'est également ce qui rend Sōzu crédible comme outil que l'on peut exécuter sur sa propre infrastructure : binaires signés, hot reloads, particularités ACME absorbées, intégration systemd menée correctement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">6. Une crypto prête pour demain</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La pile TLS a reçu une refonte plus discrète, mais d'égale importance (#1191). Sōzu prend désormais en charge <strong>quatre crypto providers pluggables</strong> pour rustls : crypto-ring (par défaut), crypto-aws-lc-rs, crypto-openssl, et fips (qui implique aws-lc-rs en mode FIPS). Les quatre sont exercés par la CI, et la precedence chain fips &gt; ring &gt; aws-lc-rs &gt; openssl résout le provider actif de manière déterministe lorsque plusieurs features sont activées simultanément.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce dont nous sommes le plus satisfaits, en revanche, est le groups_list par défaut : <strong>X25519MLKEM768</strong><strong> est désormais le groupe d'échange de clés en première préférence</strong> lorsque le provider le prend en charge. Il s'agit de l'hybride post-quantique en cours de normalisation à l'IETF (<a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem">draft-ietf-tls-ecdhe-mlkem</a>), déjà enregistré dans le registre TLS de l'IANA ; en pratique, cela signifie qu'un client uniquement compatible X25519 et un client post-quantum négocient l'un comme l'autre l'échange le plus robuste mutuellement pris en charge, sans aucune action de l'opérateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lorsque la transition post-quantique deviendra une exigence réglementaire — selon un calendrier dont l'industrie débat encore — <strong>les fondations seront déjà en place sur Clever Cloud</strong> : tout client TLS 1.3 qui propose l'hybride le négocie dès aujourd'hui, sans action de l'opérateur. Nous avons effectué ce choix en silence, et nous l'avons inscrit par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Du reverse proxy à l'edge programmable</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sōzu a toujours été un <strong>load balancer d'infrastructure</strong> : bien au-delà du HTTP, il équilibre aussi du TCP brut, avec un chemin de forwarding zéro-copie via splice(2) sous Linux pour les listeners TCP. Avec la 2.0, il se rapproche d'une <strong>API gateway</strong> et devient le substrat d'un <strong>edge programmable</strong> — et « programmable » est le mot qui compte. Chaque capacité décrite ci-dessus (HTTP/2 par défaut, contrôles anti-abus, observabilité, policies de trafic, crypto agility, calme opérationnel) est un bouton. L'année qui vient de la roadmap Clever Cloud consiste à exposer ces boutons sous la forme de features produit : à travers la console, à travers l'API, à travers les workflows que vous utilisez déjà pour déployer vos applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voilà ce que nous voulons dire lorsque nous affirmons que Sōzu 2.0 est un premier pas vers quelque chose de plus grand. La 2.0 n'est pas la destination — c'est la plateforme sur laquelle nous bâtissons désormais. Le HTTP/2 managé, partout, en constitue la première brique. La deuxième : une console permettant d'activer HSTS, de protéger par mot de passe un preview environment, ou de rediriger un domaine migré. L'aboutissement — un edge entièrement programmable, doté de policy primitives que vous composez — est ce vers quoi nous bâtissons au fil du prochain release cycle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Deux chantiers sont déjà sur l'établi. D'abord, un volet <strong>load balancing UDP</strong> — dans l'esprit d'IPVS, mais avec le rechargement à chaud propre à Sōzu — assorti de <strong>health checks TCP</strong> pour valider la disponibilité des backends UDP ; de quoi ancrer un peu plus le rôle de load balancer d'infrastructure. Ensuite, des <strong>backends joignables en HTTPS</strong>, qui consolident la connectivité amont et ouvrent la voie à l'API gateway.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sōzu est un projet open source publié sous AGPL-3.0 (la command library est diffusée sous LGPL-3.0). Les binaires de la version 2.0 sont signés via sigstore et embarquent une attestation SLSA ; si vous opérez votre propre edge, cette version vous appartient : à utiliser, à auditer, à étendre. Le code, l'issue tracker, et les conversations vivent à l'adresse <a href="https://github.com/sozu-proxy/sozu">github.com/sozu-proxy/sozu</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous remercions les contributeurs qui ont rendu cette release possible — ainsi que toutes celles et ceux qui exécutent Sōzu en production, dont les retours guident la suite.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Références</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Standards et spécifications</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>RFC 6797</strong> — HTTP Strict Transport Security (HSTS). <a href="https://datatracker.ietf.org/doc/html/rfc6797">https://datatracker.ietf.org/doc/html/rfc6797</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 7540</strong> — Hypertext Transfer Protocol Version 2 (HTTP/2). Désormais obsolétée par la RFC 9113, mais le §9.1.1 sur le connection coalescing demeure la citation reprise par la RFC 9113. <a href="https://datatracker.ietf.org/doc/html/rfc7540">https://datatracker.ietf.org/doc/html/rfc7540</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 9113</strong> — HTTP/2 (en vigueur). §5 streams, §6 frames, §6.8 GOAWAY, §7 codes d'erreur, §8.1 sémantique HTTP. <a href="https://datatracker.ietf.org/doc/html/rfc9113">https://datatracker.ietf.org/doc/html/rfc9113</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 9218</strong> — Extensible Prioritization Scheme for HTTP. <a href="https://datatracker.ietf.org/doc/html/rfc9218">https://datatracker.ietf.org/doc/html/rfc9218</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>draft-ietf-tls-ecdhe-mlkem</strong> — Hybrid key exchange in TLS 1.3 : X25519MLKEM768 (Internet-Draft IETF, enregistré à l'IANA ; l'hybride post-quantique que Sōzu privilégie par défaut). <a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem">https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">CVE</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>CVE-2019-9512</strong> — HTTP/2 Ping Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9512">https://nvd.nist.gov/vuln/detail/CVE-2019-9512</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2019-9515</strong> — HTTP/2 Settings Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9515">https://nvd.nist.gov/vuln/detail/CVE-2019-9515</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2019-9518</strong> — HTTP/2 Empty Frames Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9518">https://nvd.nist.gov/vuln/detail/CVE-2019-9518</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2021-42574</strong> — Trojan Source (bidirectional override). <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-42574">https://nvd.nist.gov/vuln/detail/CVE-2021-42574</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2023-44487</strong> — HTTP/2 Rapid Reset. <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-44487">https://nvd.nist.gov/vuln/detail/CVE-2023-44487</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2024-27316</strong> — HTTP/2 CONTINUATION Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27316">https://nvd.nist.gov/vuln/detail/CVE-2024-27316</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2025-8671</strong> — MadeYouReset (HTTP/2). <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-8671">https://nvd.nist.gov/vuln/detail/CVE-2025-8671</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pour aller plus loin</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cloudflare</strong> — <em>HTTP/2 Rapid Reset: deconstructing the record-breaking attack</em>. Le compte rendu canonique de la divulgation coordonnée d'octobre 2023, incluant la mécanique de l'attaque ainsi que le pic de 398 millions de rps capturé en direct. <a href="https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/">https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>HAProxy Technologies</strong> — <em>HAProxy is Not Affected by the HTTP/2 Rapid Reset Attack (CVE-2023-44487)</em>. L'argument structurel de HAProxy quant à la raison pour laquelle son cycle de vie de stream absorbe naturellement le Rapid Reset ; un contraste utile face à l'approche par counters de flood retenue par Sōzu. <a href="https://www.haproxy.com/blog/haproxy-is-not-affected-by-the-http-2-rapid-reset-attack-cve-2023-44487">https://www.haproxy.com/blog/haproxy-is-not-affected-by-the-http-2-rapid-reset-attack-cve-2023-44487</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Cloudflare blog — série Post-quantum</strong>. Couverture pluriannuelle assurée par Bas Westerbaan et ses collaborateurs sur l'échange de clés post-quantique et les groupes hybrides ; filiation de l'hybride X25519MLKEM768 que Sōzu négocie désormais par défaut. <a href="https://blog.cloudflare.com/tag/post-quantum/">https://blog.cloudflare.com/tag/post-quantum/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Cloudflare Learning Center</strong> — <em>What is HSTS?</em>. Primer accessible sur HSTS, la sémantique max-age / includeSubDomains / preload, et la politique de la HSTS preload list.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></description>
										<content:encoded><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05.29 Clever Cloud Bannière Blog Sōzu 2.0 FR" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr.png 2499w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-29-clever-cloud-banniere-blog-sozu-2-0-fr-1368x607.png 1368w" sizes="(max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>Cette version marque une étape : la mécanique sous-jacente est désormais prête à accueillir les fonctionnalités produit que nous voulons bâtir au-dessus. Plutôt qu'une liste de correctifs, nous avons regroupé le travail en six thèmes ; pour chacun, nous disons deux choses — ce qui a été livré, et ce que cela rend possible, pour celles et ceux qui font tourner leurs applications sur la plateforme comme pour les opérateurs qui exécutent Sōzu sur leur propre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">1. Un multiplexer HTTP/2 réécrit intégralement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La pile HTTP/1 de Sōzu avait déjà été réécrite autour de <strong>kawa</strong>, notre format pivot : une représentation interne du message HTTP indépendante de sa version, dans le même esprit que le format HTX de HAProxy. Le multiplexer HTTP/2 en est le prolongement naturel — il étend kawa avec la gestion des sessions et le multiplexing des streams.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il couvre l'intégralité de la matrice des protocoles (H1↔H1, H1↔H2, H2↔H1, H2↔H2), avec un état de stream partagé, la compression HPACK assurée par loona-hpack, le pooling des connexions HTTP/2 vers les backends, la priorisation des streams selon <a href="https://datatracker.ietf.org/doc/html/rfc9218">RFC 9218</a> Extensible Priorities, et la négociation ALPN par listener, afin que chaque connexion TLS aboutisse sur le bon chemin de code. Environ 181 tests end-to-end et deux cibles de fuzzing (cargo-fuzz) maintiennent le parser et le décodeur HPACK dans le droit chemin — dont des garde-fous de régression qui vérifient octet pour octet l'intégrité des réponses volumineuses sur un trajet « backend HTTP/1 → frontend HTTP/2 », précisément la frontière où se cachent les bugs de readiness en mode edge-triggered d'epoll.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour les clients Clever Cloud, l'incidence concrète est simple : <strong>chaque application servie par la plateforme parle désormais HTTP/2 par défaut, côté frontend</strong> — aucun opt-in, aucune modification de code, aucune configuration. L'activation du HTTP/2 jusqu'au backend reste un choix par cluster — un <em>cluster</em>, dans le modèle de Sōzu, étant l'une de vos applications ; activée de bout en bout, elle débloque notamment gRPC sur toute la chaîne. Les pages s'affichent en moins de connexions TCP ; les navigateurs peuvent mutualiser les requêtes entre les hôtes qui partagent un certificat (nous honorons le SAN coalescing décrit dans la <a href="https://datatracker.ietf.org/doc/html/rfc7540">RFC 7540 §9.1.1</a> : lorsque le certificat, l'autorité d'origine et les conditions de connexion s'y prêtent, Firefox et Chrome peuvent réutiliser une seule connexion vers vos cdn.example.com et assets.example.com au lieu d'en ouvrir plusieurs en parallèle). Il s'agit, au meilleur sens du terme, d'une mise à niveau silencieuse de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi le prérequis structurel pour la suite — HTTP/3 sur QUIC et des fondations de streaming plus solides à l'edge. La réécriture du multiplexer est la pièce de la roadmap qui devait advenir en premier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">2. La sécurité pour socle, non comme option</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La seconde moitié de la réécriture HTTP/2 est celle dont personne ne réclame l'existence tant qu'elle ne fait pas défaut : la résistance aux floods et aux attaques par déni de service. Sōzu 2.0 embarque des mitigations natives pour les vulnérabilités <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-44487"><strong>CVE-2023-44487</strong></a><strong> (Rapid Reset)</strong>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27316"><strong>CVE-2024-27316</strong></a><strong> (CONTINUATION flood)</strong>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-8671"><strong>CVE-2025-8671</strong></a><strong> (MadeYouReset)</strong>, ainsi que pour la famille PING / SETTINGS / empty-DATA des <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9512">CVE-2019-9512</a>/<a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9515">CVE-2019-9515</a>/<a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9518">CVE-2019-9518</a>. Chaque mitigation expose un counter dédié — douze métriques sous h2.flood.violation.* — afin qu'un SIEM puisse mesurer en fenêtre glissante le taux de déclenchement, sans avoir à parser les logs. Dix-sept motifs de rejet HPACK sont exposés selon le même principe ; il s'agit du premier signal observable côté opérateur pour les tentatives de request smuggling contre la pile HTTP/2.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le reste du travail de sécurité se déploie à travers le proxy : un plafond de connexions par couple (cluster, IP source) assorti d'une réponse 429 Too Many Requests ; une éviction optionnelle des sessions les plus anciennes lorsque l'accept queue sature ; un durcissement du command channel, du parser HTTP/1, du pattern-trie router (fermeture d'un contournement de routing via regex non ancrées) et du wildcard matcher ; un assainissement du pipeline d'audit contre les séquences <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-42574">Trojan-Source</a> et le SIEM column-smuggling ; et une rotation à chaud des certificats TLS qui <strong>ne laisse jamais tomber le certificat fonctionnel en cas d'échec</strong>, quand bien même le nouveau serait malformé. Quatre security advisories de dépendances purgées au cours de la même fenêtre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Chaque mutation privilégiée atterrit désormais dans un journal d'audit structuré : chaque action du plan de contrôle est consignée sous la forme d'une ligne Command(verb=…, actor_uid=…, actor_user=…, result=…) — qui a fait quoi, depuis où, et avec quel résultat. Deux sinks dédiés l'exportent : audit_logs_target pour le flux lisible, et audit_logs_json_target pour un objet JSON à schéma stable par ligne, de sorte que la piste se déverse directement dans un SIEM (Wazuh, Elastic, Loki, Splunk) sans parser sur mesure — dans un format pensé pour PCI-DSS 10.5.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cadrage produit est limpide : <strong>notre métier, c'est d'opérer la plateforme et de protéger vos applications dès que nous le pouvons</strong>. Lorsque la prochaine vulnérabilité HTTP/2 de cette classe paraît un vendredi à vingt-et-une heures, elle n'a pas à se traduire par un week-end de correctifs et de redéploiements sur des milliers d'applications : les attaques de cette classe sont largement absorbées ou atténuées au niveau du proxy, un counter s'incrémente sur un dashboard, et les applications continuent de servir leur trafic. Le « trust-by-default » n'est pas un slogan : c'est l'effet cumulé de dizaines de petits correctifs défensifs, livrés à la couche où la frontière de sécurité se joue véritablement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">3. De la visibilité à chaque couche</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'ajout le plus visible pour l'utilisateur en 2.0 est <strong>sozu top</strong> — une TUI opérateur (derrière le feature flag Cargo tui) qui offre une vue en temps réel, à la manière de btop ou htop, sur sept panes : Overview, Clusters, Backends, Listeners, H2, Certificates, Events. Palette accessible aux personnes daltoniennes, thèmes personnalisables : l'essentiel tient dans un terminal, sans dashboard externe.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sous la TUI, la surface des métriques elle-même a été refondue. Le multiplexer expose des counters par type de frame et par code d'erreur <a href="https://datatracker.ietf.org/doc/html/rfc9113">RFC 9113</a>, la télémétrie des handshakes TLS, des counters HTTP par status code, et de nouvelles gauges de cycle de vie du worker. L'access log gagne les champs TLS et de forwarding (version, cipher, SNI, ALPN, chaîne XFF), la propagation x_request_id de bout en bout, ainsi que les RTT client et serveur — de quoi corréler une requête d'un hop à l'autre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une nouvelle commande, SetMetricDetail, permet à un opérateur d'élever à la demande la cardinalité des métriques, via un lease à durée limitée qui expire : la production reste à faible cardinalité par défaut, et l'inspection fine devient une décision ponctuelle plutôt qu'une réécriture de configuration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour Clever Cloud, c'est le socle du <strong>prochain chapitre de l'observabilité tournée vers le client</strong> — percentiles de latence par application, disponibilité par cluster, décomposition des handshakes TLS, request IDs traçables d'un hop à l'autre. Les métriques existent désormais au niveau du proxy. L'étape suivante consiste à les exposer dans la console Clever Cloud, à leur juste place, aux côtés des vues de build et de déploiement — afin qu'aucun APM externe ne soit nécessaire pour comprendre le trafic que votre application reçoit véritablement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">4. Des policies de trafic enfin actionnables d'un geste</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sōzu 2.0 refond l'intégralité de la surface des policies côté frontend (#1231) : <strong>HSTS typé</strong> (<a href="https://datatracker.ietf.org/doc/html/rfc6797">RFC 6797</a>), configurable par listener et par frontend ; <strong>URL rewrite</strong> (host, path, port) avec propagation des regex captures depuis le routing trie vers les rewrite templates ; <strong>réécriture des headers</strong> de requête et de réponse par frontend — ajouter, modifier ou supprimer n'importe quel header (une valeur vide le supprime, parité avec le del-header de HAProxy), avec en complément l'injection de X-Real-IP au niveau listener et l'élision anti-spoofing des valeurs fournies par le client ; <strong>redirects HTTP 301 / 302 / 308</strong> au travers d'une enum typée RedirectPolicy ; et l'<strong>authentification HTTP Basic</strong> par frontend, avec des credentials hashés en SHA-256 et une comparaison constant-time assurée par la crate subtle (le credential boundary est durci contre les side-channels temporels — la code review l'avait identifié).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est la partie de la release où l'opportunité produit est la plus saillante. Aujourd'hui, mener une migration de domaine propre sur une plateforme managée requiert typiquement soit un backend sachant rediriger, soit un service de redirection déployé en parallèle ; placer une URL de preview derrière un mot de passe requiert typiquement un add-on d'authentification. <strong>Avec Sōzu 2.0, ces usages deviennent des boutons sur le proxy.</strong> La plomberie existe ; ce qu'il reste à accomplir, c'est d'exposer ces boutons dans la console Clever Cloud — sous la forme d'une case à cocher sur un domaine, ou d'un toggle à clic unique pour les preview environments. C'est la surface no-code de contrôle du trafic que nous voulons construire ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">5. L'exploitation comme bénéfice pour le client</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une réécriture de cette profondeur ne se livre sereinement que si la flotte demeure en mouvement en dessous. L'exploitation au quotidien a reçu une attention particulière en 2.0.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>sozu listener {http,https,tcp} update est un nouveau patch verb field-masked qui ajuste à la volée les paramètres d'un listener modifiables sans recycler les sockets sous-jacents : seuils de flood HTTP/2, SNI binding, préférence ALPN, idle timeouts, HSTS, custom answers. <strong>Les mitigations CVE peuvent désormais être resserrées sous attaque sans recycler les sockets d'écoute.</strong> Les health checks actifs des backends s'exécutent à l'intérieur de la loop d'événements mio existante (aucun scheduler async, aucun thread supplémentaire), avec des sondes HTTP/1.1 et HTTP/2, des intervalles dotés d'un léger jitter, et un fail-open path qui achemine à travers les backends au statut Normal dont la retry policy l'autorise. L'intégration systemd (qui clôt #228) effectue enfin ce qu'il convient : des units Type=notify, un READY=1 envoyé seulement après la création des workers initiaux et le replay de l'état sauvegardé, un STOPPING=1 lors du graceful shutdown, un MAINPID=&lt;nouveau&gt; lors des hot upgrades.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les releases elles-mêmes ont changé de forme. Pousser un tag produit désormais <strong>dix tarballs pré-compilés</strong> (trois cibles Linux croisées avec jusqu'à quatre crypto providers), signés keyless via sigstore (cosign + GitHub OIDC), accompagnés d'une attestation SLSA build provenance et d'un pointeur SOURCE.txt vers le code source correspondant satisfaisant l'AGPL §6 et la LGPL §4 — refermant ainsi l'écart noté dans #1089. Les fichiers fullchain.pem ACME se chargent à présent proprement, y compris lorsque le client a émis le leaf en tête de chaîne (Certbot, lego, acme.sh) ; une race condition vieille de six ans sur l'auto-restart des workers (#515) est corrigée par pinning de l'inode original au moyen de /proc/self/fd. Le verbe IPC LoadState demeure forward-compatible avec les clients sozu-command-lib 1.1.1, de sorte que l'écosystème d'intégrations ne se brise pas lors de l'upgrade.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À l'échelle de Clever Cloud, le coût d'un incident d'exploitation ne se mesure pas en tickets — il s'agit d'une latence qui s'accumule sur des milliers d'applications, et du temps d'ingénierie que nous devons à la construction de l'étape suivante. <strong>Sōzu 2.0 est le proxy qui se laisse exploiter en silence, et cette tranquillité est ce que les clients vivent comme de l'uptime.</strong> C'est également ce qui rend Sōzu crédible comme outil que l'on peut exécuter sur sa propre infrastructure : binaires signés, hot reloads, particularités ACME absorbées, intégration systemd menée correctement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">6. Une crypto prête pour demain</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La pile TLS a reçu une refonte plus discrète, mais d'égale importance (#1191). Sōzu prend désormais en charge <strong>quatre crypto providers pluggables</strong> pour rustls : crypto-ring (par défaut), crypto-aws-lc-rs, crypto-openssl, et fips (qui implique aws-lc-rs en mode FIPS). Les quatre sont exercés par la CI, et la precedence chain fips &gt; ring &gt; aws-lc-rs &gt; openssl résout le provider actif de manière déterministe lorsque plusieurs features sont activées simultanément.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce dont nous sommes le plus satisfaits, en revanche, est le groups_list par défaut : <strong>X25519MLKEM768</strong><strong> est désormais le groupe d'échange de clés en première préférence</strong> lorsque le provider le prend en charge. Il s'agit de l'hybride post-quantique en cours de normalisation à l'IETF (<a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem">draft-ietf-tls-ecdhe-mlkem</a>), déjà enregistré dans le registre TLS de l'IANA ; en pratique, cela signifie qu'un client uniquement compatible X25519 et un client post-quantum négocient l'un comme l'autre l'échange le plus robuste mutuellement pris en charge, sans aucune action de l'opérateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lorsque la transition post-quantique deviendra une exigence réglementaire — selon un calendrier dont l'industrie débat encore — <strong>les fondations seront déjà en place sur Clever Cloud</strong> : tout client TLS 1.3 qui propose l'hybride le négocie dès aujourd'hui, sans action de l'opérateur. Nous avons effectué ce choix en silence, et nous l'avons inscrit par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Du reverse proxy à l'edge programmable</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sōzu a toujours été un <strong>load balancer d'infrastructure</strong> : bien au-delà du HTTP, il équilibre aussi du TCP brut, avec un chemin de forwarding zéro-copie via splice(2) sous Linux pour les listeners TCP. Avec la 2.0, il se rapproche d'une <strong>API gateway</strong> et devient le substrat d'un <strong>edge programmable</strong> — et « programmable » est le mot qui compte. Chaque capacité décrite ci-dessus (HTTP/2 par défaut, contrôles anti-abus, observabilité, policies de trafic, crypto agility, calme opérationnel) est un bouton. L'année qui vient de la roadmap Clever Cloud consiste à exposer ces boutons sous la forme de features produit : à travers la console, à travers l'API, à travers les workflows que vous utilisez déjà pour déployer vos applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voilà ce que nous voulons dire lorsque nous affirmons que Sōzu 2.0 est un premier pas vers quelque chose de plus grand. La 2.0 n'est pas la destination — c'est la plateforme sur laquelle nous bâtissons désormais. Le HTTP/2 managé, partout, en constitue la première brique. La deuxième : une console permettant d'activer HSTS, de protéger par mot de passe un preview environment, ou de rediriger un domaine migré. L'aboutissement — un edge entièrement programmable, doté de policy primitives que vous composez — est ce vers quoi nous bâtissons au fil du prochain release cycle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Deux chantiers sont déjà sur l'établi. D'abord, un volet <strong>load balancing UDP</strong> — dans l'esprit d'IPVS, mais avec le rechargement à chaud propre à Sōzu — assorti de <strong>health checks TCP</strong> pour valider la disponibilité des backends UDP ; de quoi ancrer un peu plus le rôle de load balancer d'infrastructure. Ensuite, des <strong>backends joignables en HTTPS</strong>, qui consolident la connectivité amont et ouvrent la voie à l'API gateway.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sōzu est un projet open source publié sous AGPL-3.0 (la command library est diffusée sous LGPL-3.0). Les binaires de la version 2.0 sont signés via sigstore et embarquent une attestation SLSA ; si vous opérez votre propre edge, cette version vous appartient : à utiliser, à auditer, à étendre. Le code, l'issue tracker, et les conversations vivent à l'adresse <a href="https://github.com/sozu-proxy/sozu">github.com/sozu-proxy/sozu</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous remercions les contributeurs qui ont rendu cette release possible — ainsi que toutes celles et ceux qui exécutent Sōzu en production, dont les retours guident la suite.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Références</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Standards et spécifications</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>RFC 6797</strong> — HTTP Strict Transport Security (HSTS). <a href="https://datatracker.ietf.org/doc/html/rfc6797">https://datatracker.ietf.org/doc/html/rfc6797</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 7540</strong> — Hypertext Transfer Protocol Version 2 (HTTP/2). Désormais obsolétée par la RFC 9113, mais le §9.1.1 sur le connection coalescing demeure la citation reprise par la RFC 9113. <a href="https://datatracker.ietf.org/doc/html/rfc7540">https://datatracker.ietf.org/doc/html/rfc7540</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 9113</strong> — HTTP/2 (en vigueur). §5 streams, §6 frames, §6.8 GOAWAY, §7 codes d'erreur, §8.1 sémantique HTTP. <a href="https://datatracker.ietf.org/doc/html/rfc9113">https://datatracker.ietf.org/doc/html/rfc9113</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>RFC 9218</strong> — Extensible Prioritization Scheme for HTTP. <a href="https://datatracker.ietf.org/doc/html/rfc9218">https://datatracker.ietf.org/doc/html/rfc9218</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>draft-ietf-tls-ecdhe-mlkem</strong> — Hybrid key exchange in TLS 1.3 : X25519MLKEM768 (Internet-Draft IETF, enregistré à l'IANA ; l'hybride post-quantique que Sōzu privilégie par défaut). <a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem">https://datatracker.ietf.org/doc/html/draft-ietf-tls-ecdhe-mlkem</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">CVE</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>CVE-2019-9512</strong> — HTTP/2 Ping Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9512">https://nvd.nist.gov/vuln/detail/CVE-2019-9512</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2019-9515</strong> — HTTP/2 Settings Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9515">https://nvd.nist.gov/vuln/detail/CVE-2019-9515</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2019-9518</strong> — HTTP/2 Empty Frames Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-9518">https://nvd.nist.gov/vuln/detail/CVE-2019-9518</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2021-42574</strong> — Trojan Source (bidirectional override). <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-42574">https://nvd.nist.gov/vuln/detail/CVE-2021-42574</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2023-44487</strong> — HTTP/2 Rapid Reset. <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-44487">https://nvd.nist.gov/vuln/detail/CVE-2023-44487</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2024-27316</strong> — HTTP/2 CONTINUATION Flood. <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27316">https://nvd.nist.gov/vuln/detail/CVE-2024-27316</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CVE-2025-8671</strong> — MadeYouReset (HTTP/2). <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-8671">https://nvd.nist.gov/vuln/detail/CVE-2025-8671</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pour aller plus loin</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cloudflare</strong> — <em>HTTP/2 Rapid Reset: deconstructing the record-breaking attack</em>. Le compte rendu canonique de la divulgation coordonnée d'octobre 2023, incluant la mécanique de l'attaque ainsi que le pic de 398 millions de rps capturé en direct. <a href="https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/">https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>HAProxy Technologies</strong> — <em>HAProxy is Not Affected by the HTTP/2 Rapid Reset Attack (CVE-2023-44487)</em>. L'argument structurel de HAProxy quant à la raison pour laquelle son cycle de vie de stream absorbe naturellement le Rapid Reset ; un contraste utile face à l'approche par counters de flood retenue par Sōzu. <a href="https://www.haproxy.com/blog/haproxy-is-not-affected-by-the-http-2-rapid-reset-attack-cve-2023-44487">https://www.haproxy.com/blog/haproxy-is-not-affected-by-the-http-2-rapid-reset-attack-cve-2023-44487</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Cloudflare blog — série Post-quantum</strong>. Couverture pluriannuelle assurée par Bas Westerbaan et ses collaborateurs sur l'échange de clés post-quantique et les groupes hybrides ; filiation de l'hybride X25519MLKEM768 que Sōzu négocie désormais par défaut. <a href="https://blog.cloudflare.com/tag/post-quantum/">https://blog.cloudflare.com/tag/post-quantum/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Cloudflare Learning Center</strong> — <em>What is HSTS?</em>. Primer accessible sur HSTS, la sémantique max-age / includeSubDomains / preload, et la politique de la HSTS preload list.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>K3s vs K8s : quelles différences et lequel choisir en 2026 ?</title>
		<link>https://www.clever.cloud/fr/blog/fonctionnalites/2026/05/28/k3s-vs-k8s-quelles-differences-et-lequel-choisir-en-2026/</link>
		
		<dc:creator><![CDATA[Marjorie Darrigade]]></dc:creator>
		<pubDate>Thu, 28 May 2026 07:19:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[K3s]]></category>
		<category><![CDATA[K8S]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24406</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K3s vs K8s" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>En résumé : K3s est une distribution Kubernetes certifiée CNCF, optimisée pour les environnements contraints (edge, IoT, labs). K8s désigne le projet Kubernetes originel, conçu pour des clusters de production à grande échelle. Le choix dépend de vos ressources disponibles, de votre contexte de déploiement et de votre charge opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K8s : le Kubernetes standard entreprise</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K8s</strong> est l'abréviation de Kubernetes, le « 8 » représentant les huit lettres entre le « K » et le « s ». Il s'agit du projet open source original, maintenu par la Cloud Native Computing Foundation (CNCF) et initialement développé par Google.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est conçu pour des <strong>environnements de production à grande échelle</strong> : clusters multi-nœuds, haute disponibilité, intégration avec les clouds publics (AWS, GCP, Azure) ou des datacenters on-premises. Son plan de contrôle comprend plusieurs composants distincts : API server, scheduler, controller manager, etcd, déployés séparément, ce qui offre une flexibilité maximale mais requiert une expertise opérationnelle significative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Prérequis typiques pour un nœud control plane en production</strong> : 2 vCPU et 2 Go de RAM au minimum pour les composants Kubernetes seuls, sans compter etcd ni les charges applicatives.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K3s : une distribution Kubernetes certifiée CNCF, pas un fork</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K3s est une distribution certifiée de Kubernetes</strong>, pas une version allégée non officielle ni un fork. Créé par Rancher Labs, il a été <a href="https://thenewstack.io/ranchers-k3s-joins-cncf-sandbox-as-first-kubernetes-distribution/" target="_blank" rel="noreferrer noopener">donné à la CNCF en juin 2020</a> et passe les mêmes tests de conformité Sonobuoy que toutes les distributions certifiées. Tout manifeste Kubernetes valide fonctionne sur K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Son objectif principal : <strong>réduire drastiquement les ressources nécessaires</strong> pour faire tourner Kubernetes sur des environnements contraints (edge, IoT, CI/CD, labs)&nbsp; sans renoncer à la compatibilité API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Ce que K3s change par rapport à K8s</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://k3s.io/" target="_blank" rel="noreferrer noopener"><strong>Binary unique</strong> de moins de 70 Mo</a> (x86, ARM64, ARMv7 et S390X supportés), incluant le runtime containerd, le CNI Flannel, un Ingress Traefik et un load balancer Klipper.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>SQLite comme datastore par défaut</strong> en single-node, au lieu d'etcd. En configuration haute disponibilité (3 nœuds serveur minimum), K3s peut utiliser <strong>etcd embarqué</strong> ou un datastore externe (MySQL, PostgreSQL, etcd externe).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Composants alpha/beta retirés</strong> pour réduire la surface d'attaque et l'empreinte mémoire.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Point important</strong> : K3s ne supprime pas etcd ; il le rend optionnel. En single-node, SQLite suffit. En haute disponibilité, etcd embarqué ou externe est supporté - mais ce dernier n'est pas officiellement pris en charge par l'équipe K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Empreinte ressources</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s fonctionne à partir de <strong>512 Mo de RAM</strong> sur un nœud agent. Un server node (control plane) requiert <strong>2 Go de RAM et 2 cœurs CPU</strong> selon <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> (mise à jour mai 2026), hors charge applicative. Un profil mesuré à la charge est disponible dans le <a href="https://docs.k3s.io/reference/resource-profiling" target="_blank" rel="noreferrer noopener">guide de resource profiling K3s</a>. À noter : en test sur du matériel avec 1 Go de RAM total, les distributions K3s, k0s et MicroK8s ont montré des instabilités lors du déploiement de charges applicatives réelles (un seul cluster Kubernetes, même léger, consomme des ressources de contrôle non négligeables).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Différences techniques clés</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Datastore</h3>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Scénario</th>
        <th>K8s</th>
        <th>K3s</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Single-node</td>
        <td>etcd requis</td>
        <td>SQLite par défaut</td>
      </tr>
      <tr>
        <td>Multi-node haute disponibilité</td>
        <td>etcd</td>
        <td>etcd embarqué ou externe (MySQL, PostgreSQL)</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Runtime et packaging</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K8s ne fournit pas de runtime par défaut depuis la suppression de dockershim (v1.24, 2022). À partir de Kubernetes 1.24, vous devez installer un runtime CRI-compatible (containerd ou CRI-O). K3s embarque containerd directement dans son binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Architecture du plan de contrôle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans K8s, les composants du plan de contrôle (API server, scheduler, controller manager) sont des processus séparés. Dans K3s, ils sont fusionnés en un seul binaire, ce qui réduit l'overhead mais limite certaines configurations avancées d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s est adapté à des clusters de taille modérée. En configuration haute disponibilité (3 server nodes, 4 vCPU / 8 Go de RAM), <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> indique une capacité d'environ 1 200 agents. Pour des clusters de très grande taille (plusieurs milliers de nœuds), K8s  reste la référence.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tableau comparatif K3s vs K8s</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table tbody td:first-child {
    font-weight: 600;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Critère</th>
        <th>K3s</th>
        <th>K8s</th>
      </tr>
    </thead>
    <tbody>
      <tr><td>Certification CNCF</td><td>Oui (distribution certifiée)</td><td>Oui (projet originel)</td></tr>
      <tr><td>Taille du binaire</td><td>&lt; 100 Mo</td><td>Non applicable (composants séparés)</td></tr>
      <tr><td>Datastore par défaut</td><td>SQLite (single-node) / etcd (haute disponibilité)</td><td>etcd</td></tr>
      <tr><td>Runtime embarqué</td><td>containerd</td><td>Non (à installer séparément)</td></tr>
      <tr><td>Support ARM</td><td>Oui (ARM64, ARMv7)</td><td>Oui (dépend de la distribution)</td></tr>
      <tr><td>Ingress par défaut</td><td>Traefik (inclus)</td><td>Non (à déployer séparément)</td></tr>
      <tr><td>Compatibilité API</td><td>APIs requises certifiées CNCF</td><td>Référence (projet originel)</td></tr>
      <tr><td>Scalabilité max documentée</td><td>~1200 agents (haute disponibilité 3 serveurs)</td><td>Plusieurs milliers de nœuds</td></tr>
      <tr><td>Cas d’usage principal</td><td>Edge, IoT, lab, CI/CD</td><td>Entreprise, cloud, datacenters</td></tr>
      <tr><td>Complexité opérationnelle</td><td>Faible</td><td>Élevée</td></tr>
      <tr><td>Composants alpha/beta</td><td>Retirés</td><td>Inclus</td></tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas d'usage : lequel choisir ?</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K3s si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous déployez sur du <strong>matériel contraint</strong> (Raspberry Pi, appliances industrielles, serveurs edge avec peu de RAM).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous gérez des <strong>clusters IoT ou edge</strong> distants, potentiellement en mode déconnecté.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin d'un <strong>cluster de développement ou de CI</strong> démarrant rapidement, y compris sur matériel modeste.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous souhaitez un cluster opérationnel avec <strong>un minimum de configuration initiale</strong>.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K8s (ou une distribution enterprise) si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous orchestrez des <strong>centaines ou milliers de nœuds</strong> en production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vos workloads requièrent des <strong>intégrations cloud-natives avancées</strong> (stockage, load balancers, IAM) fournies par les hyperscalers.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin de <strong>composants API en alpha/beta</strong> non disponibles dans K3s.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Votre organisation dispose d'une <strong>équipe SRE dédiée</strong> à l'exploitation de clusters.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas hybrides : K3s et K8s ensemble</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s et K8s ne sont pas mutuellement exclusifs. Plusieurs architectures hybrides sont documentées en production :</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Fleet management avec Rancher</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des clusters K3s edge sont pilotés depuis un plan de contrôle central tournant sur K8s ou RKE2. The Home Depot (grande distribution américaine, plus de 2 300 magasins) <a href="https://www.datacenterknowledge.com/data-center-site-selection/home-depot-upgrades-2-300-retail-edge-locations-using-suse-rancher-k3s" target="_blank" rel="noreferrer noopener">gère ainsi ses sites avec K3s supervisé depuis Rancher</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Clusters de dev et staging K3s, prod K8s</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La compatibilité API garantit que les manifests et charts Helm testés sur K3s fonctionnent en production sur un cluster enterprise. Cette parité réduit les surprises en promotion d'environnements.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>CI/CD</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des pipelines de test tournent sur K3s (faible coût, démarrage rapide) pendant que les environnements de production utilisent un cluster K8s managé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes managé : une troisième voie</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ni K3s ni K8s ne résolvent la question de l'<strong>opération quotidienne</strong> : mises à jour, certificats, surveillance du plan de contrôle, gestion des défaillances. C'est précisément ce que couvrent les solutions de Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les hyperscalers (EKS, GKE, AKS) proposent cette gestion dans leurs propres clouds. Mais des solutions managées existent aussi en dehors de ces écosystèmes, notamment pour des organisations qui souhaitent conserver la maîtrise de leurs données et opter pour un Kubernetes souverain, voire un Kubernetes français.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a> est le service Kubernetes managé de Clever Cloud, conçu pour des équipes qui utilisent déjà Kubernetes et souhaitent déléguer la gestion du plan de contrôle (updates, haute disponibilité, monitoring) sans être contraints dans un seul hyperscaler. CKE s'adresse explicitement aux équipes que le modèle <a href="https://www.clever.cloud/fr/paas/">PaaS</a> traditionnel ne couvre pas (cas multi-runtime, workloads non-twelve-factor, ou besoin de contrôle granulaire sur les ressources).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"150px"} -->
<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s est-il un fork de Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. K3s est une distribution certifiée CNCF de Kubernetes. Il passe les tests de conformité Sonobuoy et respecte les mêmes APIs que K8s Il n'est pas maintenu en parallèle de Kubernetes : il suit les releases du projet originel.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Peut-on utiliser K3s en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui, avec des nuances. K3s est documenté pour des charges de production dans des environnements contraints (edge, IoT). Pour des clusters à grande échelle ou des workloads critiques avec des exigences de SLA élevées, le K8s&nbsp; (ou une distribution enterprise comme RKE2) est plus adapté.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s supporte-t-il Helm ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K3s inclut un contrôleur Helm intégré et est compatible avec toute chart Helm valide.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre K3s et K3d ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3d est un outil qui fait tourner K3s dans des conteneurs Docker. Il simplifie encore davantage la création de clusters K3s locaux pour le développement, mais n'est pas destiné à la production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s fonctionne-t-il sur ARM ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. ARM64 et ARMv7 sont nativement supportés, ce qui explique sa popularité sur Raspberry Pi et les appliances industrielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes managé vs K3s auto-hébergé : quoi choisir ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s auto-hébergé vous donne un contrôle total mais vous rend responsable des opérations (updates, sécurité, haute disponibilité). Un Kubernetes managé délègue cette responsabilité à un opérateur, au prix d'une dépendance envers ce fournisseur. Le choix dépend de vos ressources opérationnelles et de vos exigences de contrôle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"90px"} -->
<div style="height:90px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K3s vs K8s" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>En résumé : K3s est une distribution Kubernetes certifiée CNCF, optimisée pour les environnements contraints (edge, IoT, labs). K8s désigne le projet Kubernetes originel, conçu pour des clusters de production à grande échelle. Le choix dépend de vos ressources disponibles, de votre contexte de déploiement et de votre charge opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K8s : le Kubernetes standard entreprise</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K8s</strong> est l'abréviation de Kubernetes, le « 8 » représentant les huit lettres entre le « K » et le « s ». Il s'agit du projet open source original, maintenu par la Cloud Native Computing Foundation (CNCF) et initialement développé par Google.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est conçu pour des <strong>environnements de production à grande échelle</strong> : clusters multi-nœuds, haute disponibilité, intégration avec les clouds publics (AWS, GCP, Azure) ou des datacenters on-premises. Son plan de contrôle comprend plusieurs composants distincts : API server, scheduler, controller manager, etcd, déployés séparément, ce qui offre une flexibilité maximale mais requiert une expertise opérationnelle significative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Prérequis typiques pour un nœud control plane en production</strong> : 2 vCPU et 2 Go de RAM au minimum pour les composants Kubernetes seuls, sans compter etcd ni les charges applicatives.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K3s : une distribution Kubernetes certifiée CNCF, pas un fork</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K3s est une distribution certifiée de Kubernetes</strong>, pas une version allégée non officielle ni un fork. Créé par Rancher Labs, il a été <a href="https://thenewstack.io/ranchers-k3s-joins-cncf-sandbox-as-first-kubernetes-distribution/" target="_blank" rel="noreferrer noopener">donné à la CNCF en juin 2020</a> et passe les mêmes tests de conformité Sonobuoy que toutes les distributions certifiées. Tout manifeste Kubernetes valide fonctionne sur K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Son objectif principal : <strong>réduire drastiquement les ressources nécessaires</strong> pour faire tourner Kubernetes sur des environnements contraints (edge, IoT, CI/CD, labs)&nbsp; sans renoncer à la compatibilité API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Ce que K3s change par rapport à K8s</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://k3s.io/" target="_blank" rel="noreferrer noopener"><strong>Binary unique</strong> de moins de 70 Mo</a> (x86, ARM64, ARMv7 et S390X supportés), incluant le runtime containerd, le CNI Flannel, un Ingress Traefik et un load balancer Klipper.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>SQLite comme datastore par défaut</strong> en single-node, au lieu d'etcd. En configuration haute disponibilité (3 nœuds serveur minimum), K3s peut utiliser <strong>etcd embarqué</strong> ou un datastore externe (MySQL, PostgreSQL, etcd externe).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Composants alpha/beta retirés</strong> pour réduire la surface d'attaque et l'empreinte mémoire.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Point important</strong> : K3s ne supprime pas etcd ; il le rend optionnel. En single-node, SQLite suffit. En haute disponibilité, etcd embarqué ou externe est supporté - mais ce dernier n'est pas officiellement pris en charge par l'équipe K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Empreinte ressources</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s fonctionne à partir de <strong>512 Mo de RAM</strong> sur un nœud agent. Un server node (control plane) requiert <strong>2 Go de RAM et 2 cœurs CPU</strong> selon <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> (mise à jour mai 2026), hors charge applicative. Un profil mesuré à la charge est disponible dans le <a href="https://docs.k3s.io/reference/resource-profiling" target="_blank" rel="noreferrer noopener">guide de resource profiling K3s</a>. À noter : en test sur du matériel avec 1 Go de RAM total, les distributions K3s, k0s et MicroK8s ont montré des instabilités lors du déploiement de charges applicatives réelles (un seul cluster Kubernetes, même léger, consomme des ressources de contrôle non négligeables).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Différences techniques clés</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Datastore</h3>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Scénario</th>
        <th>K8s</th>
        <th>K3s</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Single-node</td>
        <td>etcd requis</td>
        <td>SQLite par défaut</td>
      </tr>
      <tr>
        <td>Multi-node haute disponibilité</td>
        <td>etcd</td>
        <td>etcd embarqué ou externe (MySQL, PostgreSQL)</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Runtime et packaging</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K8s ne fournit pas de runtime par défaut depuis la suppression de dockershim (v1.24, 2022). À partir de Kubernetes 1.24, vous devez installer un runtime CRI-compatible (containerd ou CRI-O). K3s embarque containerd directement dans son binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Architecture du plan de contrôle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans K8s, les composants du plan de contrôle (API server, scheduler, controller manager) sont des processus séparés. Dans K3s, ils sont fusionnés en un seul binaire, ce qui réduit l'overhead mais limite certaines configurations avancées d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s est adapté à des clusters de taille modérée. En configuration haute disponibilité (3 server nodes, 4 vCPU / 8 Go de RAM), <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> indique une capacité d'environ 1 200 agents. Pour des clusters de très grande taille (plusieurs milliers de nœuds), K8s  reste la référence.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tableau comparatif K3s vs K8s</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table tbody td:first-child {
    font-weight: 600;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Critère</th>
        <th>K3s</th>
        <th>K8s</th>
      </tr>
    </thead>
    <tbody>
      <tr><td>Certification CNCF</td><td>Oui (distribution certifiée)</td><td>Oui (projet originel)</td></tr>
      <tr><td>Taille du binaire</td><td>&lt; 100 Mo</td><td>Non applicable (composants séparés)</td></tr>
      <tr><td>Datastore par défaut</td><td>SQLite (single-node) / etcd (haute disponibilité)</td><td>etcd</td></tr>
      <tr><td>Runtime embarqué</td><td>containerd</td><td>Non (à installer séparément)</td></tr>
      <tr><td>Support ARM</td><td>Oui (ARM64, ARMv7)</td><td>Oui (dépend de la distribution)</td></tr>
      <tr><td>Ingress par défaut</td><td>Traefik (inclus)</td><td>Non (à déployer séparément)</td></tr>
      <tr><td>Compatibilité API</td><td>APIs requises certifiées CNCF</td><td>Référence (projet originel)</td></tr>
      <tr><td>Scalabilité max documentée</td><td>~1200 agents (haute disponibilité 3 serveurs)</td><td>Plusieurs milliers de nœuds</td></tr>
      <tr><td>Cas d’usage principal</td><td>Edge, IoT, lab, CI/CD</td><td>Entreprise, cloud, datacenters</td></tr>
      <tr><td>Complexité opérationnelle</td><td>Faible</td><td>Élevée</td></tr>
      <tr><td>Composants alpha/beta</td><td>Retirés</td><td>Inclus</td></tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas d'usage : lequel choisir ?</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K3s si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous déployez sur du <strong>matériel contraint</strong> (Raspberry Pi, appliances industrielles, serveurs edge avec peu de RAM).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous gérez des <strong>clusters IoT ou edge</strong> distants, potentiellement en mode déconnecté.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin d'un <strong>cluster de développement ou de CI</strong> démarrant rapidement, y compris sur matériel modeste.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous souhaitez un cluster opérationnel avec <strong>un minimum de configuration initiale</strong>.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K8s (ou une distribution enterprise) si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous orchestrez des <strong>centaines ou milliers de nœuds</strong> en production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vos workloads requièrent des <strong>intégrations cloud-natives avancées</strong> (stockage, load balancers, IAM) fournies par les hyperscalers.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin de <strong>composants API en alpha/beta</strong> non disponibles dans K3s.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Votre organisation dispose d'une <strong>équipe SRE dédiée</strong> à l'exploitation de clusters.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas hybrides : K3s et K8s ensemble</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s et K8s ne sont pas mutuellement exclusifs. Plusieurs architectures hybrides sont documentées en production :</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Fleet management avec Rancher</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des clusters K3s edge sont pilotés depuis un plan de contrôle central tournant sur K8s ou RKE2. The Home Depot (grande distribution américaine, plus de 2 300 magasins) <a href="https://www.datacenterknowledge.com/data-center-site-selection/home-depot-upgrades-2-300-retail-edge-locations-using-suse-rancher-k3s" target="_blank" rel="noreferrer noopener">gère ainsi ses sites avec K3s supervisé depuis Rancher</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Clusters de dev et staging K3s, prod K8s</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La compatibilité API garantit que les manifests et charts Helm testés sur K3s fonctionnent en production sur un cluster enterprise. Cette parité réduit les surprises en promotion d'environnements.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>CI/CD</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des pipelines de test tournent sur K3s (faible coût, démarrage rapide) pendant que les environnements de production utilisent un cluster K8s managé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes managé : une troisième voie</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ni K3s ni K8s ne résolvent la question de l'<strong>opération quotidienne</strong> : mises à jour, certificats, surveillance du plan de contrôle, gestion des défaillances. C'est précisément ce que couvrent les solutions de Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les hyperscalers (EKS, GKE, AKS) proposent cette gestion dans leurs propres clouds. Mais des solutions managées existent aussi en dehors de ces écosystèmes, notamment pour des organisations qui souhaitent conserver la maîtrise de leurs données et opter pour un Kubernetes souverain, voire un Kubernetes français.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a> est le service Kubernetes managé de Clever Cloud, conçu pour des équipes qui utilisent déjà Kubernetes et souhaitent déléguer la gestion du plan de contrôle (updates, haute disponibilité, monitoring) sans être contraints dans un seul hyperscaler. CKE s'adresse explicitement aux équipes que le modèle <a href="https://www.clever.cloud/fr/paas/">PaaS</a> traditionnel ne couvre pas (cas multi-runtime, workloads non-twelve-factor, ou besoin de contrôle granulaire sur les ressources).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"150px"} -->
<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s est-il un fork de Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. K3s est une distribution certifiée CNCF de Kubernetes. Il passe les tests de conformité Sonobuoy et respecte les mêmes APIs que K8s Il n'est pas maintenu en parallèle de Kubernetes : il suit les releases du projet originel.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Peut-on utiliser K3s en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui, avec des nuances. K3s est documenté pour des charges de production dans des environnements contraints (edge, IoT). Pour des clusters à grande échelle ou des workloads critiques avec des exigences de SLA élevées, le K8s&nbsp; (ou une distribution enterprise comme RKE2) est plus adapté.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s supporte-t-il Helm ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K3s inclut un contrôleur Helm intégré et est compatible avec toute chart Helm valide.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre K3s et K3d ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3d est un outil qui fait tourner K3s dans des conteneurs Docker. Il simplifie encore davantage la création de clusters K3s locaux pour le développement, mais n'est pas destiné à la production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s fonctionne-t-il sur ARM ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. ARM64 et ARMv7 sont nativement supportés, ce qui explique sa popularité sur Raspberry Pi et les appliances industrielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes managé vs K3s auto-hébergé : quoi choisir ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s auto-hébergé vous donne un contrôle total mais vous rend responsable des opérations (updates, sécurité, haute disponibilité). Un Kubernetes managé délègue cette responsabilité à un opérateur, au prix d'une dépendance envers ce fournisseur. Le choix dépend de vos ressources opérationnelles et de vos exigences de contrôle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"90px"} -->
<div style="height:90px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comment Clever Cloud répond aux vulnérabilités kernel ?</title>
		<link>https://www.clever.cloud/fr/blog/engineering-fr/2026/05/26/vulnerabilites-kernel-cloud/</link>
		
		<dc:creator><![CDATA[Leo Le Levé Dandé]]></dc:creator>
		<pubDate>Tue, 26 May 2026 13:51:09 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[CVE]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24382</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05 SEO Comment Clever Cloud répond aux vulnérabilités kernel FR" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Plusieurs vulnérabilités récentes du noyau Linux ont nécessité une réponse rapide de la part des opérateurs d'infrastructure. Parmi elles, <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-002">Copy Fail</a> et <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-003">Dirty Frag</a> ont attiré l'attention car elles concernent des scénarios d'élévation locale de privilèges. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Copy Fail est suivie sous la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-31431">CVE-2026-31431</a>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dirty Frag regroupe deux vulnérabilités distinctes, la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-43284">CVE-2026-43284</a> et la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-43500">CVE-2026-43500</a>, liées à des composants du noyau Linux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Chez Clever Cloud, nous avons traité ces vulnérabilités comme des sujets d'infrastructure critiques. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre objectif était double : réduire rapidement la fenêtre d'exposition, puis améliorer durablement notre processus de sélection et de déploiement des kernels.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cet article revient sur notre approche, les décisions prises et les changements apportés à notre chaîne d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi ces vulnérabilités demandaient une réaction rapide</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Copy Fail et Dirty Frag appartiennent à la famille des vulnérabilités d'élévation locale de privilèges. Dans ce type de scénario, un attaquant doit déjà pouvoir exécuter du code localement, mais peut ensuite tenter d'obtenir des privilèges plus élevés sur la machine concernée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dirty Frag repose sur deux failles du noyau Linux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elles affectent notamment des modules liés à ESP, utilisé par <a href="https://fr.wikipedia.org/wiki/Internet_Protocol_Security">IPsec</a>, et à <a href="https://docs.kernel.org/networking/rxrpc.html">RxRPC</a>. Dans une plateforme cloud, ce type de vulnérabilité impose une analyse rapide. Le risque ne se limite pas à la machine isolée. Il faut aussi évaluer les scénarios liés aux environnements mutualisés, aux workloads containerisés et aux mécanismes d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que nous avons vérifié</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons analysé l'impact potentiel de ces vulnérabilités sur nos environnements. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette étape ne consiste pas seulement à lire les avis de sécurité. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elle consiste aussi à vérifier si un scénario théorique peut devenir pertinent dans notre contexte d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le cas de CopyFail, la faille venait sous embargo avec son correctif. Nous avons publié une nouvelle image système avec le correctif appliqué dans les jours qui ont suivi. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les applications de nos clients ont été redéployées dans la foulée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le cas de Dirty Frag, nos analyses internes ont confirmé que ces vulnérabilités devaient être traitées sérieusement. En effet, les modules ESP sont activés dans nos noyaux pour répondre à certains besoins client spécifiques. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Heureusement, les modules liés à RxRPC ne sont pas présents chez nous car inutile dans notre usage. Nous ne détaillons pas ici les étapes techniques de l'exploitation, car l'objectif de cet article est d'informer nos clients, pas de publier une procédure reproductible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette validation a confirmé la décision opérationnelle : traiter le sujet immédiatement, réduire la surface exposée, puis forcer les redéploiements nécessaires.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<table style="border-collapse:collapse;width:100%;font-family:Arial,sans-serif;">
<thead>
<tr style="background:#f5f5f5;">
<th style="border:1px solid #ddd;padding:12px 16px;text-align:left;">Période</th>
<th style="border:1px solid #ddd;padding:12px 16px;text-align:left;">Action</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">30 Avril 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Déploiement rapide de premières mitigations kernel</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">7 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Mise à jour des kernels concernés par les nouvelles vulnérabilités</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">8 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Redéploiement progressif des workloads pour appliquer les correctifs</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">11 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Mise en production de l'intégration de la gestion des kernels dans la chaîne d'orchestration</td>
</tr>
</tbody>
</table>
<!-- /wp:html -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Notre réponse opérationnelle</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Déployer des mesures immédiates</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d'abord appliqué des mesures rapides sur les kernels concernés. Dans le cas de Dirty Frag, les mesures publiques recommandées portent notamment sur les composants kernel concernés par ESP et RxRPC.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté Clever Cloud, l'objectif était clair : réduire les surfaces exposées identifiées et réduire la fenêtre d'exposition avant d'attendre un cycle classique de maintenance</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Redéployer les workloads concernés</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une mise à jour kernel n'est utile que si les systèmes concernés redémarrent effectivement sur un environnement corrigé. Nous avons donc lancé un redéploiement progressif des applications, puis traité les cas qui bloquaient ce redéploiement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette phase est importante. Dans une plateforme managée, la correction ne se limite pas à produire une image ou à compiler un kernel. Il faut aussi s'assurer que la chaîne d'exécution utilise réellement la version attendue.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Améliorer le processus au passage</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons aussi profité de cette séquence pour remplacer un mécanisme temporaire par une intégration plus propre dans notre chaîne d'orchestration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Concrètement, le choix du kernel est désormais transmis plus explicitement dans notre chaîne interne, jusqu'à Supernova, notre agent d'hyperviseur. Cette évolution remplace le contournement plus rigide mis en place dans l'urgence.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est le point central de cette intervention : corriger vite, puis rendre la correction plus fiable pour les prochaines opérations.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que cela change pour les clients de Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour les clients, l'effet attendu est simple : réduire l'exposition sans action manuelle de leur part lorsque la plateforme peut prendre en charge le redéploiement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Clever Cloud exploite une architecture qui repose notamment sur l'isolation par virtualisation. Cette approche est documentée dans <a href="https://www.clever-cloud.com/fr/security/">nos pages sécurité</a> et dans nos contenus techniques sur l'exécution de conteneurs dans des machines virtuelles. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elle ne supprime pas tous les risques, mais elle limite certains scénarios de mouvement latéral par rapport à des modèles où plusieurs workloads partagent directement le même environnement d'exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous évitons toutefois de présenter cette isolation comme une garantie absolue. Une vulnérabilité kernel doit toujours être traitée sérieusement. C'est pourquoi nous avons combiné mitigation, redéploiement et amélioration de notre chaîne d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que nous retenons</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cette séquence confirme trois principes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, une vulnérabilité kernel doit être analysée dans son contexte réel d'exploitation. Une alerte publique ne suffit pas. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il faut comprendre si les conditions nécessaires à l'exploitation peuvent exister sur la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, la vitesse de réaction compte. Les vulnérabilités Copy Fail et Dirty Frag ont été divulguées publiquement à quelques jours d'intervalle, avec des analyses publiées par plusieurs acteurs de l'écosystème Linux et cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, une réponse sécurité utile ne doit pas seulement corriger le problème du moment. Elle doit aussi améliorer le système qui permettra de répondre au prochain incident.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce que nous avons fait ici : traiter les vulnérabilités, réduire la fenêtre d'exposition et renforcer notre processus de gestion des kernels.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Qu'est-ce qu'une vulnérabilité kernel locale ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une vulnérabilité kernel locale est une faille qui nécessite déjà une capacité d'exécution sur la machine concernée. Elle peut ensuite permettre d'obtenir des privilèges plus élevés, par exemple root, si le noyau est vulnérable.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Pourquoi ces failles concernent-elles les plateformes cloud ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les plateformes cloud exécutent de nombreux workloads avec des mécanismes d'isolation. Une faille kernel peut devenir critique si elle permet de franchir certaines barrières entre processus, conteneurs ou environnements d'exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Dirty Frag et Copy Fail sont-elles la même vulnérabilité ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Copy Fail est suivie sous la CVE-2026-31431. Dirty Frag regroupe la CVE-2026-43284 et la CVE-2026-43500. Ces vulnérabilités sont proches par leur impact, mais elles sont distinctes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Quelle action est demandée aux clients Clever Cloud ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Aucune action générale n'est demandée aux clients pour les environnements pris en charge par la plateforme. L'automatisation apportée par Clever Cloud a permis de tout mettre à jour sans action nécessaire. Les cas spécifiques font l'objet d'un suivi dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05 SEO Comment Clever Cloud répond aux vulnérabilités kernel FR" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-seo-comment-clever-cloud-repond-aux-vulnerabilites-kernel--fr-1-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Plusieurs vulnérabilités récentes du noyau Linux ont nécessité une réponse rapide de la part des opérateurs d'infrastructure. Parmi elles, <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-002">Copy Fail</a> et <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-003">Dirty Frag</a> ont attiré l'attention car elles concernent des scénarios d'élévation locale de privilèges. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Copy Fail est suivie sous la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-31431">CVE-2026-31431</a>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dirty Frag regroupe deux vulnérabilités distinctes, la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-43284">CVE-2026-43284</a> et la <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-43500">CVE-2026-43500</a>, liées à des composants du noyau Linux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Chez Clever Cloud, nous avons traité ces vulnérabilités comme des sujets d'infrastructure critiques. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre objectif était double : réduire rapidement la fenêtre d'exposition, puis améliorer durablement notre processus de sélection et de déploiement des kernels.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cet article revient sur notre approche, les décisions prises et les changements apportés à notre chaîne d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi ces vulnérabilités demandaient une réaction rapide</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Copy Fail et Dirty Frag appartiennent à la famille des vulnérabilités d'élévation locale de privilèges. Dans ce type de scénario, un attaquant doit déjà pouvoir exécuter du code localement, mais peut ensuite tenter d'obtenir des privilèges plus élevés sur la machine concernée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dirty Frag repose sur deux failles du noyau Linux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elles affectent notamment des modules liés à ESP, utilisé par <a href="https://fr.wikipedia.org/wiki/Internet_Protocol_Security">IPsec</a>, et à <a href="https://docs.kernel.org/networking/rxrpc.html">RxRPC</a>. Dans une plateforme cloud, ce type de vulnérabilité impose une analyse rapide. Le risque ne se limite pas à la machine isolée. Il faut aussi évaluer les scénarios liés aux environnements mutualisés, aux workloads containerisés et aux mécanismes d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que nous avons vérifié</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons analysé l'impact potentiel de ces vulnérabilités sur nos environnements. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette étape ne consiste pas seulement à lire les avis de sécurité. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elle consiste aussi à vérifier si un scénario théorique peut devenir pertinent dans notre contexte d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le cas de CopyFail, la faille venait sous embargo avec son correctif. Nous avons publié une nouvelle image système avec le correctif appliqué dans les jours qui ont suivi. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les applications de nos clients ont été redéployées dans la foulée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le cas de Dirty Frag, nos analyses internes ont confirmé que ces vulnérabilités devaient être traitées sérieusement. En effet, les modules ESP sont activés dans nos noyaux pour répondre à certains besoins client spécifiques. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Heureusement, les modules liés à RxRPC ne sont pas présents chez nous car inutile dans notre usage. Nous ne détaillons pas ici les étapes techniques de l'exploitation, car l'objectif de cet article est d'informer nos clients, pas de publier une procédure reproductible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette validation a confirmé la décision opérationnelle : traiter le sujet immédiatement, réduire la surface exposée, puis forcer les redéploiements nécessaires.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<table style="border-collapse:collapse;width:100%;font-family:Arial,sans-serif;">
<thead>
<tr style="background:#f5f5f5;">
<th style="border:1px solid #ddd;padding:12px 16px;text-align:left;">Période</th>
<th style="border:1px solid #ddd;padding:12px 16px;text-align:left;">Action</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">30 Avril 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Déploiement rapide de premières mitigations kernel</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">7 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Mise à jour des kernels concernés par les nouvelles vulnérabilités</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">8 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Redéploiement progressif des workloads pour appliquer les correctifs</td>
</tr>
<tr>
<td style="border:1px solid #ddd;padding:12px 16px;">11 Mai 2026</td>
<td style="border:1px solid #ddd;padding:12px 16px;">Mise en production de l'intégration de la gestion des kernels dans la chaîne d'orchestration</td>
</tr>
</tbody>
</table>
<!-- /wp:html -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Notre réponse opérationnelle</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Déployer des mesures immédiates</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d'abord appliqué des mesures rapides sur les kernels concernés. Dans le cas de Dirty Frag, les mesures publiques recommandées portent notamment sur les composants kernel concernés par ESP et RxRPC.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté Clever Cloud, l'objectif était clair : réduire les surfaces exposées identifiées et réduire la fenêtre d'exposition avant d'attendre un cycle classique de maintenance</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Redéployer les workloads concernés</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une mise à jour kernel n'est utile que si les systèmes concernés redémarrent effectivement sur un environnement corrigé. Nous avons donc lancé un redéploiement progressif des applications, puis traité les cas qui bloquaient ce redéploiement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette phase est importante. Dans une plateforme managée, la correction ne se limite pas à produire une image ou à compiler un kernel. Il faut aussi s'assurer que la chaîne d'exécution utilise réellement la version attendue.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Améliorer le processus au passage</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons aussi profité de cette séquence pour remplacer un mécanisme temporaire par une intégration plus propre dans notre chaîne d'orchestration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Concrètement, le choix du kernel est désormais transmis plus explicitement dans notre chaîne interne, jusqu'à Supernova, notre agent d'hyperviseur. Cette évolution remplace le contournement plus rigide mis en place dans l'urgence.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est le point central de cette intervention : corriger vite, puis rendre la correction plus fiable pour les prochaines opérations.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que cela change pour les clients de Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour les clients, l'effet attendu est simple : réduire l'exposition sans action manuelle de leur part lorsque la plateforme peut prendre en charge le redéploiement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Clever Cloud exploite une architecture qui repose notamment sur l'isolation par virtualisation. Cette approche est documentée dans <a href="https://www.clever-cloud.com/fr/security/">nos pages sécurité</a> et dans nos contenus techniques sur l'exécution de conteneurs dans des machines virtuelles. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Elle ne supprime pas tous les risques, mais elle limite certains scénarios de mouvement latéral par rapport à des modèles où plusieurs workloads partagent directement le même environnement d'exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous évitons toutefois de présenter cette isolation comme une garantie absolue. Une vulnérabilité kernel doit toujours être traitée sérieusement. C'est pourquoi nous avons combiné mitigation, redéploiement et amélioration de notre chaîne d'exploitation.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ce que nous retenons</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cette séquence confirme trois principes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, une vulnérabilité kernel doit être analysée dans son contexte réel d'exploitation. Une alerte publique ne suffit pas. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il faut comprendre si les conditions nécessaires à l'exploitation peuvent exister sur la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, la vitesse de réaction compte. Les vulnérabilités Copy Fail et Dirty Frag ont été divulguées publiquement à quelques jours d'intervalle, avec des analyses publiées par plusieurs acteurs de l'écosystème Linux et cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, une réponse sécurité utile ne doit pas seulement corriger le problème du moment. Elle doit aussi améliorer le système qui permettra de répondre au prochain incident.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce que nous avons fait ici : traiter les vulnérabilités, réduire la fenêtre d'exposition et renforcer notre processus de gestion des kernels.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Qu'est-ce qu'une vulnérabilité kernel locale ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une vulnérabilité kernel locale est une faille qui nécessite déjà une capacité d'exécution sur la machine concernée. Elle peut ensuite permettre d'obtenir des privilèges plus élevés, par exemple root, si le noyau est vulnérable.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Pourquoi ces failles concernent-elles les plateformes cloud ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les plateformes cloud exécutent de nombreux workloads avec des mécanismes d'isolation. Une faille kernel peut devenir critique si elle permet de franchir certaines barrières entre processus, conteneurs ou environnements d'exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Dirty Frag et Copy Fail sont-elles la même vulnérabilité ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Copy Fail est suivie sous la CVE-2026-31431. Dirty Frag regroupe la CVE-2026-43284 et la CVE-2026-43500. Ces vulnérabilités sont proches par leur impact, mais elles sont distinctes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Quelle action est demandée aux clients Clever Cloud ?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Aucune action générale n'est demandée aux clients pour les environnements pris en charge par la plateforme. L'automatisation apportée par Clever Cloud a permis de tout mettre à jour sans action nécessaire. Les cas spécifiques font l'objet d'un suivi dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>K8S : qu&#8217;est-ce que Kubernetes, comment il fonctionne et pourquoi il s&#8217;est imposé</title>
		<link>https://www.clever.cloud/fr/blog/engineering-fr/2026/05/19/k8s-kubernetes-definition-standard/</link>
		
		<dc:creator><![CDATA[Leo Le Levé Dandé]]></dc:creator>
		<pubDate>Tue, 19 May 2026 10:54:27 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24292</guid>

					<description><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05.19 Clever Cloud Bannière Blog K8S FR" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr.png 2499w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1368x607.png 1368w" sizes="auto, (max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>En une décennie, K8S s'est imposé comme la base technique sur laquelle s'exécute une part majoritaire des applications cloud modernes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment fonctionne Kubernetes : un orchestrateur déclaratif</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La plupart des descriptions de Kubernetes énumèrent ses composants, pods, deployments, services, sans expliquer le mécanisme central. Or le concept fondamental est ailleurs : Kubernetes est avant tout un <strong>orchestrateur</strong>, et son moteur central repose sur des boucles de réconciliation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous ne dites pas à Kubernetes <em>quoi faire</em>. Vous lui dites <em>à quoi vous voulez que votre système ressemble</em>. Cette distinction, déclaratif contre impératif, change tout.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Concrètement, vous décrivez l'état désiré dans des fichiers manifestes, généralement au format YAML : « je veux 3 répliques de cette image, exposées sur le port 80, avec ces variables d'environnement ». Vous envoyez ce manifeste à l'API Kubernetes via kubectl. À partir de là, Kubernetes compare en permanence l'état réel du cluster (ce qui tourne effectivement) à l'état désiré (ce que vous avez déclaré), et agit pour les rapprocher. Si un nœud meurt, ses pods sont reprogrammés ailleurs. Si vous passez de 3 à 10 répliques dans le manifeste, Kubernetes en démarre 7 de plus. Si un conteneur plante, il est redémarré.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette boucle de réconciliation est le cœur de tout ce que fait Kubernetes : auto-réparation, scaling, déploiements progressifs (<em>rolling updates</em>), retours arrière. Pour creuser ce mécanisme et les autres fonctions qu'il rend possibles,<a href="https://claude.ai/fr/blog/kubernetes-orchestration/"> </a>découvrez en détail à quoi sert l'orchestration de conteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Architecture en bref : control plane, nodes, pods</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Un cluster Kubernetes se divise en deux ensembles. Le <strong>control plane</strong> est le cerveau : il prend les décisions globales, accepte les requêtes API, planifie les charges de travail, et surveille l'état du cluster. Il s'appuie sur quelques composants clés comme le serveur API (kube-apiserver), le planificateur (kube-scheduler) et le gestionnaire de contrôleurs (kube-controller-manager), ainsi que sur un magasin de données distribué qui mémorise tout l'état du cluster, traditionnellement etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les <strong>nodes</strong> sont les machines qui exécutent réellement les charges de travail. Sur chacune, un agent appelé kubelet reçoit ses instructions du control plane et lance les conteneurs via un moteur d'exécution (containerd, CRI-O, etc.). La plus petite unité déployable n'est pas un conteneur isolé mais un <strong>pod</strong> : un ou plusieurs conteneurs qui partagent un réseau et un stockage. Au-dessus, des objets de plus haut niveau (Deployment, Service, Ingress, ConfigMap, Secret) décrivent comment les pods doivent être gérés, exposés et configurés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette architecture est aussi la source d'une confusion fréquente avec<a href="https://claude.ai/fr/blog/kubernetes-vs-docker/"> </a>Docker, dont les rôles sont en réalité complémentaires de ceux de Kubernetes plutôt que concurrents.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi K8S est devenu le standard de l'orchestration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Selon le<a href="https://www.cncf.io/reports/"> CNCF Annual Cloud Native Survey 2025</a>, publié en janvier 2026, 98 % des organisations interrogées ont adopté des techniques <a href="https://www.clever.cloud/fr/blog/entreprise/2025/05/29/quest-ce-que-le-cloud-natif/">cloud native</a>, et 82 % des utilisateurs de conteneurs déploient Kubernetes en production, contre 66 % en 2023. La domination est massive. Mais l'expliquer uniquement par des qualités techniques serait incomplet, c'est aussi une histoire d'écosystème et d'alignement d'intérêts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan technique</strong>, trois propriétés expliquent l'adoption. D'abord, le modèle déclaratif décrit plus haut : il rend les déploiements reproductibles, versionnables dans Git, et résistants aux pannes. Ensuite, la portabilité : un même manifeste fonctionne sur une machine de développement (Minikube, kind, k3d), sur un cluster on-premise et sur n'importe quel cloud. Enfin, l'extensibilité : l'API de Kubernetes accepte des objets personnalisés (<em>Custom Resource Definitions</em>) et des contrôleurs personnalisés (<em>Operators</em>), ce qui en a fait une plateforme pour étendre la plateforme. Cet effet a déclenché une dynamique d'écosystème massive.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan stratégique</strong>, l'histoire est moins racontée. En 2014, Google avait plus d'une décennie d'expérience dans la gestion de conteneurs à grande échelle avec ses systèmes internes Borg et Omega, dont les principes ont été partagés publiquement via des papiers de recherche académiques (Omega en 2013, Borg en 2015). Plutôt que d'open-sourcer Borg lui-même, qui restait étroitement couplé à l'infrastructure Google, l'équipe a créé Kubernetes comme un nouveau projet inspiré de cette expérience, avec une implémentation distincte conçue dès le départ pour une adoption externe. Le projet a été publié en open source en juin 2014 puis donné à la Cloud Native Computing Foundation en 2015. Cette neutralité, un projet hébergé par une fondation Linux et non par un cloud, a été déterminante. Aucun concurrent ne pouvait se permettre de ne <em>pas</em> l'adopter sous peine d'être marginalisé hors de l'écosystème cloud-native naissant. AWS, qui poussait initialement sa propre solution propriétaire (ECS), a annoncé EKS fin 2017 et l'a lancé en disponibilité générale en juin 2018. À ce moment-là, le standard était scellé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan de l'écosystème</strong>, l'effet réseau a fait le reste : Helm pour empaqueter les applications, Prometheus pour la supervision, Istio et Linkerd pour le service mesh, ArgoCD et Flux pour le GitOps, Trivy et Falco pour la sécurité. Chaque outil supplémentaire renforce la valeur du standard. Côté ressources humaines, les compétences Kubernetes sont devenues massivement demandées sur les offres DevOps et SRE, ce qui crée un cercle vertueux : plus d'ingénieurs formés, plus d'entreprises qui adoptent, plus d'ingénieurs qui se forment.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le rapport CNCF 2025, la communauté qualifie aujourd'hui Kubernetes de « boring », au sens noble du terme : un outil mature, prévisible, dont les API ne se cassent plus à chaque release. C'est précisément ce qu'on attend d'une infrastructure standard.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand utiliser Kubernetes, et quand privilégier le PaaS ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le fait que K8S soit le standard ne signifie pas qu'il soit la bonne réponse à tous les problèmes. Choisir Kubernetes, un PaaS, ou une combinaison des deux dépend du contexte technique et organisationnel ; chez Clever Cloud, beaucoup d'équipes utilisent les deux en parallèle pour des workloads différents.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes apporte une vraie valeur dans plusieurs contextes :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>portabilité forte attendue : multi-cloud, hybride, on-premise associé à du cloud, où le manifeste Kubernetes devient un dénominateur commun ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>architectures distribuées qui appliquent les principes du 12-factor app et l'approche « cattle » (instances interchangeables, sans état) avec des besoins d'orchestration sophistiqués ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>alignement stratégique sur l'écosystème CNCF (Helm, Operators, ArgoCD, Istio…) ou prérequis client / partenaire qui imposent ce standard ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>besoin d'une plateforme commune pour des équipes nombreuses, avec une équipe plateforme dédiée ou la volonté d'externaliser cette responsabilité à un service managé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>À l'inverse, dans d'autres contextes, un PaaS comme Clever Cloud répond directement aux mêmes besoins que Kubernetes (déploiements industrialisés, autoscaling, résilience) sans la complexité opérationnelle de l'orchestrateur. C'est notamment vrai pour les architectures applicatives classiques (web + backend + base de données) où l'effort de configuration et d'opération de Kubernetes ne se traduit pas en valeur ajoutée concrète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour les charges intermédiaires (IoT, edge, environnements de développement, petits clusters), les différences entre K3S et K8S méritent d'être pesées avant de trancher : la distribution allégée est souvent plus adaptée. Le standard de facto n'est pas une obligation morale. C'est un outil puissant et coûteux à opérer, dont l'usage doit être choisi en fonction des problèmes qu'il résout, souvent en complément des autres approches plutôt qu'en remplacement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les limites du standard : la dette opérationnelle</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Faire tourner Kubernetes en production n'est pas trivial. C'est l'une des raisons pour lesquelles beaucoup d'entreprises qui adoptent K8S optent pour un service managé plutôt qu'une installation auto-gérée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les sources de complexité sont multiples : configurer correctement le contrôle d'accès (RBAC), choisir et opérer un plugin réseau (CNI), brancher du stockage persistant (CSI), mettre en place une observabilité, gérer les certificats, faire les mises à jour mineures et majeures sans interruption, durcir la sécurité, gérer les sauvegardes du control plane. Chacun de ces sujets est un métier en soi. Le rapport CNCF 2025 montre d'ailleurs que les défis se sont déplacés du purement technique vers l'organisationnel : 47 % des organisations citent désormais les « changements culturels avec l'équipe de développement » comme principal obstacle, devant la complexité technique brute.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au cœur de cette dette se trouve un composant moins discuté : <strong>etcd</strong>. C'est la base de données clé-valeur distribuée qui stocke l'état complet du cluster. etcd est solide pour les clusters de taille modérée, mais devient un goulot d'étranglement à l'échelle. Ce n'est pas un hasard si Google a annoncé fin 2024 le remplacement d'etcd par Spanner pour son offre GKE, en conservant uniquement la compatibilité API. AWS, de son côté, a réécrit une « nouvelle génération » de son architecture etcd pour soutenir l'échelle. K3S, conçu pour les environnements légers, a poussé la logique plus loin en proposant plusieurs alternatives à etcd, dont SQLite par défaut. Quand un composant central doit être reconçu pour soutenir l'usage en production, c'est un indice révélateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce constat qui nous a poussés, chez Clever Cloud, à reconsidérer cette pièce. Notre<a href="https://www.clever.cloud/fr/clever-kubernetes-engine/"> Clever Kubernetes Engine</a> remplace l'etcd standard par <strong>Materia etcd</strong>, notre réimplémentation du protocole etcd construite sur <a href="https://www.clever.cloud/fr/materia-serverless/materia-kv/">&nbsp;Materia KV</a>, et FoundationDB, répliquée&nbsp; sur trois datacenters parisiens. Cette approche, c'est aussi<a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/08/ce-qui-rend-clever-cloud-unique/"> ce qui rend Clever Cloud unique</a> : un control plane multi-tenant qui scale horizontalement sans dégrader les performances, hérite de la simulation continue de pannes de FoundationDB, et libère les équipes de la gestion de milliers d'instances etcd fragiles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais que vous choisissiez CKE ou un autre service, le principe vaut : si vous voulez Kubernetes en production sans bâtir une équipe plateforme dédiée,<a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/"> un Kubernetes managé</a> est presque toujours la bonne décision.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">En résumé</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes s'est imposé comme standard pour de bonnes raisons techniques, mais aussi grâce à un alignement d'intérêts qui a fait converger l'industrie autour d'un projet neutre porté par la CNCF. Le mécanisme central, la boucle de réconciliation et le modèle déclaratif, explique sa robustesse. L'écosystème qui s'est construit autour explique sa pérennité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela ne signifie pas qu'il faut l'adopter pour tout. Pour beaucoup de contextes, un PaaS ou une autre approche est mieux adaptée, et bien souvent, les deux cohabitent dans une même architecture, chacun là où il apporte le plus de valeur. Pour des architectures distribuées sérieuses, il reste l'outil de référence, à condition de mesurer la dette opérationnelle qu'il introduit, et de choisir entre l'opérer soi-même ou s'appuyer sur un service managé.C'est précisément la promesse que<a href="https://www.clever.cloud/fr/clever-kubernetes-engine/"> Clever Kubernetes Engine</a>, notre Kubernetes managé, cherche à tenir : Kubernetes standard, opéré en France sur une infrastructure souveraine, avec un control plane reconçu pour éliminer la friction d'etcd à l'échelle. Et pour les équipes qui n'ont pas besoin de Kubernetes, notre PaaS reste la voie la plus directe vers la mise en production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">FAQ</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K8S et Kubernetes, c'est la même chose ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K8S est une abréviation : la lettre K, les huit lettres d'« ubernete » condensées en 8, et la lettre S finale. Les deux désignent le même système d'orchestration de conteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre Docker et Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker est un moteur de conteneurisation : il empaquette une application avec ses dépendances dans une image qui s'exécute comme un conteneur. Kubernetes est un orchestrateur : il déploie, supervise et fait évoluer ces conteneurs sur un parc de serveurs. Cette distinction est l'une des plus mal comprises de l'écosystème, alors que<a href="https://claude.ai/fr/blog/kubernetes-vs-docker/"></a>les deux outils répondent en réalité à des besoins différents et complémentaires.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes est-il gratuit ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le logiciel est open source et gratuit, sous licence Apache 2.0. Mais l'infrastructure sur laquelle il tourne, le temps d'ingénierie pour le maintenir et les outils complémentaires (supervision, sauvegardes, sécurité) ont un coût réel. C'est pourquoi de nombreuses entreprises optent pour un Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Faut-il toujours Kubernetes pour déployer en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Kubernetes apporte une orchestration sophistiquée, particulièrement adaptée aux architectures distribuées exigeant portabilité, écosystème CNCF, ou orchestration avancée. Pour beaucoup d'autres contextes, un PaaS répond aux mêmes objectifs (déploiement industrialisé, autoscaling, résilience) sans la complexité opérationnelle. Et dans la pratique, les deux approches cohabitent souvent dans une même architecture.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle différence entre K3S et K8S ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3S est une distribution Kubernetes certifiée par la CNCF (donc pas un fork), allégée et conçue pour les environnements aux ressources limitées : edge, IoT, machines de développement, petits clusters. Elle remplace certains composants par des alternatives plus légères et tient dans un binaire unique. Les différences entre K3S et K8S tiennent à plusieurs choix d'architecture précis qu'il faut peser avant de choisir.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Comment commencer avec Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le plus rapide est de monter un cluster local avec Minikube, kind ou k3d, puis de déployer une application simple via un manifeste YAML. Pour passer en production, le choix raisonnable pour la majorité des équipes est un Kubernetes managé.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026.05.19 Clever Cloud Bannière Blog K8S FR" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr.png 2499w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-19-clever-cloud-banniere-blog-k8s-fr-1368x607.png 1368w" sizes="auto, (max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>En une décennie, K8S s'est imposé comme la base technique sur laquelle s'exécute une part majoritaire des applications cloud modernes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment fonctionne Kubernetes : un orchestrateur déclaratif</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La plupart des descriptions de Kubernetes énumèrent ses composants, pods, deployments, services, sans expliquer le mécanisme central. Or le concept fondamental est ailleurs : Kubernetes est avant tout un <strong>orchestrateur</strong>, et son moteur central repose sur des boucles de réconciliation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous ne dites pas à Kubernetes <em>quoi faire</em>. Vous lui dites <em>à quoi vous voulez que votre système ressemble</em>. Cette distinction, déclaratif contre impératif, change tout.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Concrètement, vous décrivez l'état désiré dans des fichiers manifestes, généralement au format YAML : « je veux 3 répliques de cette image, exposées sur le port 80, avec ces variables d'environnement ». Vous envoyez ce manifeste à l'API Kubernetes via kubectl. À partir de là, Kubernetes compare en permanence l'état réel du cluster (ce qui tourne effectivement) à l'état désiré (ce que vous avez déclaré), et agit pour les rapprocher. Si un nœud meurt, ses pods sont reprogrammés ailleurs. Si vous passez de 3 à 10 répliques dans le manifeste, Kubernetes en démarre 7 de plus. Si un conteneur plante, il est redémarré.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette boucle de réconciliation est le cœur de tout ce que fait Kubernetes : auto-réparation, scaling, déploiements progressifs (<em>rolling updates</em>), retours arrière. Pour creuser ce mécanisme et les autres fonctions qu'il rend possibles,<a href="https://claude.ai/fr/blog/kubernetes-orchestration/"> </a>découvrez en détail à quoi sert l'orchestration de conteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Architecture en bref : control plane, nodes, pods</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Un cluster Kubernetes se divise en deux ensembles. Le <strong>control plane</strong> est le cerveau : il prend les décisions globales, accepte les requêtes API, planifie les charges de travail, et surveille l'état du cluster. Il s'appuie sur quelques composants clés comme le serveur API (kube-apiserver), le planificateur (kube-scheduler) et le gestionnaire de contrôleurs (kube-controller-manager), ainsi que sur un magasin de données distribué qui mémorise tout l'état du cluster, traditionnellement etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les <strong>nodes</strong> sont les machines qui exécutent réellement les charges de travail. Sur chacune, un agent appelé kubelet reçoit ses instructions du control plane et lance les conteneurs via un moteur d'exécution (containerd, CRI-O, etc.). La plus petite unité déployable n'est pas un conteneur isolé mais un <strong>pod</strong> : un ou plusieurs conteneurs qui partagent un réseau et un stockage. Au-dessus, des objets de plus haut niveau (Deployment, Service, Ingress, ConfigMap, Secret) décrivent comment les pods doivent être gérés, exposés et configurés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette architecture est aussi la source d'une confusion fréquente avec<a href="https://claude.ai/fr/blog/kubernetes-vs-docker/"> </a>Docker, dont les rôles sont en réalité complémentaires de ceux de Kubernetes plutôt que concurrents.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi K8S est devenu le standard de l'orchestration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Selon le<a href="https://www.cncf.io/reports/"> CNCF Annual Cloud Native Survey 2025</a>, publié en janvier 2026, 98 % des organisations interrogées ont adopté des techniques <a href="https://www.clever.cloud/fr/blog/entreprise/2025/05/29/quest-ce-que-le-cloud-natif/">cloud native</a>, et 82 % des utilisateurs de conteneurs déploient Kubernetes en production, contre 66 % en 2023. La domination est massive. Mais l'expliquer uniquement par des qualités techniques serait incomplet, c'est aussi une histoire d'écosystème et d'alignement d'intérêts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan technique</strong>, trois propriétés expliquent l'adoption. D'abord, le modèle déclaratif décrit plus haut : il rend les déploiements reproductibles, versionnables dans Git, et résistants aux pannes. Ensuite, la portabilité : un même manifeste fonctionne sur une machine de développement (Minikube, kind, k3d), sur un cluster on-premise et sur n'importe quel cloud. Enfin, l'extensibilité : l'API de Kubernetes accepte des objets personnalisés (<em>Custom Resource Definitions</em>) et des contrôleurs personnalisés (<em>Operators</em>), ce qui en a fait une plateforme pour étendre la plateforme. Cet effet a déclenché une dynamique d'écosystème massive.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan stratégique</strong>, l'histoire est moins racontée. En 2014, Google avait plus d'une décennie d'expérience dans la gestion de conteneurs à grande échelle avec ses systèmes internes Borg et Omega, dont les principes ont été partagés publiquement via des papiers de recherche académiques (Omega en 2013, Borg en 2015). Plutôt que d'open-sourcer Borg lui-même, qui restait étroitement couplé à l'infrastructure Google, l'équipe a créé Kubernetes comme un nouveau projet inspiré de cette expérience, avec une implémentation distincte conçue dès le départ pour une adoption externe. Le projet a été publié en open source en juin 2014 puis donné à la Cloud Native Computing Foundation en 2015. Cette neutralité, un projet hébergé par une fondation Linux et non par un cloud, a été déterminante. Aucun concurrent ne pouvait se permettre de ne <em>pas</em> l'adopter sous peine d'être marginalisé hors de l'écosystème cloud-native naissant. AWS, qui poussait initialement sa propre solution propriétaire (ECS), a annoncé EKS fin 2017 et l'a lancé en disponibilité générale en juin 2018. À ce moment-là, le standard était scellé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Sur le plan de l'écosystème</strong>, l'effet réseau a fait le reste : Helm pour empaqueter les applications, Prometheus pour la supervision, Istio et Linkerd pour le service mesh, ArgoCD et Flux pour le GitOps, Trivy et Falco pour la sécurité. Chaque outil supplémentaire renforce la valeur du standard. Côté ressources humaines, les compétences Kubernetes sont devenues massivement demandées sur les offres DevOps et SRE, ce qui crée un cercle vertueux : plus d'ingénieurs formés, plus d'entreprises qui adoptent, plus d'ingénieurs qui se forment.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le rapport CNCF 2025, la communauté qualifie aujourd'hui Kubernetes de « boring », au sens noble du terme : un outil mature, prévisible, dont les API ne se cassent plus à chaque release. C'est précisément ce qu'on attend d'une infrastructure standard.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand utiliser Kubernetes, et quand privilégier le PaaS ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le fait que K8S soit le standard ne signifie pas qu'il soit la bonne réponse à tous les problèmes. Choisir Kubernetes, un PaaS, ou une combinaison des deux dépend du contexte technique et organisationnel ; chez Clever Cloud, beaucoup d'équipes utilisent les deux en parallèle pour des workloads différents.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes apporte une vraie valeur dans plusieurs contextes :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>portabilité forte attendue : multi-cloud, hybride, on-premise associé à du cloud, où le manifeste Kubernetes devient un dénominateur commun ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>architectures distribuées qui appliquent les principes du 12-factor app et l'approche « cattle » (instances interchangeables, sans état) avec des besoins d'orchestration sophistiqués ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>alignement stratégique sur l'écosystème CNCF (Helm, Operators, ArgoCD, Istio…) ou prérequis client / partenaire qui imposent ce standard ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>besoin d'une plateforme commune pour des équipes nombreuses, avec une équipe plateforme dédiée ou la volonté d'externaliser cette responsabilité à un service managé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>À l'inverse, dans d'autres contextes, un PaaS comme Clever Cloud répond directement aux mêmes besoins que Kubernetes (déploiements industrialisés, autoscaling, résilience) sans la complexité opérationnelle de l'orchestrateur. C'est notamment vrai pour les architectures applicatives classiques (web + backend + base de données) où l'effort de configuration et d'opération de Kubernetes ne se traduit pas en valeur ajoutée concrète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour les charges intermédiaires (IoT, edge, environnements de développement, petits clusters), les différences entre K3S et K8S méritent d'être pesées avant de trancher : la distribution allégée est souvent plus adaptée. Le standard de facto n'est pas une obligation morale. C'est un outil puissant et coûteux à opérer, dont l'usage doit être choisi en fonction des problèmes qu'il résout, souvent en complément des autres approches plutôt qu'en remplacement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les limites du standard : la dette opérationnelle</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Faire tourner Kubernetes en production n'est pas trivial. C'est l'une des raisons pour lesquelles beaucoup d'entreprises qui adoptent K8S optent pour un service managé plutôt qu'une installation auto-gérée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les sources de complexité sont multiples : configurer correctement le contrôle d'accès (RBAC), choisir et opérer un plugin réseau (CNI), brancher du stockage persistant (CSI), mettre en place une observabilité, gérer les certificats, faire les mises à jour mineures et majeures sans interruption, durcir la sécurité, gérer les sauvegardes du control plane. Chacun de ces sujets est un métier en soi. Le rapport CNCF 2025 montre d'ailleurs que les défis se sont déplacés du purement technique vers l'organisationnel : 47 % des organisations citent désormais les « changements culturels avec l'équipe de développement » comme principal obstacle, devant la complexité technique brute.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au cœur de cette dette se trouve un composant moins discuté : <strong>etcd</strong>. C'est la base de données clé-valeur distribuée qui stocke l'état complet du cluster. etcd est solide pour les clusters de taille modérée, mais devient un goulot d'étranglement à l'échelle. Ce n'est pas un hasard si Google a annoncé fin 2024 le remplacement d'etcd par Spanner pour son offre GKE, en conservant uniquement la compatibilité API. AWS, de son côté, a réécrit une « nouvelle génération » de son architecture etcd pour soutenir l'échelle. K3S, conçu pour les environnements légers, a poussé la logique plus loin en proposant plusieurs alternatives à etcd, dont SQLite par défaut. Quand un composant central doit être reconçu pour soutenir l'usage en production, c'est un indice révélateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce constat qui nous a poussés, chez Clever Cloud, à reconsidérer cette pièce. Notre<a href="https://www.clever.cloud/fr/clever-kubernetes-engine/"> Clever Kubernetes Engine</a> remplace l'etcd standard par <strong>Materia etcd</strong>, notre réimplémentation du protocole etcd construite sur <a href="https://www.clever.cloud/fr/materia-serverless/materia-kv/">&nbsp;Materia KV</a>, et FoundationDB, répliquée&nbsp; sur trois datacenters parisiens. Cette approche, c'est aussi<a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/08/ce-qui-rend-clever-cloud-unique/"> ce qui rend Clever Cloud unique</a> : un control plane multi-tenant qui scale horizontalement sans dégrader les performances, hérite de la simulation continue de pannes de FoundationDB, et libère les équipes de la gestion de milliers d'instances etcd fragiles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais que vous choisissiez CKE ou un autre service, le principe vaut : si vous voulez Kubernetes en production sans bâtir une équipe plateforme dédiée,<a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/"> un Kubernetes managé</a> est presque toujours la bonne décision.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">En résumé</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes s'est imposé comme standard pour de bonnes raisons techniques, mais aussi grâce à un alignement d'intérêts qui a fait converger l'industrie autour d'un projet neutre porté par la CNCF. Le mécanisme central, la boucle de réconciliation et le modèle déclaratif, explique sa robustesse. L'écosystème qui s'est construit autour explique sa pérennité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela ne signifie pas qu'il faut l'adopter pour tout. Pour beaucoup de contextes, un PaaS ou une autre approche est mieux adaptée, et bien souvent, les deux cohabitent dans une même architecture, chacun là où il apporte le plus de valeur. Pour des architectures distribuées sérieuses, il reste l'outil de référence, à condition de mesurer la dette opérationnelle qu'il introduit, et de choisir entre l'opérer soi-même ou s'appuyer sur un service managé.C'est précisément la promesse que<a href="https://www.clever.cloud/fr/clever-kubernetes-engine/"> Clever Kubernetes Engine</a>, notre Kubernetes managé, cherche à tenir : Kubernetes standard, opéré en France sur une infrastructure souveraine, avec un control plane reconçu pour éliminer la friction d'etcd à l'échelle. Et pour les équipes qui n'ont pas besoin de Kubernetes, notre PaaS reste la voie la plus directe vers la mise en production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">FAQ</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K8S et Kubernetes, c'est la même chose ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K8S est une abréviation : la lettre K, les huit lettres d'« ubernete » condensées en 8, et la lettre S finale. Les deux désignent le même système d'orchestration de conteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre Docker et Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker est un moteur de conteneurisation : il empaquette une application avec ses dépendances dans une image qui s'exécute comme un conteneur. Kubernetes est un orchestrateur : il déploie, supervise et fait évoluer ces conteneurs sur un parc de serveurs. Cette distinction est l'une des plus mal comprises de l'écosystème, alors que<a href="https://claude.ai/fr/blog/kubernetes-vs-docker/"></a>les deux outils répondent en réalité à des besoins différents et complémentaires.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes est-il gratuit ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le logiciel est open source et gratuit, sous licence Apache 2.0. Mais l'infrastructure sur laquelle il tourne, le temps d'ingénierie pour le maintenir et les outils complémentaires (supervision, sauvegardes, sécurité) ont un coût réel. C'est pourquoi de nombreuses entreprises optent pour un Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Faut-il toujours Kubernetes pour déployer en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Kubernetes apporte une orchestration sophistiquée, particulièrement adaptée aux architectures distribuées exigeant portabilité, écosystème CNCF, ou orchestration avancée. Pour beaucoup d'autres contextes, un PaaS répond aux mêmes objectifs (déploiement industrialisé, autoscaling, résilience) sans la complexité opérationnelle. Et dans la pratique, les deux approches cohabitent souvent dans une même architecture.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle différence entre K3S et K8S ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3S est une distribution Kubernetes certifiée par la CNCF (donc pas un fork), allégée et conçue pour les environnements aux ressources limitées : edge, IoT, machines de développement, petits clusters. Elle remplace certains composants par des alternatives plus légères et tient dans un binaire unique. Les différences entre K3S et K8S tiennent à plusieurs choix d'architecture précis qu'il faut peser avant de choisir.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Comment commencer avec Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le plus rapide est de monter un cluster local avec Minikube, kind ou k3d, puis de déployer une application simple via un manifeste YAML. Pour passer en production, le choix raisonnable pour la majorité des équipes est un Kubernetes managé.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud contrôle l’annonce de ses préfixes IP</title>
		<link>https://www.clever.cloud/fr/blog/engineering-fr/2026/05/04/clever-cloud-controle-lannonce-de-ses-prefixes-ip/</link>
		
		<dc:creator><![CDATA[Arnaud Lefebvre]]></dc:creator>
		<pubDate>Mon, 04 May 2026 15:00:33 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=23872</guid>

					<description><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 17 clever cloud banniere blog clever cloud controle lannonce de ses prefixes ip fr 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1.png 2499w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1368x607.png 1368w" sizes="auto, (max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>Cela représente une étape importante, issue de trois années de préparation, et s’inscrit dans une stratégie plus large visant à conserver un contrôle complet sur l’infrastructure réseau de notre région Paris.<br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi ce changement</h2>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="max-width:780px;margin:1.5rem auto;background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.7;box-shadow:0 1px 2px rgba(0,0,0,0.08);border:1px solid rgba(255,255,255,0.08);">
  <strong style="color:#e5eefc;">Note :</strong> Clever Cloud opère plusieurs régions dans le monde. Paris est notre région principale — la plus importante — où nous contrôlons l’ensemble de la stack : notre propre matériel, notre propre réseau, et désormais l’annonce de nos préfixes IP. Les autres régions (hébergées chez OVH, Scaleway, Cloud Temple, Ionos, Oracle) reposent sur l’infrastructure du fournisseur sous-jacent, y compris son réseau. Les changements décrits dans cet article concernent spécifiquement notre région Paris.
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Aux débuts de Clever Cloud, nous avons délégué la gestion du réseau à des partenaires. Ce choix était logique : il nous permettait d’accélérer le développement, de nous concentrer sur les services cloud, et d’éviter d’investir immédiatement dans une expertise que nous ne maîtrisions pas encore.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais à mesure que notre infrastructure a grandi, les limites de cette dépendance sont devenues évidentes. Nous n’avions aucun contrôle sur des décisions stratégiques : la manière dont le trafic était routé sur Internet, les chemins empruntés par nos paquets, ou la rapidité avec laquelle nous pouvions réagir aux incidents. Chaque modification, chaque incident nécessitait l’intervention d’un tiers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc décidé de reprendre cette responsabilité. Cela nous a permis d’obtenir plusieurs avantages concrets. Nous optimisons les coûts grâce à la gestion directe de nos relations de transit et de peering. Nous définissons notre propre politique de routage au lieu de subir les contraintes d’un intermédiaire. Nous résolvons les incidents nous-mêmes, sans dépendre de fournisseurs externes. Et nous obtenons un contrôle complet de notre stack réseau — dans la continuité du contrôle que nous avons progressivement acquis sur nos serveurs et nos datacenters au cours des dernières années.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cette transition ne concerne pas uniquement notre indépendance opérationnelle. Elle apporte des bénéfices immédiats et concrets pour nos utilisateurs. Le plus important est la résilience. Auparavant, l’ensemble du trafic passait par un seul fournisseur. Tout incident de leur côté impactait l’ensemble des services. Nous disposons désormais de quatre fournisseurs upstream répartis sur trois datacenters en région parisienne. Lorsqu’un lien tombe — ce qui s’est produit au cours de l’année passée — le trafic bascule automatiquement vers les alternatives disponibles, sans interruption pour les utilisateurs. Nous pouvons même absorber la perte simultanée de plusieurs liens de transit.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au-delà de la redondance, nous gagnons le contrôle du routage lui-même. Nous décidons désormais comment le trafic atteint sa destination. Cela nous permet d’optimiser les chemins pour réduire la latence et améliorer les performances, et d’ajuster ces décisions en fonction des besoins spécifiques et de la topologie réseau. Nous réagissons en temps réel à la congestion, aux variations du réseau et aux contraintes opérationnelles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, la responsabilité opérationnelle change. Les incidents réseau ne nécessitent plus d’attendre qu’un fournisseur externe les prenne en charge. Les défaillances du réseau public relèvent directement de notre responsabilité : nous les détectons, les analysons et les corrigeons. Cela réduit directement le temps entre l’apparition d’un problème et sa résolution, ce qui améliore la disponibilité et la fiabilité pour nos utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Exploiter son propre réseau sur Internet</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour opérer un réseau indépendant sur Internet, une organisation doit travailler avec un registre Internet régional (RIR). Les RIR sont responsables de l’attribution et de la gestion des adresses IP et des numéros d’AS dans des zones géographiques spécifiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il existe cinq RIR dans le monde :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>RIPE NCC</strong> — Europe, Asie centrale et Moyen-Orient</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>ARIN</strong> — Amérique du Nord (États-Unis, Canada, Caraïbes)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>LACNIC</strong> — Amérique latine et Caraïbes</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>APNIC</strong> — région Asie-Pacifique</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>AFRINIC</strong> — Afrique</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour Clever Cloud, dont l’infrastructure est principalement en Europe, nous travaillons avec le RIPE NCC (Réseaux IP Européens).</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Espace d’adressage alloué</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>En tant que membre d’un RIR, une organisation reçoit des allocations d’adresses IPv4 et IPv6. Pour les membres du RIPE NCC, cela correspond généralement à un bloc IPv4 en /24 (<a href="https://www.ripe.net/manage-ips-and-asns/ipv4/ipv4-waiting-list/">selon disponibilité</a>) et un bloc IPv6 en /29. Ces ressources sont associées à l’organisation et peuvent être utilisées pour opérer un réseau à l’échelle globale.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Création de notre système autonome</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les bases de cette transition ont été posées plusieurs années auparavant. En 2019, nous avons créé notre compte RIPE NCC afin de devenir LIR (Local Internet Registry). Cela nous a permis d’obtenir un bloc IPv4 /24 (91.208.207.0/24) et un bloc IPv6 /29 (2a0f:d0c0::/29).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis, en 2022, nous avons enregistré notre numéro de système autonome (ASN) auprès du registre régional. Notre numéro d’AS est <a href="https://apps.db.ripe.net/db-web-ui/lookup?source=ripe&amp;key=AS213394&amp;type=aut-num">AS213394</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; whois AS213394

aut-num:        AS213394
as-name:        CleverCloud
org:            ORG-CCS42-RIPE
import:         from AS29075 accept ANY
import:         from AS3257 accept ANY
import:         from AS3356 accept ANY
import:         from AS43424 accept ANY
export:         to AS29075 announce AS213394:AS-CLVRCLD
export:         to AS3257 announce AS213394:AS-CLVRCLD
export:         to AS3356 announce AS213394:AS-CLVRCLD
export:         to AS43424 announce AS213394:AS-CLVRCLD
admin-c:        QA171-RIPE
tech-c:         QA171-RIPE
status:         ASSIGNED
mnt-by:         RIPE-NCC-END-MNT
mnt-by:         mnt-fr-clvrcldnet-1
created:        2022-11-28T08:24:23Z
last-modified:  2025-02-25T16:36:15Z
source:         RIPE</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Un ASN (Autonomous System Number) est un identifiant unique attribué à un réseau sur Internet. Il est nécessaire pour annoncer des routes via BGP, le protocole qui permet le routage entre réseaux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Maintenant que nous disposons d’un ASN, nous pouvons annoncer nos préfixes aux autres réseaux via le protocole BGP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Le rôle de la base de données RIPE</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le RIPE NCC maintient une base de données publique d’objets de routage (comme l’objet <em>aut-num</em> présenté précédemment). Parmi ces objets figurent les objets de type <em>route</em>, qui indiquent quel système autonome (AS) est autorisé à annoncer un préfixe IP donné.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, ces entrées sont principalement utilisées par les opérateurs réseau et les fournisseurs de transit pour construire leurs politiques de routage et leurs mécanismes de filtrage (filtrage basé sur l’IRR). Ces filtres permettent d’accepter ou de rejeter les annonces reçues de leurs pairs. Il s’agit d’un des mécanismes utilisés pour tenter de prévenir les détournements BGP (<em>BGP hijacks</em>).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En appliquant ces filtres aux routes reçues de leurs pairs, les opérateurs peuvent limiter la propagation d’un préfixe annoncé par un ASN non autorisé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Prenons un exemple : imaginons que l’organisation A possède le préfixe 192.0.2.0/24 et l’annonce à un fournisseur de transit X. Le fournisseur X applique un filtre sur les routes reçues de l’organisation A afin de n’accepter que les préfixes IP enregistrés dans la base RIR de cette organisation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ce cas, si l’organisation A commence à annoncer un préfixe qui ne lui appartient pas (par exemple notre préfixe public 91.208.207.0/24), le fournisseur X est censé rejeter cette annonce. Cela permet d’éviter qu’une route incorrecte soit propagée sur Internet et que le trafic soit redirigé vers une entité non légitime.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Le protocole BGP : comment Internet route le trafic</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour comprendre comment nous annonçons nos préfixes sur Internet, il est essentiel de comprendre BGP — le <em>Border Gateway Protocol</em>. BGP est le protocole de routage de référence sur Internet. Il permet aux réseaux (systèmes autonomes) d’échanger des informations sur les préfixes IP qu’ils possèdent et sur la manière de les atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>BGP fonctionne dans les deux sens. Lorsque nous annonçons à nos pairs et à nos fournisseurs de transit « nous possédons 91.208.207.0/24 », cette annonce se propage sur Internet de réseau en réseau. Chaque réseau qui relaie cette annonce ajoute son propre numéro d’AS dans le <em>AS_PATH</em> — une liste qui représente la séquence de réseaux qu’un paquet doit traverser pour nous atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Par exemple, OVHcloud (AS16276) voit le chemin [AS29075, AS213394] : le trafic passe par l’un de nos fournisseurs de transit (AS29075), puis arrive jusqu’à nous (AS213394). Chaque réseau qui relaie l’annonce la met à jour de cette manière, construisant progressivement un chemin complet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voici un exemple obtenu via le <a href="https://lg.ovh.net/prefix_detail/lil1/ipv4?q=91.208.207.0/24">service Looking Glass d’OVHcloud</a> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; show route for 91.208.207.0/24 all

91.208.207.0/24    via 172.18.16.0 on eno1 [lil1_rbx1_bagg1_8k 2025-12-25] * (100/0) [AS213394i]
    Type: BGP unicast univ
    BGP.origin: IGP
    BGP.as_path: 29075 213394
    BGP.next_hop: 172.18.16.0
    BGP.med: 161
    BGP.local_pref: 40
    BGP.community: (0,0) (29075,18000) (65535,65281)
    BGP.23 [t]: 00 00 b8 6e
                   via 172.18.16.64 on eno1 [lil1_rbx8_bagg1_8k 2025-12-25] (100/0) [AS213394i]</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Dans le même temps, nous recevons des annonces provenant d’autres réseaux concernant leurs propres préfixes et les chemins permettant de les atteindre. Cela construit la vue inverse : lorsque nous devons envoyer du trafic sortant, nous savons quel chemin emprunter pour atteindre une destination donnée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voici un exemple avec un préfixe d’OVHcloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; /routing/route/print detail where dst-address=5.39.0.0/17 and active

Ab   afi=ip4 contribution=active dst-address=5.39.0.0/17 routing-table=main pref-src=185.133.116.2 gateway=213.242.111.201 immediate-gw=213.242.111.201%sfp28-6 distance=20 scope=40 target-scope=10 belongs-to="bgp-IP-213.242.111.201"

      bgp.as-path="3356,16276" bgp.communities=3356:2,3356:2066,3356:22,16276:40001,3356:100,65002:7018,3356:123,3356:901,65002:701,65000:64990,65000:64995,65000:64996,3356:502 .med=0 .atomic-aggregate=no .origin=igp</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Dans cet exemple, le chemin réseau utilisé par OVHcloud pour nous atteindre est différent de celui que nous utilisons pour les atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Le processus de migration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>os préfixes IP étaient entièrement gérés par notre fournisseur historique. Bien que nous en soyons propriétaires, nous lui avions délégué leur annonce sur Internet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela impliquait que son ASN (AS43424) apparaissait comme origine dans les tables de routage, et que l’ensemble du trafic transitait par son infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services
   |
   | all inbound/outbound traffic
   v
Historical Provider (AS43424)
   |
   | originates: 91.208.207.0/24 (origin AS43424)
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Nous voulions que notre ASN devienne l’origine des annonces. Pour cela, nous avons planifié une migration en trois étapes, sans interruption pour les utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Migration d’un préfixe entre AS</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour migrer un préfixe d’un AS vers un autre, nous devions modifier son objet <em>route</em> dans la base de données RIPE. La procédure était relativement simple, mais nécessitait un timing précis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d’abord créé un second objet <em>route</em> dans la base RIPE pour notre préfixe 91.208.207.0/24. Désormais, les deux ASN étaient enregistrés comme autorisés à annoncer ce même préfixe — à la fois l’AS de notre fournisseur historique et notre propre AS (213394).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces objets de routage sont interrogeables publiquement via la commande <em>whois</em> ou via l’interface web du RIPE. Par exemple, la commande suivante permet d’obtenir les deux objets enregistrés :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">❯ whois -h whois.ripe.net -T route 91.208.207.0/24
% Information related to '91.208.207.0/24AS213394'

route:          91.208.207.0/24
mnt-by:         mnt-fr-clvrcldnet-1
descr:          CleverCloud subnet
origin:         AS213394
created:        2025-01-15T10:29:14Z
last-modified:  2025-01-15T10:29:14Z
source:         RIPE

% Information related to '91.208.207.0/24AS43424'

route:          91.208.207.0/24
mnt-by:         mnt-fr-clvrcldnet-1
mnt-by:         MAGICRETAIL-MNT
descr:          CleverCloud subnet
origin:         AS43424
created:        2020-02-13T09:06:33Z
last-modified:  2020-02-13T09:06:48Z
source:         RIPE</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois ce second objet <em>route</em> enregistré et propagé sur Internet (c’est-à-dire une fois que les opérateurs réseau ont récupéré une version à jour de la base RIPE pour construire leurs filtres de routage), nos nouveaux fournisseurs de transit pouvaient constater que notre ASN était autorisé à annoncer ce préfixe. À partir de ce moment-là, nous pouvions commencer à annoncer ce préfixe via notre propre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si nous n’avions pas créé cet objet <em>route</em>, nos annonces auraient pu être rejetées et nous aurions pu être considérés comme des acteurs malveillants réalisant un détournement BGP (<em>BGP hijack</em>).</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Annonce via notre fournisseur historique</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une fois le second objet <em>route</em> propagé, nous avons réalisé la première étape dans la nuit du 16 janvier 2025 : nous avons commencé à annoncer nous-mêmes le préfixe via BGP à notre fournisseur historique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le trafic continuait d’emprunter le même chemin de transit, mais cette fois avec Clever Cloud (AS213394) comme origine des annonces, au lieu de notre fournisseur historique. Ce dernier continuait à relayer le préfixe, mais le recevait désormais de notre part au lieu de l’annoncer directement.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services (AS213394)
   |
   | originates: 91.208.207.0/24 (origin AS213394)
   v
Historical Provider (AS43424)
   |
   | re-announces: 91.208.207.0/24 (origin AS213394)
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cette première phase a servi de validation : en cas de problème, nous pouvions revenir rapidement en arrière sans impacter les autres chemins de transit.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Annonce via nos propres transits</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Quelques jours plus tard, dans la nuit du 21 janvier 2025, nous avons franchi l’étape finale : nous avons commencé à annoncer le préfixe via nos propres connexions de transit dédiées.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services (AS213394)
   |
   | originates: 91.208.207.0/24 (origin AS213394)
   |
   +---+---+---+
   |   |   |   |
   v   v   v   v
  T1  T2  T3  HP
(Transit providers + historical provider)
   |   |   |   |
   +---+---+---+
   |
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Nous annonçons désormais nos préfixes directement à quatre fournisseurs upstream (trois fournisseurs de transit, T1/T2/T3, ainsi que notre fournisseur historique HP). Le trafic circule à travers l’ensemble de ces chemins, et nous disposons d’un contrôle complet sur les décisions de routage ainsi que sur la redondance.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tout au long de ces deux phases, nous n’avons observé aucune interruption ayant un impact pour les utilisateurs. La redondance intrinsèque du protocole BGP, combinée à la nature progressive de la transition, a permis d’assurer un écoulement du trafic sans interruption, quel que soit le chemin privilégié à un instant donné.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Visibilité complète du routage Internet</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans le cadre de la phase 2, nos trois principaux fournisseurs de transit ont commencé à nous fournir une « full view » de la table de routage Internet. Il s’agit de l’ensemble complet des préfixes IPv4 et IPv6 publiquement annoncés — soit environ 1 million de routes IPv4 et 220 000 routes IPv6.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Disposer d’une full view nous offre une visibilité inédite sur la structure d’Internet et nous permet de prendre des décisions de routage avancées. Au lieu de dépendre de la vision d’un seul fournisseur, nous avons désormais accès à l’ensemble des chemins disponibles pour atteindre n’importe quelle destination.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec ces informations, nous sommes en mesure de choisir les chemins optimaux pour notre trafic sortant en fonction de notre topologie réseau et de nos préférences, de mettre en œuvre du <em>traffic engineering</em> pour diriger les flux via des fournisseurs de transit spécifiques, de réagir dynamiquement aux conditions réseau et à la congestion, et d’équilibrer la charge entre nos quatre connexions de transit en nous appuyant sur des données de routage en temps réel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce niveau de contrôle fin sur notre politique de routage est une conséquence directe de l’exploitation de notre propre système autonome et de la gestion de nos propres annonces — exactement le niveau d’indépendance opérationnelle que nous recherchions au début de cette transition.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un an plus tard</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Près d’un an après le début de l’exploitation de nos propres annonces réseau, la transition s’est révélée concluante. Nous n’avons rencontré aucun incident majeur et notre infrastructure a démontré sa résilience. Lorsque des incidents mineurs se sont produits — comme des pertes de paquets sur un fournisseur de transit spécifique ou la perte temporaire d’un lien — le trafic s’est automatiquement rééquilibré sur les connexions restantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons pu détecter et corriger ces problèmes directement, sans dépendre d’un fournisseur tiers. Nos utilisateurs n’ont subi aucune interruption ayant un impact. Cette capacité à assumer la responsabilité de notre réseau et à résoudre rapidement les problèmes est sans doute le principal bénéfice de cette transition.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Et ensuite</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cette transition est loin d’être terminée. Plusieurs évolutions sont prévues :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>augmentation de la capacité réseau</strong> pour absorber la croissance du trafic</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>mise en place de <strong>peering BGP</strong> avec d’autres réseaux pour optimiser le trafic local sans recourir au transit</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>déploiement de <strong>ROA (Route Origin Authorization)</strong> pour signer cryptographiquement nos annonces et prévenir les détournements de préfixes</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>validation <strong>RPKI (Resource Public Key Infrastructure)</strong> pour vérifier la légitimité des annonces reçues et renforcer la sécurité du routage</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>extension d’IPv6</strong>, en entrée (réception de trafic IPv6) comme en sortie (émission de trafic IPv6), déployée progressivement</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Début 2025, Clever Cloud a finalisé sa transition vers une exploitation entièrement autonome de son réseau. Nous annonçons désormais nos propres préfixes IP via quatre fournisseurs upstream, ce qui nous donne un contrôle complet sur la manière dont le trafic entre et sort de notre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour nos utilisateurs, cela se traduit par une meilleure fiabilité et des temps de résolution plus courts dans notre région Paris. Lorsqu’un incident réseau survient, nous le traitons directement, et notre redondance multi-fournisseurs garantit la continuité du trafic.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette étape marque le début d’une nouvelle phase. Nous travaillons déjà sur le peering BGP pour optimiser le trafic local, sur le déploiement de ROA et la validation RPKI pour renforcer la sécurité du routage, ainsi que sur l’extension d’IPv6 pour généraliser le dual-stack. Nous construisons un réseau aussi robuste et autonome que le reste de notre infrastructure.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2499" height="1109" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 17 clever cloud banniere blog clever cloud controle lannonce de ses prefixes ip fr 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1.png 2499w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-clever-cloud-controle-lannonce-de-ses-prefixes-ip-fr-1-1368x607.png 1368w" sizes="auto, (max-width: 2499px) 100vw, 2499px" /></p><!-- wp:paragraph -->
<p>Cela représente une étape importante, issue de trois années de préparation, et s’inscrit dans une stratégie plus large visant à conserver un contrôle complet sur l’infrastructure réseau de notre région Paris.<br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Pourquoi ce changement</h2>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="max-width:780px;margin:1.5rem auto;background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.7;box-shadow:0 1px 2px rgba(0,0,0,0.08);border:1px solid rgba(255,255,255,0.08);">
  <strong style="color:#e5eefc;">Note :</strong> Clever Cloud opère plusieurs régions dans le monde. Paris est notre région principale — la plus importante — où nous contrôlons l’ensemble de la stack : notre propre matériel, notre propre réseau, et désormais l’annonce de nos préfixes IP. Les autres régions (hébergées chez OVH, Scaleway, Cloud Temple, Ionos, Oracle) reposent sur l’infrastructure du fournisseur sous-jacent, y compris son réseau. Les changements décrits dans cet article concernent spécifiquement notre région Paris.
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Aux débuts de Clever Cloud, nous avons délégué la gestion du réseau à des partenaires. Ce choix était logique : il nous permettait d’accélérer le développement, de nous concentrer sur les services cloud, et d’éviter d’investir immédiatement dans une expertise que nous ne maîtrisions pas encore.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais à mesure que notre infrastructure a grandi, les limites de cette dépendance sont devenues évidentes. Nous n’avions aucun contrôle sur des décisions stratégiques : la manière dont le trafic était routé sur Internet, les chemins empruntés par nos paquets, ou la rapidité avec laquelle nous pouvions réagir aux incidents. Chaque modification, chaque incident nécessitait l’intervention d’un tiers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc décidé de reprendre cette responsabilité. Cela nous a permis d’obtenir plusieurs avantages concrets. Nous optimisons les coûts grâce à la gestion directe de nos relations de transit et de peering. Nous définissons notre propre politique de routage au lieu de subir les contraintes d’un intermédiaire. Nous résolvons les incidents nous-mêmes, sans dépendre de fournisseurs externes. Et nous obtenons un contrôle complet de notre stack réseau — dans la continuité du contrôle que nous avons progressivement acquis sur nos serveurs et nos datacenters au cours des dernières années.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cette transition ne concerne pas uniquement notre indépendance opérationnelle. Elle apporte des bénéfices immédiats et concrets pour nos utilisateurs. Le plus important est la résilience. Auparavant, l’ensemble du trafic passait par un seul fournisseur. Tout incident de leur côté impactait l’ensemble des services. Nous disposons désormais de quatre fournisseurs upstream répartis sur trois datacenters en région parisienne. Lorsqu’un lien tombe — ce qui s’est produit au cours de l’année passée — le trafic bascule automatiquement vers les alternatives disponibles, sans interruption pour les utilisateurs. Nous pouvons même absorber la perte simultanée de plusieurs liens de transit.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au-delà de la redondance, nous gagnons le contrôle du routage lui-même. Nous décidons désormais comment le trafic atteint sa destination. Cela nous permet d’optimiser les chemins pour réduire la latence et améliorer les performances, et d’ajuster ces décisions en fonction des besoins spécifiques et de la topologie réseau. Nous réagissons en temps réel à la congestion, aux variations du réseau et aux contraintes opérationnelles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, la responsabilité opérationnelle change. Les incidents réseau ne nécessitent plus d’attendre qu’un fournisseur externe les prenne en charge. Les défaillances du réseau public relèvent directement de notre responsabilité : nous les détectons, les analysons et les corrigeons. Cela réduit directement le temps entre l’apparition d’un problème et sa résolution, ce qui améliore la disponibilité et la fiabilité pour nos utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Exploiter son propre réseau sur Internet</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour opérer un réseau indépendant sur Internet, une organisation doit travailler avec un registre Internet régional (RIR). Les RIR sont responsables de l’attribution et de la gestion des adresses IP et des numéros d’AS dans des zones géographiques spécifiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il existe cinq RIR dans le monde :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>RIPE NCC</strong> — Europe, Asie centrale et Moyen-Orient</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>ARIN</strong> — Amérique du Nord (États-Unis, Canada, Caraïbes)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>LACNIC</strong> — Amérique latine et Caraïbes</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>APNIC</strong> — région Asie-Pacifique</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>AFRINIC</strong> — Afrique</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour Clever Cloud, dont l’infrastructure est principalement en Europe, nous travaillons avec le RIPE NCC (Réseaux IP Européens).</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Espace d’adressage alloué</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>En tant que membre d’un RIR, une organisation reçoit des allocations d’adresses IPv4 et IPv6. Pour les membres du RIPE NCC, cela correspond généralement à un bloc IPv4 en /24 (<a href="https://www.ripe.net/manage-ips-and-asns/ipv4/ipv4-waiting-list/">selon disponibilité</a>) et un bloc IPv6 en /29. Ces ressources sont associées à l’organisation et peuvent être utilisées pour opérer un réseau à l’échelle globale.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Création de notre système autonome</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les bases de cette transition ont été posées plusieurs années auparavant. En 2019, nous avons créé notre compte RIPE NCC afin de devenir LIR (Local Internet Registry). Cela nous a permis d’obtenir un bloc IPv4 /24 (91.208.207.0/24) et un bloc IPv6 /29 (2a0f:d0c0::/29).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis, en 2022, nous avons enregistré notre numéro de système autonome (ASN) auprès du registre régional. Notre numéro d’AS est <a href="https://apps.db.ripe.net/db-web-ui/lookup?source=ripe&amp;key=AS213394&amp;type=aut-num">AS213394</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; whois AS213394

aut-num:        AS213394
as-name:        CleverCloud
org:            ORG-CCS42-RIPE
import:         from AS29075 accept ANY
import:         from AS3257 accept ANY
import:         from AS3356 accept ANY
import:         from AS43424 accept ANY
export:         to AS29075 announce AS213394:AS-CLVRCLD
export:         to AS3257 announce AS213394:AS-CLVRCLD
export:         to AS3356 announce AS213394:AS-CLVRCLD
export:         to AS43424 announce AS213394:AS-CLVRCLD
admin-c:        QA171-RIPE
tech-c:         QA171-RIPE
status:         ASSIGNED
mnt-by:         RIPE-NCC-END-MNT
mnt-by:         mnt-fr-clvrcldnet-1
created:        2022-11-28T08:24:23Z
last-modified:  2025-02-25T16:36:15Z
source:         RIPE</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Un ASN (Autonomous System Number) est un identifiant unique attribué à un réseau sur Internet. Il est nécessaire pour annoncer des routes via BGP, le protocole qui permet le routage entre réseaux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Maintenant que nous disposons d’un ASN, nous pouvons annoncer nos préfixes aux autres réseaux via le protocole BGP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Le rôle de la base de données RIPE</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le RIPE NCC maintient une base de données publique d’objets de routage (comme l’objet <em>aut-num</em> présenté précédemment). Parmi ces objets figurent les objets de type <em>route</em>, qui indiquent quel système autonome (AS) est autorisé à annoncer un préfixe IP donné.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, ces entrées sont principalement utilisées par les opérateurs réseau et les fournisseurs de transit pour construire leurs politiques de routage et leurs mécanismes de filtrage (filtrage basé sur l’IRR). Ces filtres permettent d’accepter ou de rejeter les annonces reçues de leurs pairs. Il s’agit d’un des mécanismes utilisés pour tenter de prévenir les détournements BGP (<em>BGP hijacks</em>).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En appliquant ces filtres aux routes reçues de leurs pairs, les opérateurs peuvent limiter la propagation d’un préfixe annoncé par un ASN non autorisé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Prenons un exemple : imaginons que l’organisation A possède le préfixe 192.0.2.0/24 et l’annonce à un fournisseur de transit X. Le fournisseur X applique un filtre sur les routes reçues de l’organisation A afin de n’accepter que les préfixes IP enregistrés dans la base RIR de cette organisation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ce cas, si l’organisation A commence à annoncer un préfixe qui ne lui appartient pas (par exemple notre préfixe public 91.208.207.0/24), le fournisseur X est censé rejeter cette annonce. Cela permet d’éviter qu’une route incorrecte soit propagée sur Internet et que le trafic soit redirigé vers une entité non légitime.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Le protocole BGP : comment Internet route le trafic</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour comprendre comment nous annonçons nos préfixes sur Internet, il est essentiel de comprendre BGP — le <em>Border Gateway Protocol</em>. BGP est le protocole de routage de référence sur Internet. Il permet aux réseaux (systèmes autonomes) d’échanger des informations sur les préfixes IP qu’ils possèdent et sur la manière de les atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>BGP fonctionne dans les deux sens. Lorsque nous annonçons à nos pairs et à nos fournisseurs de transit « nous possédons 91.208.207.0/24 », cette annonce se propage sur Internet de réseau en réseau. Chaque réseau qui relaie cette annonce ajoute son propre numéro d’AS dans le <em>AS_PATH</em> — une liste qui représente la séquence de réseaux qu’un paquet doit traverser pour nous atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Par exemple, OVHcloud (AS16276) voit le chemin [AS29075, AS213394] : le trafic passe par l’un de nos fournisseurs de transit (AS29075), puis arrive jusqu’à nous (AS213394). Chaque réseau qui relaie l’annonce la met à jour de cette manière, construisant progressivement un chemin complet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voici un exemple obtenu via le <a href="https://lg.ovh.net/prefix_detail/lil1/ipv4?q=91.208.207.0/24">service Looking Glass d’OVHcloud</a> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; show route for 91.208.207.0/24 all

91.208.207.0/24    via 172.18.16.0 on eno1 [lil1_rbx1_bagg1_8k 2025-12-25] * (100/0) [AS213394i]
    Type: BGP unicast univ
    BGP.origin: IGP
    BGP.as_path: 29075 213394
    BGP.next_hop: 172.18.16.0
    BGP.med: 161
    BGP.local_pref: 40
    BGP.community: (0,0) (29075,18000) (65535,65281)
    BGP.23 [t]: 00 00 b8 6e
                   via 172.18.16.64 on eno1 [lil1_rbx8_bagg1_8k 2025-12-25] (100/0) [AS213394i]</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Dans le même temps, nous recevons des annonces provenant d’autres réseaux concernant leurs propres préfixes et les chemins permettant de les atteindre. Cela construit la vue inverse : lorsque nous devons envoyer du trafic sortant, nous savons quel chemin emprunter pour atteindre une destination donnée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Voici un exemple avec un préfixe d’OVHcloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">&gt; /routing/route/print detail where dst-address=5.39.0.0/17 and active

Ab   afi=ip4 contribution=active dst-address=5.39.0.0/17 routing-table=main pref-src=185.133.116.2 gateway=213.242.111.201 immediate-gw=213.242.111.201%sfp28-6 distance=20 scope=40 target-scope=10 belongs-to="bgp-IP-213.242.111.201"

      bgp.as-path="3356,16276" bgp.communities=3356:2,3356:2066,3356:22,16276:40001,3356:100,65002:7018,3356:123,3356:901,65002:701,65000:64990,65000:64995,65000:64996,3356:502 .med=0 .atomic-aggregate=no .origin=igp</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Dans cet exemple, le chemin réseau utilisé par OVHcloud pour nous atteindre est différent de celui que nous utilisons pour les atteindre.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Le processus de migration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>os préfixes IP étaient entièrement gérés par notre fournisseur historique. Bien que nous en soyons propriétaires, nous lui avions délégué leur annonce sur Internet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela impliquait que son ASN (AS43424) apparaissait comme origine dans les tables de routage, et que l’ensemble du trafic transitait par son infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services
   |
   | all inbound/outbound traffic
   v
Historical Provider (AS43424)
   |
   | originates: 91.208.207.0/24 (origin AS43424)
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Nous voulions que notre ASN devienne l’origine des annonces. Pour cela, nous avons planifié une migration en trois étapes, sans interruption pour les utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Migration d’un préfixe entre AS</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour migrer un préfixe d’un AS vers un autre, nous devions modifier son objet <em>route</em> dans la base de données RIPE. La procédure était relativement simple, mais nécessitait un timing précis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d’abord créé un second objet <em>route</em> dans la base RIPE pour notre préfixe 91.208.207.0/24. Désormais, les deux ASN étaient enregistrés comme autorisés à annoncer ce même préfixe — à la fois l’AS de notre fournisseur historique et notre propre AS (213394).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces objets de routage sont interrogeables publiquement via la commande <em>whois</em> ou via l’interface web du RIPE. Par exemple, la commande suivante permet d’obtenir les deux objets enregistrés :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);max-width:900px;width:100%;"><code style="background:transparent;color:inherit;padding:0;font-size:inherit;font-family:inherit;">❯ whois -h whois.ripe.net -T route 91.208.207.0/24
% Information related to '91.208.207.0/24AS213394'

route:          91.208.207.0/24
mnt-by:         mnt-fr-clvrcldnet-1
descr:          CleverCloud subnet
origin:         AS213394
created:        2025-01-15T10:29:14Z
last-modified:  2025-01-15T10:29:14Z
source:         RIPE

% Information related to '91.208.207.0/24AS43424'

route:          91.208.207.0/24
mnt-by:         mnt-fr-clvrcldnet-1
mnt-by:         MAGICRETAIL-MNT
descr:          CleverCloud subnet
origin:         AS43424
created:        2020-02-13T09:06:33Z
last-modified:  2020-02-13T09:06:48Z
source:         RIPE</code></pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois ce second objet <em>route</em> enregistré et propagé sur Internet (c’est-à-dire une fois que les opérateurs réseau ont récupéré une version à jour de la base RIPE pour construire leurs filtres de routage), nos nouveaux fournisseurs de transit pouvaient constater que notre ASN était autorisé à annoncer ce préfixe. À partir de ce moment-là, nous pouvions commencer à annoncer ce préfixe via notre propre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si nous n’avions pas créé cet objet <em>route</em>, nos annonces auraient pu être rejetées et nous aurions pu être considérés comme des acteurs malveillants réalisant un détournement BGP (<em>BGP hijack</em>).</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Annonce via notre fournisseur historique</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une fois le second objet <em>route</em> propagé, nous avons réalisé la première étape dans la nuit du 16 janvier 2025 : nous avons commencé à annoncer nous-mêmes le préfixe via BGP à notre fournisseur historique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le trafic continuait d’emprunter le même chemin de transit, mais cette fois avec Clever Cloud (AS213394) comme origine des annonces, au lieu de notre fournisseur historique. Ce dernier continuait à relayer le préfixe, mais le recevait désormais de notre part au lieu de l’annoncer directement.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services (AS213394)
   |
   | originates: 91.208.207.0/24 (origin AS213394)
   v
Historical Provider (AS43424)
   |
   | re-announces: 91.208.207.0/24 (origin AS213394)
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cette première phase a servi de validation : en cas de problème, nous pouvions revenir rapidement en arrière sans impacter les autres chemins de transit.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Annonce via nos propres transits</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Quelques jours plus tard, dans la nuit du 21 janvier 2025, nous avons franchi l’étape finale : nous avons commencé à annoncer le préfixe via nos propres connexions de transit dédiées.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="display:flex;justify-content:center;">
<pre style="background:#0f172a;color:#e5eefc;border-radius:12px;padding:16px 20px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:14px;line-height:1.6;margin:1.5rem 0;box-shadow:0 1px 2px rgba(0,0,0,0.08);border-left:4px solid #3b82f6;max-width:900px;width:100%;">Clever Cloud Services (AS213394)
   |
   | originates: 91.208.207.0/24 (origin AS213394)
   |
   +---+---+---+
   |   |   |   |
   v   v   v   v
  T1  T2  T3  HP
(Transit providers + historical provider)
   |   |   |   |
   +---+---+---+
   |
   v
Internet</pre>
</div>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Nous annonçons désormais nos préfixes directement à quatre fournisseurs upstream (trois fournisseurs de transit, T1/T2/T3, ainsi que notre fournisseur historique HP). Le trafic circule à travers l’ensemble de ces chemins, et nous disposons d’un contrôle complet sur les décisions de routage ainsi que sur la redondance.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tout au long de ces deux phases, nous n’avons observé aucune interruption ayant un impact pour les utilisateurs. La redondance intrinsèque du protocole BGP, combinée à la nature progressive de la transition, a permis d’assurer un écoulement du trafic sans interruption, quel que soit le chemin privilégié à un instant donné.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Visibilité complète du routage Internet</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans le cadre de la phase 2, nos trois principaux fournisseurs de transit ont commencé à nous fournir une « full view » de la table de routage Internet. Il s’agit de l’ensemble complet des préfixes IPv4 et IPv6 publiquement annoncés — soit environ 1 million de routes IPv4 et 220 000 routes IPv6.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Disposer d’une full view nous offre une visibilité inédite sur la structure d’Internet et nous permet de prendre des décisions de routage avancées. Au lieu de dépendre de la vision d’un seul fournisseur, nous avons désormais accès à l’ensemble des chemins disponibles pour atteindre n’importe quelle destination.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec ces informations, nous sommes en mesure de choisir les chemins optimaux pour notre trafic sortant en fonction de notre topologie réseau et de nos préférences, de mettre en œuvre du <em>traffic engineering</em> pour diriger les flux via des fournisseurs de transit spécifiques, de réagir dynamiquement aux conditions réseau et à la congestion, et d’équilibrer la charge entre nos quatre connexions de transit en nous appuyant sur des données de routage en temps réel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce niveau de contrôle fin sur notre politique de routage est une conséquence directe de l’exploitation de notre propre système autonome et de la gestion de nos propres annonces — exactement le niveau d’indépendance opérationnelle que nous recherchions au début de cette transition.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un an plus tard</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Près d’un an après le début de l’exploitation de nos propres annonces réseau, la transition s’est révélée concluante. Nous n’avons rencontré aucun incident majeur et notre infrastructure a démontré sa résilience. Lorsque des incidents mineurs se sont produits — comme des pertes de paquets sur un fournisseur de transit spécifique ou la perte temporaire d’un lien — le trafic s’est automatiquement rééquilibré sur les connexions restantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons pu détecter et corriger ces problèmes directement, sans dépendre d’un fournisseur tiers. Nos utilisateurs n’ont subi aucune interruption ayant un impact. Cette capacité à assumer la responsabilité de notre réseau et à résoudre rapidement les problèmes est sans doute le principal bénéfice de cette transition.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Et ensuite</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cette transition est loin d’être terminée. Plusieurs évolutions sont prévues :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>augmentation de la capacité réseau</strong> pour absorber la croissance du trafic</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>mise en place de <strong>peering BGP</strong> avec d’autres réseaux pour optimiser le trafic local sans recourir au transit</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>déploiement de <strong>ROA (Route Origin Authorization)</strong> pour signer cryptographiquement nos annonces et prévenir les détournements de préfixes</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>validation <strong>RPKI (Resource Public Key Infrastructure)</strong> pour vérifier la légitimité des annonces reçues et renforcer la sécurité du routage</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>extension d’IPv6</strong>, en entrée (réception de trafic IPv6) comme en sortie (émission de trafic IPv6), déployée progressivement</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Début 2025, Clever Cloud a finalisé sa transition vers une exploitation entièrement autonome de son réseau. Nous annonçons désormais nos propres préfixes IP via quatre fournisseurs upstream, ce qui nous donne un contrôle complet sur la manière dont le trafic entre et sort de notre infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour nos utilisateurs, cela se traduit par une meilleure fiabilité et des temps de résolution plus courts dans notre région Paris. Lorsqu’un incident réseau survient, nous le traitons directement, et notre redondance multi-fournisseurs garantit la continuité du trafic.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette étape marque le début d’une nouvelle phase. Nous travaillons déjà sur le peering BGP pour optimiser le trafic local, sur le déploiement de ROA et la validation RPKI pour renforcer la sécurité du routage, ainsi que sur l’extension d’IPv6 pour généraliser le dual-stack. Nous construisons un réseau aussi robuste et autonome que le reste de notre infrastructure.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CKE en bêta publique : Kubernetes managé, souverain, et vraiment intégré</title>
		<link>https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/</link>
		
		<dc:creator><![CDATA[Horacio Gonzalez]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 15:10:56 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[cke]]></category>
		<category><![CDATA[K8S]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24224</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud Bannière CKE" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Nous avons donc construit notre propre orchestrateur. Il repose sur des micro-VMs et nous donne une frontière kernel propre entre les workloads, sans partage de noyau entre tenants. C'est ce qui fait tourner aujourd'hui des dizaines de milliers d'applications en production sur notre PaaS, et c'est encore, pour la plupart des projets, le chemin le plus court entre un commit et de la production.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Quand Docker est arrivé, certains workloads se prêtaient mieux à une image conteneurisée qu'à nos runtimes natifs. Nous avons donc ajouté un runtime Docker à la plateforme, là où ça avait du sens. Pas pour remplacer notre approche, mais pour l'élargir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis Kubernetes s'est imposé comme le standard de fait de l'orchestration de conteneurs. Son écosystème (Helm, opérateurs, GitOps…) est devenu incontournable pour de nombreuses équipes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurions pu continuer à répondre que, dans beaucoup de cas, Kubernetes n'est pas le meilleur chemin vers la production. C'est toujours vrai.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais ça ne suffisait plus.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est pour ça que nous lançons <a href="https://www.clever.cloud/fr/clever-kubernetes-engine/">CKE, notre Clever Kubernetes Engine</a>, aujourd'hui disponible en bêta publique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comme beaucoup le savent, pendant des années, nous avons résisté à l'idée de proposer Kubernetes comme une case à cocher de plus dans la Console. Non pas parce que Kubernetes ne sert à rien, mais parce qu'il est trop souvent devenu une réponse par défaut à des problèmes que le PaaS résout plus simplement : déployer une application, la scaler, la superviser, l'isoler, lui connecter une base de données, gérer ses variables d'environnement, ses logs et son cycle de vie. Et nous le pensons toujours.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais Kubernetes est devenu le langage commun d'une grande partie de l'écosystème cloud-native. Helm, les opérateurs, GitOps, les workloads déjà conteneurisés, les plateformes internes et les chaînes d'outillage existantes font partie de la réalité quotidienne de nombreuses équipes. Et notre raison d'être est de faciliter la vie des équipes techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La question n'était donc plus "faut-il faire du Kubernetes ?", mais "peut-on faire du Kubernetes sans renier ce qui fait Clever Cloud ?"</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="pas-un-kubernetes-empaqueté-à-la-va-vite">Pas un Kubernetes empaqueté à la va-vite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le chemin le plus rapide pour proposer du Kubernetes managé, c'est d'empaqueter une distribution upstream derrière une console d’administration, d'ajouter une API de provisioning, et de facturer le cluster à l'heure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une stratégie valide pour sortir vite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce n'est pas celle que nous voulions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour CKE, nous avions trois exigences qui ne se résolvent pas en ajoutant simplement Kubernetes à côté du reste de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La première, c'est la souveraineté. CKE est opéré en Europe, sur notre infrastructure et celle de nos partenaires, et peut aussi être déployé sur les infrastructures on-premises de nos clients qui en ont besoin. Pas de dépendance aux hyperscalers américains, pas de zones grises sur la juridiction des données, pas de promesse floue sur la localisation réelle de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La deuxième, c'est l'intégration avec le reste de Clever Cloud. Nous ne voulions pas créer un silo Kubernetes à côté du PaaS, des bases de données managées, du stockage objet et du réseau privé. Nous voulions un Kubernetes qui s'inscrive dans la même plateforme, avec la même Console, le même outillage, la même facturation, les mêmes règles de gouvernance et les mêmes services managés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La troisième, c'est la prévisibilité opérationnelle. Kubernetes est un système distribué complexe, et son comportement sous charge dépend beaucoup de ses fondations. Nous ne voulions pas opérer un produit dont la couche basse resterait une boîte noire ou une limite acceptée par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui nous a amenés à travailler à un endroit que peu de fournisseurs touchent : la couche de cohérence interne de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="sous-le-capot--materia-etcd-sur-foundationdb">Sous le capot : Materia etcd sur FoundationDB</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans Kubernetes, etcd est le composant qui stocke l'état du cluster : les manifests, les ressources, les secrets, l'état des nœuds. C'est la source de vérité de tout l'orchestrateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi l'un des composants les plus sensibles du système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>etcd fonctionne très bien dans le cadre pour lequel il a été conçu. Mais ses limites à grande échelle sont connues : taille du store, latences sous forte charge en écriture, comportement en cas de partition réseau, opérations de sauvegarde et restauration, besoin de compaction et de surveillance fine. Quand Kubernetes devient une fondation critique, etcd devient un sujet d'exploitation à part entière.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous ne voulions pas construire CKE sur une brique que nous considérerions ensuite comme une boîte noire fragile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc repris le problème à sa racine : conserver le contrat attendu par Kubernetes, mais remplacer la couche de cohérence interne par une implémentation adossée à FoundationDB. C'est ce que nous appelons Materia etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB nous apporte des transactions ACID distribuées, un modèle de cohérence robuste, et une approche de&nbsp;<a href="https://apple.github.io/foundationdb/testing.html">testing par simulation déterministe</a>&nbsp;qui correspond très bien à notre manière de construire de l'infrastructure critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour l'utilisateur final, ce travail est invisible. C'est précisément le but. Sous le capot, cette fondation nous permet de construire CKE avec l'auto-scaling, l'auto-healing et la prévisibilité opérationnelle que nous attendons d'un service Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous reviendrons bientôt plus en détail sur Materia etcd, parce que le sujet mérite un article dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="du-kubernetes-standard-côté-développeur">Du Kubernetes standard côté développeur</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Tout ce travail sur la couche basse a un objectif simple : côté utilisateur, CKE doit être du Kubernetes standard.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vos manifests fonctionnent sans modification. Vos charts Helm s'installent normalement. Votre Argo CD ou votre Flux se branche comme sur n'importe quel cluster. Vos opérateurs Kubernetes tournent sans surprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne cherche pas à réinventer l'interface développeur de Kubernetes. Ce serait contre-productif. Si vous avez déjà une chaîne de déploiement Kubernetes, l'objectif est qu'elle puisse fonctionner sur CKE avec le moins de friction possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La différence se joue ailleurs : dans la manière dont ce Kubernetes s'intègre au reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="kubernetes-quand-vous-en-avez-besoin-le-paas-quand-il-suffit">Kubernetes quand vous en avez besoin, le PaaS quand il suffit</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le meilleur choix : moins d'exploitation, moins de configuration, moins de YAML, moins de surface de maintenance. Si votre application rentre naturellement dans un runtime Clever Cloud, le PaaS reste souvent le chemin le plus simple et le plus robuste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais il y a des cas où Kubernetes est le bon outil.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous avez peut-être besoin :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>D'installer un opérateur ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De reprendre des manifests existants ; </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De standardiser une chaîne GitOps ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De déployer un workload déjà distribué sous forme de chart Helm ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De faire tourner une plateforme interne construite autour de l'API Kubernetes ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Ou simplement de répondre aux habitudes d'une équipe qui travaille déjà avec Kubernetes au quotidien.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Dans ces cas-là, le problème n'est pas Kubernetes en soi. Le problème, c'est Kubernetes isolé du reste de votre système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est là que CKE change les choses. Vous pouvez garder une API Node.js sur le PaaS, un frontend statique sur Cellar, une base PostgreSQL managée, et faire tourner sur CKE uniquement le composant, l'opérateur ou le workload qui a réellement besoin de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le tout dans le même environnement Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="une-intégration-native-avec-lécosystème-clever-cloud">Une intégration native avec l'écosystème Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE a été conçu pour s'intégrer avec les services que vous utilisez déjà sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cellar</strong>, notre stockage objet compatible S3, peut être utilisé depuis vos workloads Kubernetes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Les bases de données managées</strong>&nbsp;(PostgreSQL, MySQL, MongoDB, Redis, Materia) s'attachent à votre cluster comme aux autres applications Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>IAM as a Service</strong>&nbsp;permet de gérer l'authentification et les permissions sur le cluster et sur les équipes qui y accèdent.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Network Groups</strong>&nbsp;permet de relier votre cluster CKE à vos applications PaaS Clever Cloud existantes, dans le même réseau privé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>L’intégration avec Network Groups est probablement celle qui change le plus le quotidien.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est souvent introduit dans les organisations comme une nouvelle île : nouvelle console, nouveau réseau, nouveaux secrets, nouvelles règles d'accès, nouvelle facturation, nouvelle façon de connecter les services entre eux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec CKE, l'objectif est inverse. Kubernetes devient une brique de plus dans l'architecture Clever Cloud, pas un monde parallèle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous pouvez donc construire une architecture hybride sans bricolage : une partie sur le PaaS, une partie sur CKE, des bases de données managées, du stockage objet, du réseau privé, et une gouvernance commune.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="activer-cke-et-déployer-une-première-application">Activer CKE et déployer une première application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cette démo, on va rester sur le minimum vital : activer la fonctionnalité, créer un cluster, récupérer un kubeconfig, ajouter un node group et déployer une première application avec un service de type&nbsp;<code>LoadBalancer</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté prérequis, il faut avoir&nbsp;<a href="https://www.clever.cloud/developers/doc/cli/">Clever Tools</a>&nbsp;en version 4.3 ou supérieure, et&nbsp;<code>kubectl</code>&nbsp;installé sur votre poste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis l'ouverture de la bêta publique le 27 avril, la fonctionnalité Kubernetes peut être activée par tous les clients Clever Cloud, en une commande :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever features enable k8s</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>On peut alors créer un cluster. Donnez-lui un nom, précisez votre organisation, et l'option&nbsp;<code>--watch</code>&nbsp;permet de suivre l'avancement du déploiement :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s create my-cluster --org &lt;your-org-id&gt; --watch</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La création prend environ une minute. À tout moment, on peut lister les clusters de l'organisation avec&nbsp;<code>clever k8s list</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une fois le cluster prêt, on récupère son kubeconfig et on l'écrit directement comme configuration locale par défaut :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s get-kubeconfig my-cluster --org &lt;your-org-id&gt; &gt; ~/.kube/config</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À partir de là, c'est du Kubernetes standard.&nbsp;<code>kubectl</code>&nbsp;parle au cluster, et tout votre outillage habituel suit. On peut commencer par vérifier que tout est en place :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodes</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À ce stade, la liste est vide : le cluster est créé mais sans capacité de calcul. C'est l'occasion d'introduire la première spécificité de CKE côté API : le&nbsp;<code>NodeGroup</code>. Un node group est un ensemble de nœuds Kubernetes de même profil (même flavor, même région), gérés comme un tout. Vous le décrivez comme n'importe quelle ressource Kubernetes, dans un fichier YAML :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-yaml">apiVersion: api.clever-cloud.com/v1
kind: NodeGroup
metadata:
  name: example-nodegroup
spec:
  flavor: M
  nodeCount: 2</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Et vous l'appliquez avec&nbsp;<code>kubectl</code>&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create -f example-nodegroup.yaml</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Soixante à quatre-vingt-dix secondes plus tard, les nœuds rejoignent le cluster :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodegroups
NAME                DESIREDNODECOUNT   CURRENTNODECOUNT   FLAVOR   STATUS   AGE
example-nodegroup   2                  2                  M        Synced   2m

kubectl get nodes
NAME                      STATUS   ROLES    AGE   VERSION
example-nodegroup-node0   Ready    <none>   2m    v1.35.0
example-nodegroup-node1   Ready    <none>   2m    v1.35.0</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour ajuster la taille du node group, on reste dans l'API Kubernetes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl scale nodegroup example-nodegroup --replicas=4</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Avec un cluster qui dispose maintenant de capacité de calcul, on peut déployer une première application. Pour faire simple, un nginx exposé via un service de type&nbsp;<code>LoadBalancer</code>, ce qui provisionnera automatiquement un load balancer côté Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create deployment nginx --image=nginx:alpine --replicas=2 
kubectl expose deployment/nginx --type=LoadBalancer --port 80 
kubectl get service nginx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Quelques secondes plus tard, le service expose une adresse publique. C'est exactement le comportement réactif évoqué plus haut sur la phase de test privé : provisionner un node group, le scaler ou exposer un service ne demande ni attente ni configuration manuelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À partir d'ici, c'est du Kubernetes comme partout ailleurs. Vous pouvez ajouter du persistent storage via le CSI Clever Cloud, installer le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>&nbsp;pour provisionner depuis vos manifests une base de données managée, ou brancher votre chaîne GitOps habituelle. Le cluster supporte les versions Kubernetes 1.34, 1.35 et 1.36, avec 1.35 par défaut. Tout est détaillé dans la&nbsp;<a href="https://www.clever.cloud/developers/doc/kubernetes/">documentation CKE</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="ce-quon-a-vu-en-test-privé-et-à-devoxx-et-la-suite">Ce qu'on a vu en test privé et à Devoxx, et la suite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE est désormais en bêta publique, mais certains de nos clients y ont accès en test privé depuis plusieurs mois. Cette phase a été très utile pour confronter le produit à des usages réels avant de l'ouvrir plus largement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les retours sont très positifs. Le cluster se comporte comme attendu, et les opérations qui touchent souvent au quotidien d'une équipe Kubernetes, comme l'ajout d'un nœud ou la mise en place d'un load balancer, sont rapides et prévisibles. C'est précisément le comportement que nous visions en investissant autant de temps sur la couche de cohérence interne.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À Devoxx France, nous avons présenté CKE sur le stand Clever Cloud pendant trois jours. Les discussions ont confirmé deux choses que nous observions déjà.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, les équipes ne cherchent pas seulement un cluster Kubernetes. Elles cherchent un Kubernetes qui s'intègre proprement à leur plateforme, à leur réseau, à leurs bases de données, à leurs contraintes de sécurité et à leurs pratiques existantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, et c'est sans doute le retour le plus marquant, les développeurs ne cherchent pas à tout mettre sur Kubernetes. Beaucoup veulent garder leurs applications classiques sur notre PaaS, là où il est le plus efficace, et déployer sur Kubernetes uniquement les composants qui le méritent vraiment, par leur complexité, par leur architecture distribuée ou par les contraintes de l'écosystème dans lequel ils s'inscrivent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est exactement le genre d’architecture hybride que CKE est conçu pour permettre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est aussi pour ça que nous avions construit, en amont du lancement, le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>. Il permet à un workload qui tourne dans un cluster Kubernetes, qu’il soit hébergé chez nous ou ailleurs, de provisionner et de consommer nos services managés directement depuis l’API Kubernetes : PostgreSQL, MySQL, MongoDB, Redis, Cellar ou Materia.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour vos équipes, c’est du&nbsp;<code>kubectl apply</code>&nbsp;qui crée une base de données managée. Pour CKE, c’est l’outil naturel pour faire le pont entre les workloads Kubernetes et le reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La bêta est ouverte à tous les clients Clever Cloud. Vous pouvez l'activer dès maintenant, déployer vos premiers workloads, et nous faire remonter ce qui vous manque, ce qui vous surprend ou ce que vous aimeriez voir arriver ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La discussion est ouverte sur <a href="https://github.com/CleverCloud/Community/discussions/categories/kubernetes" target="_blank" rel="noreferrer noopener">notre communauté GitHub</a>, et la documentation est disponible <a href="https://www.clever.cloud/developers">ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le chemin le plus simple entre un commit et de la production. Mais quand vous avez besoin de Kubernetes, pour un opérateur, un chart Helm, une chaîne GitOps, un workload déjà standardisé ou une plateforme interne, vous pouvez maintenant le faire dans l'environnement Clever Cloud, avec nos choix d'infrastructure, notre réseau, nos services managés et nos exigences de souveraineté.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce Kubernetes-là que nous voulions construire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud Bannière CKE" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Nous avons donc construit notre propre orchestrateur. Il repose sur des micro-VMs et nous donne une frontière kernel propre entre les workloads, sans partage de noyau entre tenants. C'est ce qui fait tourner aujourd'hui des dizaines de milliers d'applications en production sur notre PaaS, et c'est encore, pour la plupart des projets, le chemin le plus court entre un commit et de la production.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Quand Docker est arrivé, certains workloads se prêtaient mieux à une image conteneurisée qu'à nos runtimes natifs. Nous avons donc ajouté un runtime Docker à la plateforme, là où ça avait du sens. Pas pour remplacer notre approche, mais pour l'élargir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis Kubernetes s'est imposé comme le standard de fait de l'orchestration de conteneurs. Son écosystème (Helm, opérateurs, GitOps…) est devenu incontournable pour de nombreuses équipes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurions pu continuer à répondre que, dans beaucoup de cas, Kubernetes n'est pas le meilleur chemin vers la production. C'est toujours vrai.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais ça ne suffisait plus.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est pour ça que nous lançons <a href="https://www.clever.cloud/fr/clever-kubernetes-engine/">CKE, notre Clever Kubernetes Engine</a>, aujourd'hui disponible en bêta publique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comme beaucoup le savent, pendant des années, nous avons résisté à l'idée de proposer Kubernetes comme une case à cocher de plus dans la Console. Non pas parce que Kubernetes ne sert à rien, mais parce qu'il est trop souvent devenu une réponse par défaut à des problèmes que le PaaS résout plus simplement : déployer une application, la scaler, la superviser, l'isoler, lui connecter une base de données, gérer ses variables d'environnement, ses logs et son cycle de vie. Et nous le pensons toujours.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais Kubernetes est devenu le langage commun d'une grande partie de l'écosystème cloud-native. Helm, les opérateurs, GitOps, les workloads déjà conteneurisés, les plateformes internes et les chaînes d'outillage existantes font partie de la réalité quotidienne de nombreuses équipes. Et notre raison d'être est de faciliter la vie des équipes techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La question n'était donc plus "faut-il faire du Kubernetes ?", mais "peut-on faire du Kubernetes sans renier ce qui fait Clever Cloud ?"</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="pas-un-kubernetes-empaqueté-à-la-va-vite">Pas un Kubernetes empaqueté à la va-vite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le chemin le plus rapide pour proposer du Kubernetes managé, c'est d'empaqueter une distribution upstream derrière une console d’administration, d'ajouter une API de provisioning, et de facturer le cluster à l'heure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une stratégie valide pour sortir vite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce n'est pas celle que nous voulions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour CKE, nous avions trois exigences qui ne se résolvent pas en ajoutant simplement Kubernetes à côté du reste de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La première, c'est la souveraineté. CKE est opéré en Europe, sur notre infrastructure et celle de nos partenaires, et peut aussi être déployé sur les infrastructures on-premises de nos clients qui en ont besoin. Pas de dépendance aux hyperscalers américains, pas de zones grises sur la juridiction des données, pas de promesse floue sur la localisation réelle de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La deuxième, c'est l'intégration avec le reste de Clever Cloud. Nous ne voulions pas créer un silo Kubernetes à côté du PaaS, des bases de données managées, du stockage objet et du réseau privé. Nous voulions un Kubernetes qui s'inscrive dans la même plateforme, avec la même Console, le même outillage, la même facturation, les mêmes règles de gouvernance et les mêmes services managés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La troisième, c'est la prévisibilité opérationnelle. Kubernetes est un système distribué complexe, et son comportement sous charge dépend beaucoup de ses fondations. Nous ne voulions pas opérer un produit dont la couche basse resterait une boîte noire ou une limite acceptée par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui nous a amenés à travailler à un endroit que peu de fournisseurs touchent : la couche de cohérence interne de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="sous-le-capot--materia-etcd-sur-foundationdb">Sous le capot : Materia etcd sur FoundationDB</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans Kubernetes, etcd est le composant qui stocke l'état du cluster : les manifests, les ressources, les secrets, l'état des nœuds. C'est la source de vérité de tout l'orchestrateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi l'un des composants les plus sensibles du système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>etcd fonctionne très bien dans le cadre pour lequel il a été conçu. Mais ses limites à grande échelle sont connues : taille du store, latences sous forte charge en écriture, comportement en cas de partition réseau, opérations de sauvegarde et restauration, besoin de compaction et de surveillance fine. Quand Kubernetes devient une fondation critique, etcd devient un sujet d'exploitation à part entière.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous ne voulions pas construire CKE sur une brique que nous considérerions ensuite comme une boîte noire fragile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc repris le problème à sa racine : conserver le contrat attendu par Kubernetes, mais remplacer la couche de cohérence interne par une implémentation adossée à FoundationDB. C'est ce que nous appelons Materia etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB nous apporte des transactions ACID distribuées, un modèle de cohérence robuste, et une approche de&nbsp;<a href="https://apple.github.io/foundationdb/testing.html">testing par simulation déterministe</a>&nbsp;qui correspond très bien à notre manière de construire de l'infrastructure critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour l'utilisateur final, ce travail est invisible. C'est précisément le but. Sous le capot, cette fondation nous permet de construire CKE avec l'auto-scaling, l'auto-healing et la prévisibilité opérationnelle que nous attendons d'un service Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous reviendrons bientôt plus en détail sur Materia etcd, parce que le sujet mérite un article dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="du-kubernetes-standard-côté-développeur">Du Kubernetes standard côté développeur</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Tout ce travail sur la couche basse a un objectif simple : côté utilisateur, CKE doit être du Kubernetes standard.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vos manifests fonctionnent sans modification. Vos charts Helm s'installent normalement. Votre Argo CD ou votre Flux se branche comme sur n'importe quel cluster. Vos opérateurs Kubernetes tournent sans surprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne cherche pas à réinventer l'interface développeur de Kubernetes. Ce serait contre-productif. Si vous avez déjà une chaîne de déploiement Kubernetes, l'objectif est qu'elle puisse fonctionner sur CKE avec le moins de friction possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La différence se joue ailleurs : dans la manière dont ce Kubernetes s'intègre au reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="kubernetes-quand-vous-en-avez-besoin-le-paas-quand-il-suffit">Kubernetes quand vous en avez besoin, le PaaS quand il suffit</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le meilleur choix : moins d'exploitation, moins de configuration, moins de YAML, moins de surface de maintenance. Si votre application rentre naturellement dans un runtime Clever Cloud, le PaaS reste souvent le chemin le plus simple et le plus robuste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais il y a des cas où Kubernetes est le bon outil.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous avez peut-être besoin :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>D'installer un opérateur ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De reprendre des manifests existants ; </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De standardiser une chaîne GitOps ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De déployer un workload déjà distribué sous forme de chart Helm ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De faire tourner une plateforme interne construite autour de l'API Kubernetes ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Ou simplement de répondre aux habitudes d'une équipe qui travaille déjà avec Kubernetes au quotidien.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Dans ces cas-là, le problème n'est pas Kubernetes en soi. Le problème, c'est Kubernetes isolé du reste de votre système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est là que CKE change les choses. Vous pouvez garder une API Node.js sur le PaaS, un frontend statique sur Cellar, une base PostgreSQL managée, et faire tourner sur CKE uniquement le composant, l'opérateur ou le workload qui a réellement besoin de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le tout dans le même environnement Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="une-intégration-native-avec-lécosystème-clever-cloud">Une intégration native avec l'écosystème Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE a été conçu pour s'intégrer avec les services que vous utilisez déjà sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cellar</strong>, notre stockage objet compatible S3, peut être utilisé depuis vos workloads Kubernetes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Les bases de données managées</strong>&nbsp;(PostgreSQL, MySQL, MongoDB, Redis, Materia) s'attachent à votre cluster comme aux autres applications Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>IAM as a Service</strong>&nbsp;permet de gérer l'authentification et les permissions sur le cluster et sur les équipes qui y accèdent.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Network Groups</strong>&nbsp;permet de relier votre cluster CKE à vos applications PaaS Clever Cloud existantes, dans le même réseau privé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>L’intégration avec Network Groups est probablement celle qui change le plus le quotidien.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est souvent introduit dans les organisations comme une nouvelle île : nouvelle console, nouveau réseau, nouveaux secrets, nouvelles règles d'accès, nouvelle facturation, nouvelle façon de connecter les services entre eux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec CKE, l'objectif est inverse. Kubernetes devient une brique de plus dans l'architecture Clever Cloud, pas un monde parallèle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous pouvez donc construire une architecture hybride sans bricolage : une partie sur le PaaS, une partie sur CKE, des bases de données managées, du stockage objet, du réseau privé, et une gouvernance commune.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="activer-cke-et-déployer-une-première-application">Activer CKE et déployer une première application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cette démo, on va rester sur le minimum vital : activer la fonctionnalité, créer un cluster, récupérer un kubeconfig, ajouter un node group et déployer une première application avec un service de type&nbsp;<code>LoadBalancer</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté prérequis, il faut avoir&nbsp;<a href="https://www.clever.cloud/developers/doc/cli/">Clever Tools</a>&nbsp;en version 4.3 ou supérieure, et&nbsp;<code>kubectl</code>&nbsp;installé sur votre poste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis l'ouverture de la bêta publique le 27 avril, la fonctionnalité Kubernetes peut être activée par tous les clients Clever Cloud, en une commande :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever features enable k8s</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>On peut alors créer un cluster. Donnez-lui un nom, précisez votre organisation, et l'option&nbsp;<code>--watch</code>&nbsp;permet de suivre l'avancement du déploiement :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s create my-cluster --org &lt;your-org-id&gt; --watch</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La création prend environ une minute. À tout moment, on peut lister les clusters de l'organisation avec&nbsp;<code>clever k8s list</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une fois le cluster prêt, on récupère son kubeconfig et on l'écrit directement comme configuration locale par défaut :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s get-kubeconfig my-cluster --org &lt;your-org-id&gt; &gt; ~/.kube/config</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À partir de là, c'est du Kubernetes standard.&nbsp;<code>kubectl</code>&nbsp;parle au cluster, et tout votre outillage habituel suit. On peut commencer par vérifier que tout est en place :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodes</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À ce stade, la liste est vide : le cluster est créé mais sans capacité de calcul. C'est l'occasion d'introduire la première spécificité de CKE côté API : le&nbsp;<code>NodeGroup</code>. Un node group est un ensemble de nœuds Kubernetes de même profil (même flavor, même région), gérés comme un tout. Vous le décrivez comme n'importe quelle ressource Kubernetes, dans un fichier YAML :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-yaml">apiVersion: api.clever-cloud.com/v1
kind: NodeGroup
metadata:
  name: example-nodegroup
spec:
  flavor: M
  nodeCount: 2</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Et vous l'appliquez avec&nbsp;<code>kubectl</code>&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create -f example-nodegroup.yaml</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Soixante à quatre-vingt-dix secondes plus tard, les nœuds rejoignent le cluster :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodegroups
NAME                DESIREDNODECOUNT   CURRENTNODECOUNT   FLAVOR   STATUS   AGE
example-nodegroup   2                  2                  M        Synced   2m

kubectl get nodes
NAME                      STATUS   ROLES    AGE   VERSION
example-nodegroup-node0   Ready    <none>   2m    v1.35.0
example-nodegroup-node1   Ready    <none>   2m    v1.35.0</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour ajuster la taille du node group, on reste dans l'API Kubernetes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl scale nodegroup example-nodegroup --replicas=4</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Avec un cluster qui dispose maintenant de capacité de calcul, on peut déployer une première application. Pour faire simple, un nginx exposé via un service de type&nbsp;<code>LoadBalancer</code>, ce qui provisionnera automatiquement un load balancer côté Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create deployment nginx --image=nginx:alpine --replicas=2 
kubectl expose deployment/nginx --type=LoadBalancer --port 80 
kubectl get service nginx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Quelques secondes plus tard, le service expose une adresse publique. C'est exactement le comportement réactif évoqué plus haut sur la phase de test privé : provisionner un node group, le scaler ou exposer un service ne demande ni attente ni configuration manuelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À partir d'ici, c'est du Kubernetes comme partout ailleurs. Vous pouvez ajouter du persistent storage via le CSI Clever Cloud, installer le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>&nbsp;pour provisionner depuis vos manifests une base de données managée, ou brancher votre chaîne GitOps habituelle. Le cluster supporte les versions Kubernetes 1.34, 1.35 et 1.36, avec 1.35 par défaut. Tout est détaillé dans la&nbsp;<a href="https://www.clever.cloud/developers/doc/kubernetes/">documentation CKE</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="ce-quon-a-vu-en-test-privé-et-à-devoxx-et-la-suite">Ce qu'on a vu en test privé et à Devoxx, et la suite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE est désormais en bêta publique, mais certains de nos clients y ont accès en test privé depuis plusieurs mois. Cette phase a été très utile pour confronter le produit à des usages réels avant de l'ouvrir plus largement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les retours sont très positifs. Le cluster se comporte comme attendu, et les opérations qui touchent souvent au quotidien d'une équipe Kubernetes, comme l'ajout d'un nœud ou la mise en place d'un load balancer, sont rapides et prévisibles. C'est précisément le comportement que nous visions en investissant autant de temps sur la couche de cohérence interne.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À Devoxx France, nous avons présenté CKE sur le stand Clever Cloud pendant trois jours. Les discussions ont confirmé deux choses que nous observions déjà.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, les équipes ne cherchent pas seulement un cluster Kubernetes. Elles cherchent un Kubernetes qui s'intègre proprement à leur plateforme, à leur réseau, à leurs bases de données, à leurs contraintes de sécurité et à leurs pratiques existantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, et c'est sans doute le retour le plus marquant, les développeurs ne cherchent pas à tout mettre sur Kubernetes. Beaucoup veulent garder leurs applications classiques sur notre PaaS, là où il est le plus efficace, et déployer sur Kubernetes uniquement les composants qui le méritent vraiment, par leur complexité, par leur architecture distribuée ou par les contraintes de l'écosystème dans lequel ils s'inscrivent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est exactement le genre d’architecture hybride que CKE est conçu pour permettre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est aussi pour ça que nous avions construit, en amont du lancement, le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>. Il permet à un workload qui tourne dans un cluster Kubernetes, qu’il soit hébergé chez nous ou ailleurs, de provisionner et de consommer nos services managés directement depuis l’API Kubernetes : PostgreSQL, MySQL, MongoDB, Redis, Cellar ou Materia.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour vos équipes, c’est du&nbsp;<code>kubectl apply</code>&nbsp;qui crée une base de données managée. Pour CKE, c’est l’outil naturel pour faire le pont entre les workloads Kubernetes et le reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La bêta est ouverte à tous les clients Clever Cloud. Vous pouvez l'activer dès maintenant, déployer vos premiers workloads, et nous faire remonter ce qui vous manque, ce qui vous surprend ou ce que vous aimeriez voir arriver ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La discussion est ouverte sur <a href="https://github.com/CleverCloud/Community/discussions/categories/kubernetes" target="_blank" rel="noreferrer noopener">notre communauté GitHub</a>, et la documentation est disponible <a href="https://www.clever.cloud/developers">ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le chemin le plus simple entre un commit et de la production. Mais quand vous avez besoin de Kubernetes, pour un opérateur, un chart Helm, une chaîne GitOps, un workload déjà standardisé ou une plateforme interne, vous pouvez maintenant le faire dans l'environnement Clever Cloud, avec nos choix d'infrastructure, notre réseau, nos services managés et nos exigences de souveraineté.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce Kubernetes-là que nous voulions construire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Modernisation cloud : comment articuler gouvernance et exploitation sans complexifier</title>
		<link>https://www.clever.cloud/fr/blog/evenements/2026/04/21/modernisation-cloud-comment-articuler-gouvernance-et-exploitation-sans-complexifier/</link>
		
		<dc:creator><![CDATA[Marjorie Darrigade]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 15:18:32 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Événements]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Invité]]></category>
		<category><![CDATA[webinaire]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24178</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Webinaire CCxCycloid" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Dans ce contexte, la question n'est plus de savoir s'il faut migrer, mais comment structurer ce qui existe, maîtriser les opérations au quotidien et conserver le contrôle sur ses environnements et ses données.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le <strong>mardi 28 avril à 11 h 30</strong>, Clever Cloud et <a href="https://www.cycloid.io/">Cycloid</a> organisent un webinaire pour aborder ces enjeux.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"lightbox":{"enabled":false},"id":24147,"sizeSlug":"large","linkDestination":"custom"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2026/04/2026-03-25-webinaire-ccxcycloid-1024x427.png" alt="Webinaire Clever Cloud x Cycloid" class="wp-image-24147"/></figure>
<!-- /wp:image -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://app.livestorm.co/clevercloud/clever-cloud-et-cycloid-modernisation-cloud-en-europe">Inscrivez-vous dès maintenant !</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong><strong>Deux regards croisés sur un problème commun</strong></strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous vous proposons un échange croisé pour apporter un éclairage concret sur ces sujets.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cycloid traite la structuration et la gouvernance des environnements au travers d'un portail et d'une plateforme de développement interne unifiés. Clever Cloud aborde l’exploitation managée, le maintien en condition opérationnelle (MCO) et la souveraineté opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Rejoignez Florent Perreux (Chief Sales Officer @ Clever Cloud), Steven Le Roux (CTO @ Clever Cloud), Alexandre Blin (Business Director SEMEA @ Cycloid) et Olivier de Turckheim (Solution Architect @ Cycloid) pour comprendre comment articuler gouvernance et exploitation sans ajouter de complexité.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Au programme</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>🔹 Pourquoi la modernisation cloud ne se limite plus à une migration ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Les enjeux de structuration et de gouvernance dans des environnements multi-cloud ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Les défis opérationnels liés à l’exploitation et au MCO ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Comment articuler gouvernance et exploitation sans multiplier la complexité ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Une session Q&amp;A pour poser vos questions en direct.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Pourquoi participer ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>✅ Comprendre les causes réelles de la complexité dans les projets cloud ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Identifier les leviers pour structurer vos usages et limiter la dépendance fournisseur ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Mieux appréhender les enjeux d’exploitation et de souveraineté ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Bénéficier de retours d’expérience concrets ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Échanger directement avec des experts.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Inscrivez-vous dès maintenant</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>🗓️ Mardi 28 avril 2026</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>⏰ 11h30 - 12h00</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>💻 Webinaire en ligne sur Livestorm</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"21px"} -->
<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>Vous êtes confronté à ces enjeux, rejoignez-nous le 28 avril prochain !</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://app.livestorm.co/clevercloud/clever-cloud-et-cycloid-modernisation-cloud-en-europe">Inscrivez-vous dès maintenant !</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Webinaire CCxCycloid" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-20-webinaire-ccxcycloid-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Dans ce contexte, la question n'est plus de savoir s'il faut migrer, mais comment structurer ce qui existe, maîtriser les opérations au quotidien et conserver le contrôle sur ses environnements et ses données.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le <strong>mardi 28 avril à 11 h 30</strong>, Clever Cloud et <a href="https://www.cycloid.io/">Cycloid</a> organisent un webinaire pour aborder ces enjeux.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"lightbox":{"enabled":false},"id":24147,"sizeSlug":"large","linkDestination":"custom"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2026/04/2026-03-25-webinaire-ccxcycloid-1024x427.png" alt="Webinaire Clever Cloud x Cycloid" class="wp-image-24147"/></figure>
<!-- /wp:image -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://app.livestorm.co/clevercloud/clever-cloud-et-cycloid-modernisation-cloud-en-europe">Inscrivez-vous dès maintenant !</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong><strong>Deux regards croisés sur un problème commun</strong></strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous vous proposons un échange croisé pour apporter un éclairage concret sur ces sujets.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cycloid traite la structuration et la gouvernance des environnements au travers d'un portail et d'une plateforme de développement interne unifiés. Clever Cloud aborde l’exploitation managée, le maintien en condition opérationnelle (MCO) et la souveraineté opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Rejoignez Florent Perreux (Chief Sales Officer @ Clever Cloud), Steven Le Roux (CTO @ Clever Cloud), Alexandre Blin (Business Director SEMEA @ Cycloid) et Olivier de Turckheim (Solution Architect @ Cycloid) pour comprendre comment articuler gouvernance et exploitation sans ajouter de complexité.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Au programme</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>🔹 Pourquoi la modernisation cloud ne se limite plus à une migration ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Les enjeux de structuration et de gouvernance dans des environnements multi-cloud ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Les défis opérationnels liés à l’exploitation et au MCO ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Comment articuler gouvernance et exploitation sans multiplier la complexité ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>🔹 Une session Q&amp;A pour poser vos questions en direct.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Pourquoi participer ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>✅ Comprendre les causes réelles de la complexité dans les projets cloud ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Identifier les leviers pour structurer vos usages et limiter la dépendance fournisseur ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Mieux appréhender les enjeux d’exploitation et de souveraineté ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Bénéficier de retours d’expérience concrets ;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>✅ Échanger directement avec des experts.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Inscrivez-vous dès maintenant</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>🗓️ Mardi 28 avril 2026</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>⏰ 11h30 - 12h00</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>💻 Webinaire en ligne sur Livestorm</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"21px"} -->
<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>Vous êtes confronté à ces enjeux, rejoignez-nous le 28 avril prochain !</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://app.livestorm.co/clevercloud/clever-cloud-et-cycloid-modernisation-cloud-en-europe">Inscrivez-vous dès maintenant !</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud lance Clever Kubernetes Engine (CKE) en bêta publique le 27 avril 2026</title>
		<link>https://www.clever.cloud/fr/blog/entreprise/2026/04/21/clever-kubernetes-engine-cke-en-beta-publique/</link>
		
		<dc:creator><![CDATA[Carine Guillemet]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 14:26:48 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[Presse]]></category>
		<category><![CDATA[cke]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24171</guid>

					<description><![CDATA[<p><img width="1600" height="900" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud CKE Devoxx" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx.png 1600w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-300x169.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1024x576.png 1024w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-768x432.png 768w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1536x864.png 1536w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1368x770.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p><em><strong>Nantes, France — Clever Cloud</strong>, fournisseur européen de solutions cloud, annonce l'ouverture en bêta publique de <strong>Clever Kubernetes Engine (CKE)</strong> le <strong>27 avril 2026 dans l’après-midi</strong>. Le produit sera présenté en avant-première au <strong><a href="https://www.devoxx.fr" type="link" id="https://www.devoxx.fr">Devoxx</a> à partir du 22 avril</strong>, où les participants pourront le tester directement sur le stand Clever Cloud.</em></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Conçu pour la production et la scalabilité</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes est devenu le standard de l'orchestration de conteneurs. Clever Cloud a travaillé pendant deux ans pour proposer une version managée et souveraine, conçue pour s'intégrer naturellement dans l'écosystème Clever Cloud et s'opérer avec la même simplicité que les autres services de la plateforme. CKE est pensé pour accompagner des charges de production réelles, avec une scalabilité élevée et un comportement prévisible à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour y parvenir, Clever Cloud a notamment développé Materia etcd, une réimplémentation de la couche de cohérence interne de Kubernetes construite sur FoundationDB. C'est ce travail de fond, invisible pour l'utilisateur final, qui garantit à CKE sa robustesse et sa stabilité en production, notamment grâce à de l’auto-scalabilité et de “l'auto-healingde façon native.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE s'intègre nativement aux services Clever Cloud existants — stockage objet Cellar (compatible S3), bases de données managées, IAM as a Service, Network Groups — et reste accessible via les outils standard du marché : kubectl, Helm ou GitOps.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Souverain par conception</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Hébergé et opéré en Europe par Clever Cloud sur son cloud public, CKE offre aux organisations une alternative concrète aux offres Kubernetes des grandes plateformes américaines, sans compromis sur les performances ni sur la maîtrise juridique des données. CKE peut aussi être déployé sur les infrastructures on-premises du client.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Modalités d'accès</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La bêta publique est ouverte à tous les clients de Clever Cloud à partir du <strong>27 avril 2026</strong>, via l'activation de fonctionnalités à réaliser par l’utilisateur. À noter : certains clients bénéficient d'un accès en test privé depuis plus de six mois déjà, ce qui a permis d'affiner le produit avant cette ouverture générale.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>"Clever Cloud a longtemps développé des alternatives à Kubernetes. Nos clients nous ont exprimé un besoin clair pour cette technologie, et nous avons décidé de la construire à leurs côtés, avec le niveau d'exigence technique et de souveraineté qui définit notre plateforme."</em> Quentin Adam, CEO de Clever Cloud</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/clever-kubernetes-engine/" type="link" id="https://www.clever.cloud/fr/clever-kubernetes-engine/">En savoir plus </a></p>
<!-- /wp:paragraph -->

<!-- wp:acf/video {"name":"acf/video","data":{"overtitle":"Vidéo","_overtitle":"field_638dfc12af44d","title":"\u003cb\u003eDécouvrir CKE\u003c/b\u003e en 1 minute","_title":"field_638dfc39af44e","description":"Kubernetes standard compatible avec tout l'écosystème, opéré avec Clever Cloud.","_description":"field_638dfc45af44f","description_secondary":"","_description_secondary":"field_63c81679fd784","poster":24094,"_poster":"field_638dfc50af450","type":"iframe","_type":"field_63edfc74597df","iframe":"\u003ciframe width=\u0022560\u0022 height=\u0022315\u0022 src=\u0022https://www.youtube.com/embed/hw630p3kGfE?si=hQ9vkNQnMDDpWSii\u0022 title=\u0022YouTube video player\u0022 frameborder=\u00220\u0022 allow=\u0022accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\u0022 referrerpolicy=\u0022strict-origin-when-cross-origin\u0022 allowfullscreen\u003e\u003c/iframe\u003e","_iframe":"field_638dfcb8af451"},"mode":"auto"} /-->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="900" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud CKE Devoxx" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx.png 1600w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-300x169.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1024x576.png 1024w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-768x432.png 768w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1536x864.png 1536w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-21-clever-cloud-reseaux-sociaux-cke-devoxx-1368x770.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p><em><strong>Nantes, France — Clever Cloud</strong>, fournisseur européen de solutions cloud, annonce l'ouverture en bêta publique de <strong>Clever Kubernetes Engine (CKE)</strong> le <strong>27 avril 2026 dans l’après-midi</strong>. Le produit sera présenté en avant-première au <strong><a href="https://www.devoxx.fr" type="link" id="https://www.devoxx.fr">Devoxx</a> à partir du 22 avril</strong>, où les participants pourront le tester directement sur le stand Clever Cloud.</em></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Conçu pour la production et la scalabilité</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes est devenu le standard de l'orchestration de conteneurs. Clever Cloud a travaillé pendant deux ans pour proposer une version managée et souveraine, conçue pour s'intégrer naturellement dans l'écosystème Clever Cloud et s'opérer avec la même simplicité que les autres services de la plateforme. CKE est pensé pour accompagner des charges de production réelles, avec une scalabilité élevée et un comportement prévisible à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour y parvenir, Clever Cloud a notamment développé Materia etcd, une réimplémentation de la couche de cohérence interne de Kubernetes construite sur FoundationDB. C'est ce travail de fond, invisible pour l'utilisateur final, qui garantit à CKE sa robustesse et sa stabilité en production, notamment grâce à de l’auto-scalabilité et de “l'auto-healingde façon native.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE s'intègre nativement aux services Clever Cloud existants — stockage objet Cellar (compatible S3), bases de données managées, IAM as a Service, Network Groups — et reste accessible via les outils standard du marché : kubectl, Helm ou GitOps.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Souverain par conception</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Hébergé et opéré en Europe par Clever Cloud sur son cloud public, CKE offre aux organisations une alternative concrète aux offres Kubernetes des grandes plateformes américaines, sans compromis sur les performances ni sur la maîtrise juridique des données. CKE peut aussi être déployé sur les infrastructures on-premises du client.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Modalités d'accès</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La bêta publique est ouverte à tous les clients de Clever Cloud à partir du <strong>27 avril 2026</strong>, via l'activation de fonctionnalités à réaliser par l’utilisateur. À noter : certains clients bénéficient d'un accès en test privé depuis plus de six mois déjà, ce qui a permis d'affiner le produit avant cette ouverture générale.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>"Clever Cloud a longtemps développé des alternatives à Kubernetes. Nos clients nous ont exprimé un besoin clair pour cette technologie, et nous avons décidé de la construire à leurs côtés, avec le niveau d'exigence technique et de souveraineté qui définit notre plateforme."</em> Quentin Adam, CEO de Clever Cloud</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/clever-kubernetes-engine/" type="link" id="https://www.clever.cloud/fr/clever-kubernetes-engine/">En savoir plus </a></p>
<!-- /wp:paragraph -->

<!-- wp:acf/video {"name":"acf/video","data":{"overtitle":"Vidéo","_overtitle":"field_638dfc12af44d","title":"\u003cb\u003eDécouvrir CKE\u003c/b\u003e en 1 minute","_title":"field_638dfc39af44e","description":"Kubernetes standard compatible avec tout l'écosystème, opéré avec Clever Cloud.","_description":"field_638dfc45af44f","description_secondary":"","_description_secondary":"field_63c81679fd784","poster":24094,"_poster":"field_638dfc50af450","type":"iframe","_type":"field_63edfc74597df","iframe":"\u003ciframe width=\u0022560\u0022 height=\u0022315\u0022 src=\u0022https://www.youtube.com/embed/hw630p3kGfE?si=hQ9vkNQnMDDpWSii\u0022 title=\u0022YouTube video player\u0022 frameborder=\u00220\u0022 allow=\u0022accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\u0022 referrerpolicy=\u0022strict-origin-when-cross-origin\u0022 allowfullscreen\u003e\u003c/iframe\u003e","_iframe":"field_638dfcb8af451"},"mode":"auto"} /-->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OpenTofu : le fork open source de Terraform — et pourquoi Clever Cloud le supporte nativement</title>
		<link>https://www.clever.cloud/fr/blog/engineering-fr/2026/03/25/opentofu-le-fork-open-source-de-terraform/</link>
		
		<dc:creator><![CDATA[Carine Guillemet]]></dc:creator>
		<pubDate>Wed, 25 Mar 2026 09:44:05 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[opentofu]]></category>
		<category><![CDATA[terraform]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=23935</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 18 clever cloud banniere blog paas secteur public eng 3" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3.png 800w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>La BSL n'est pas une licence open source au sens de l'Open Source Initiative : elle restreint les usages commerciaux jugés concurrents des offres HashiCorp. Du jour au lendemain, des milliers d'organisations qui avaient structuré leur infrastructure autour de Terraform se sont retrouvées dans une zone d'incertitude juridique inconfortable.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La réponse n'a pas tardé. Moins d'un mois après l'annonce, un manifeste réclamant le retour à une licence open source avait réuni 33 000 étoiles sur GitHub et le soutien de près de 140 entreprises. HashiCorp n'a pas bougé. Le fork a été publié en septembre 2023, intégré à la Linux Foundation, et renommé OpenTofu. Depuis janvier 2024, il est en production stable. Depuis avril 2025, il fait partie du Cloud Native Computing Foundation (CNCF).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre provider <a href="https://www.clever.cloud/product/terraform/" type="link" id="https://www.clever.cloud/product/terraform/">Terraform</a> est entièrement compatible avec OpenTofu. Aucune modification de vos configurations n'est nécessaire pour l'utiliser.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Qu'est-ce qu'OpenTofu ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>OpenTofu est un outil d'infrastructure as code (IaC) open source, fork du dernier Terraform sous licence MPL 2.0 (version 1.5.x), distribué sous cette même licence Mozilla Public License 2.0. Il permet de décrire, provisionner et gérer des infrastructures cloud via des fichiers de configuration déclaratifs écrits en Hashicorp Configuration Language.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il est développé sous la gouvernance de la Linux Foundation, avec un Technical Steering Committee composé de représentants de plusieurs organisations — Gruntwork, Spacelift, Harness, Env0, Scalr — afin qu'aucune entreprise ne puisse en contrôler seule la direction. C'est précisément ce modèle de gouvernance qui a convaincu beaucoup d'équipes de franchir le pas : la garantie que l'outil restera vraiment open source, quelle que soit l'évolution commerciale de ses contributeurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, OpenTofu fonctionne avec les mêmes fichiers .tf, les mêmes providers, les mêmes modules et le même workflow CLI que Terraform — init, plan, apply, destroy. Pour la grande majorité des équipes, migrer se résume à remplacer le binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Quelle différence concrète avec Terraform ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La différence principale est la licence, et tout ce qu'elle implique sur le long terme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Terraform est aujourd'hui distribué sous BSL, qui restreint les usages commerciaux pouvant être considérés comme concurrents de HashiCorp — une notion délibérément floue, et que HashiCorp (désormais filiale d'IBM) peut interpréter différemment à l'avenir. OpenTofu est distribué sous MPL 2.0, une vraie licence open source sans restriction commerciale.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au-delà de la licence, les deux projets ont commencé à diverger techniquement depuis le fork. Les différences les plus notables à ce jour :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<ul>
  <li><strong>Chiffrement du state :</strong> OpenTofu supporte nativement le chiffrement côté client des fichiers d'état, une fonctionnalité longtemps réclamée par la communauté et que Terraform n'a toujours pas implémentée.</li>
  <li><strong>Gouvernance :</strong> OpenTofu est piloté par un comité technique multi-organisations au sein de la Linux Foundation. Terraform est sous contrôle d'IBM via HashiCorp, avec une feuille de route dictée par des priorités commerciales.</li>
  <li><strong>Compatibilité :</strong> OpenTofu maintient la compatibilité syntaxique et fonctionnelle avec Terraform. Providers, modules et configurations existants fonctionnent sans modification pour la quasi-totalité des cas d'usage.</li>
  <li><strong>Extension <code>.tofu</code> :</strong> OpenTofu supporte cette extension en complément de <code>.tf</code>, ce qui permet aux auteurs de modules de fournir des variantes spécifiques à OpenTofu tout en restant compatibles avec Terraform.</li>
  <li><strong>Actions Terraform :</strong> HashiCorp a récemment introduit les "actions" dans Terraform, une fonctionnalité permettant de déclencher des comportements personnalisés lors du cycle de vie des ressources. OpenTofu ne la supporte pas encore — c'est le revers inhérent à tout fork : les nouvelles fonctionnalités propriétaires de Terraform ne sont pas automatiquement disponibles, et leur implémentation dans OpenTofu dépend des priorités du comité technique.</li>
</ul>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Pourquoi des équipes migrent vers OpenTofu</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Trois raisons reviennent systématiquement.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Le risque juridique.</strong> La BSL interdit l'usage de Terraform dans des produits pouvant entrer en concurrence avec les offres HashiCorp. Pour les équipes qui construisent des plateformes internes, des produits cloud ou des services managés, cette incertitude est un risque opérationnel réel — d'autant que la définition de "compétitif" appartient à HashiCorp, et peut évoluer. À cela s'ajoute une réalité moins visible mais tout aussi structurante : dans le registry Terraform, les providers open source ne bénéficient d'aucune mise en avant particulière. Obtenir un badge "officiel" nécessite de négocier directement avec HashiCorp — et de payer. Dans le registry OpenTofu, tous les providers sont traités à égalité, quelle que soit la taille ou les moyens de leurs mainteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>L'autonomie stratégique sur l'outillage.</strong> Votre infrastructure as code est le socle de tout le reste. En dépendre d'un outil contrôlé par une entreprise américaine soumise au Cloud Act, c'est introduire une dépendance supplémentaire que beaucoup d'organisations préfèrent éviter. OpenTofu, sous gouvernance Linux Foundation / CNCF, offre une continuité indépendante de tout acteur commercial.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Les fonctionnalités que Terraform ne livre pas.</strong> Le chiffrement natif des fichiers d'état est l'exemple le plus cité : réclamé pendant des années, implémenté en quelques mois par OpenTofu. C'est aussi un signal sur la vitesse à laquelle une gouvernance communautaire peut répondre à des besoins réels, par rapport à une roadmap pilotée par des intérêts commerciaux.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Migrer de Terraform vers OpenTofu</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour la grande majorité des équipes, la migration est une opération de quelques minutes. Il suffit de s'assurer que le state est propre, d'installer OpenTofu, et de remplacer terraform par tofu dans ses commandes.</p>
<!-- /wp:paragraph -->

<!-- wp:group {"layout":{"type":"constrained"},"hideFromFeed":true} -->
<div class="wp-block-group"><!-- wp:paragraph -->
<p><code># Vérifier que votre state est propre avant de migrer</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>terraform plan</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code># → "No changes. Your infrastructure matches the configuration."</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Installer OpenTofu sur macOS</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>brew install opentofu</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Installer OpenTofu sur Linux</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh | sh</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Reprendre son workflow normalement</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu init</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu plan</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu apply</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>OpenTofu sur Clever Cloud : rien à changer</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre provider officiel (CleverCloud/clevercloud, actuellement en version 1.10) fonctionne de façon identique avec Terraform et OpenTofu. La source du provider, la syntaxe HCL et l'ensemble des ressources disponibles sont exactement les mêmes. Un exemple minimal pour déployer une application Node.js avec sa base PostgreSQL :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>terraform {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;required_providers {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;clevercloud = {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source&nbsp; = "CleverCloud/clevercloud"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version = "~&gt; 1.10"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>provider "clevercloud" {organisation}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>resource "clevercloud_node" "app" {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;name &nbsp; &nbsp; &nbsp; = "mon-app-node"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;region &nbsp; &nbsp; = "par"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;min_flavor = "XS"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;max_flavor = "M"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>resource "clevercloud_postgresql" "db" {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;name &nbsp; = "ma-base-postgres"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;region = "par"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;plan &nbsp; = "dev"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu init</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu plan</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>tofu apply</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La combinaison OpenTofu + Clever Cloud constitue une stack IaC entièrement souveraine : outillage open source sous gouvernance Linux Foundation / CNCF, infrastructure hébergée dans nos propres datacenters en France, hors de portée du Cloud Act américain. C'est le choix que font de plus en plus d'équipes qui veulent garder la main sur l'ensemble de leur chaîne d'outillage, pas seulement sur leurs données.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Le provider Clever Cloud est disponible sur le </em><a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest"><em>Terraform Registry</em></a><em> et entièrement open source sur </em><a href="https://github.com/CleverCloud/terraform-provider-clevercloud"><em>GitHub</em></a><em>. </em></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">FAQ </h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>OpenTofu est-il compatible avec mes configurations Terraform existantes ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour la quasi-totalité des cas d'usage, oui. OpenTofu maintient la compatibilité syntaxique et fonctionnelle avec Terraform. Fichiers .tf, providers et modules existants fonctionnent sans modification. Il est recommandé de tester dans un environnement non-production avant de basculer des workloads critiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>OpenTofu est-il prêt pour la production ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Oui. La première version stable d'OpenTofu a été publiée en janvier 2024. Le projet a depuis dépassé 10 millions de téléchargements et est utilisé en production par des organisations de toutes tailles, y compris des entreprises du Fortune 500. Son intégration au CNCF en avril 2025 a renforcé sa crédibilité pour les environnements enterprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Quelle est l'alternative open source à Terraform ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>OpenTofu est la principale alternative open source à Terraform. Distribué sous MPL 2.0, maintenu par la Linux Foundation et membre du CNCF, il est la continuité directe de Terraform dans son état open source d'origine.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Le provider Terraform Clever Cloud est-il compatible avec OpenTofu ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Oui, sans aucune modification de configuration. Notre provider officiel (CleverCloud/clevercloud) fonctionne identiquement avec Terraform et OpenTofu.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Comment fonctionne OpenTofu ?</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>De façon identique à Terraform : vous décrivez l'état cible de votre infrastructure en HCL, OpenTofu calcule les changements nécessaires (<code>tofu plan</code>) et les applique (<code>tofu apply</code>). Il gère les dépendances entre ressources, le state et le cycle de vie complet de chaque ressource. C'est aussi là que le rachat de HashiCorp par IBM introduit une incertitude supplémentaire : certains projets gravitant autour de Terraform, comme CDK for Terraform, pourraient être déprioritisés ou abandonnés en fonction des arbitrages commerciaux d'IBM. Avec OpenTofu, la feuille de route est publique, discutée en RFC ouverte, et ne dépend d'aucune décision prise en coulisses par un acteur unique.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 18 clever cloud banniere blog paas secteur public eng 3" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3.png 800w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-18-clever-cloud-banniere-blog-paas-secteur-public-eng-3-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>La BSL n'est pas une licence open source au sens de l'Open Source Initiative : elle restreint les usages commerciaux jugés concurrents des offres HashiCorp. Du jour au lendemain, des milliers d'organisations qui avaient structuré leur infrastructure autour de Terraform se sont retrouvées dans une zone d'incertitude juridique inconfortable.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La réponse n'a pas tardé. Moins d'un mois après l'annonce, un manifeste réclamant le retour à une licence open source avait réuni 33 000 étoiles sur GitHub et le soutien de près de 140 entreprises. HashiCorp n'a pas bougé. Le fork a été publié en septembre 2023, intégré à la Linux Foundation, et renommé OpenTofu. Depuis janvier 2024, il est en production stable. Depuis avril 2025, il fait partie du Cloud Native Computing Foundation (CNCF).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre provider <a href="https://www.clever.cloud/product/terraform/" type="link" id="https://www.clever.cloud/product/terraform/">Terraform</a> est entièrement compatible avec OpenTofu. Aucune modification de vos configurations n'est nécessaire pour l'utiliser.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Qu'est-ce qu'OpenTofu ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>OpenTofu est un outil d'infrastructure as code (IaC) open source, fork du dernier Terraform sous licence MPL 2.0 (version 1.5.x), distribué sous cette même licence Mozilla Public License 2.0. Il permet de décrire, provisionner et gérer des infrastructures cloud via des fichiers de configuration déclaratifs écrits en Hashicorp Configuration Language.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il est développé sous la gouvernance de la Linux Foundation, avec un Technical Steering Committee composé de représentants de plusieurs organisations — Gruntwork, Spacelift, Harness, Env0, Scalr — afin qu'aucune entreprise ne puisse en contrôler seule la direction. C'est précisément ce modèle de gouvernance qui a convaincu beaucoup d'équipes de franchir le pas : la garantie que l'outil restera vraiment open source, quelle que soit l'évolution commerciale de ses contributeurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, OpenTofu fonctionne avec les mêmes fichiers .tf, les mêmes providers, les mêmes modules et le même workflow CLI que Terraform — init, plan, apply, destroy. Pour la grande majorité des équipes, migrer se résume à remplacer le binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Quelle différence concrète avec Terraform ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La différence principale est la licence, et tout ce qu'elle implique sur le long terme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Terraform est aujourd'hui distribué sous BSL, qui restreint les usages commerciaux pouvant être considérés comme concurrents de HashiCorp — une notion délibérément floue, et que HashiCorp (désormais filiale d'IBM) peut interpréter différemment à l'avenir. OpenTofu est distribué sous MPL 2.0, une vraie licence open source sans restriction commerciale.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Au-delà de la licence, les deux projets ont commencé à diverger techniquement depuis le fork. Les différences les plus notables à ce jour :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<ul>
  <li><strong>Chiffrement du state :</strong> OpenTofu supporte nativement le chiffrement côté client des fichiers d'état, une fonctionnalité longtemps réclamée par la communauté et que Terraform n'a toujours pas implémentée.</li>
  <li><strong>Gouvernance :</strong> OpenTofu est piloté par un comité technique multi-organisations au sein de la Linux Foundation. Terraform est sous contrôle d'IBM via HashiCorp, avec une feuille de route dictée par des priorités commerciales.</li>
  <li><strong>Compatibilité :</strong> OpenTofu maintient la compatibilité syntaxique et fonctionnelle avec Terraform. Providers, modules et configurations existants fonctionnent sans modification pour la quasi-totalité des cas d'usage.</li>
  <li><strong>Extension <code>.tofu</code> :</strong> OpenTofu supporte cette extension en complément de <code>.tf</code>, ce qui permet aux auteurs de modules de fournir des variantes spécifiques à OpenTofu tout en restant compatibles avec Terraform.</li>
  <li><strong>Actions Terraform :</strong> HashiCorp a récemment introduit les "actions" dans Terraform, une fonctionnalité permettant de déclencher des comportements personnalisés lors du cycle de vie des ressources. OpenTofu ne la supporte pas encore — c'est le revers inhérent à tout fork : les nouvelles fonctionnalités propriétaires de Terraform ne sont pas automatiquement disponibles, et leur implémentation dans OpenTofu dépend des priorités du comité technique.</li>
</ul>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Pourquoi des équipes migrent vers OpenTofu</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Trois raisons reviennent systématiquement.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Le risque juridique.</strong> La BSL interdit l'usage de Terraform dans des produits pouvant entrer en concurrence avec les offres HashiCorp. Pour les équipes qui construisent des plateformes internes, des produits cloud ou des services managés, cette incertitude est un risque opérationnel réel — d'autant que la définition de "compétitif" appartient à HashiCorp, et peut évoluer. À cela s'ajoute une réalité moins visible mais tout aussi structurante : dans le registry Terraform, les providers open source ne bénéficient d'aucune mise en avant particulière. Obtenir un badge "officiel" nécessite de négocier directement avec HashiCorp — et de payer. Dans le registry OpenTofu, tous les providers sont traités à égalité, quelle que soit la taille ou les moyens de leurs mainteneurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>L'autonomie stratégique sur l'outillage.</strong> Votre infrastructure as code est le socle de tout le reste. En dépendre d'un outil contrôlé par une entreprise américaine soumise au Cloud Act, c'est introduire une dépendance supplémentaire que beaucoup d'organisations préfèrent éviter. OpenTofu, sous gouvernance Linux Foundation / CNCF, offre une continuité indépendante de tout acteur commercial.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Les fonctionnalités que Terraform ne livre pas.</strong> Le chiffrement natif des fichiers d'état est l'exemple le plus cité : réclamé pendant des années, implémenté en quelques mois par OpenTofu. C'est aussi un signal sur la vitesse à laquelle une gouvernance communautaire peut répondre à des besoins réels, par rapport à une roadmap pilotée par des intérêts commerciaux.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Migrer de Terraform vers OpenTofu</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour la grande majorité des équipes, la migration est une opération de quelques minutes. Il suffit de s'assurer que le state est propre, d'installer OpenTofu, et de remplacer terraform par tofu dans ses commandes.</p>
<!-- /wp:paragraph -->

<!-- wp:group {"layout":{"type":"constrained"},"hideFromFeed":true} -->
<div class="wp-block-group"><!-- wp:paragraph -->
<p><code># Vérifier que votre state est propre avant de migrer</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>terraform plan</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code># → "No changes. Your infrastructure matches the configuration."</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Installer OpenTofu sur macOS</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>brew install opentofu</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Installer OpenTofu sur Linux</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh | sh</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p># Reprendre son workflow normalement</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu init</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu plan</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu apply</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>OpenTofu sur Clever Cloud : rien à changer</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre provider officiel (CleverCloud/clevercloud, actuellement en version 1.10) fonctionne de façon identique avec Terraform et OpenTofu. La source du provider, la syntaxe HCL et l'ensemble des ressources disponibles sont exactement les mêmes. Un exemple minimal pour déployer une application Node.js avec sa base PostgreSQL :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>terraform {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;required_providers {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;clevercloud = {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source&nbsp; = "CleverCloud/clevercloud"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version = "~&gt; 1.10"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>provider "clevercloud" {organisation}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>resource "clevercloud_node" "app" {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;name &nbsp; &nbsp; &nbsp; = "mon-app-node"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;region &nbsp; &nbsp; = "par"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;min_flavor = "XS"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;max_flavor = "M"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>resource "clevercloud_postgresql" "db" {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;name &nbsp; = "ma-base-postgres"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;region = "par"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;plan &nbsp; = "dev"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu init</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tofu plan</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>tofu apply</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La combinaison OpenTofu + Clever Cloud constitue une stack IaC entièrement souveraine : outillage open source sous gouvernance Linux Foundation / CNCF, infrastructure hébergée dans nos propres datacenters en France, hors de portée du Cloud Act américain. C'est le choix que font de plus en plus d'équipes qui veulent garder la main sur l'ensemble de leur chaîne d'outillage, pas seulement sur leurs données.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Le provider Clever Cloud est disponible sur le </em><a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest"><em>Terraform Registry</em></a><em> et entièrement open source sur </em><a href="https://github.com/CleverCloud/terraform-provider-clevercloud"><em>GitHub</em></a><em>. </em></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">FAQ </h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>OpenTofu est-il compatible avec mes configurations Terraform existantes ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour la quasi-totalité des cas d'usage, oui. OpenTofu maintient la compatibilité syntaxique et fonctionnelle avec Terraform. Fichiers .tf, providers et modules existants fonctionnent sans modification. Il est recommandé de tester dans un environnement non-production avant de basculer des workloads critiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>OpenTofu est-il prêt pour la production ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Oui. La première version stable d'OpenTofu a été publiée en janvier 2024. Le projet a depuis dépassé 10 millions de téléchargements et est utilisé en production par des organisations de toutes tailles, y compris des entreprises du Fortune 500. Son intégration au CNCF en avril 2025 a renforcé sa crédibilité pour les environnements enterprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Quelle est l'alternative open source à Terraform ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>OpenTofu est la principale alternative open source à Terraform. Distribué sous MPL 2.0, maintenu par la Linux Foundation et membre du CNCF, il est la continuité directe de Terraform dans son état open source d'origine.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Le provider Terraform Clever Cloud est-il compatible avec OpenTofu ?</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Oui, sans aucune modification de configuration. Notre provider officiel (CleverCloud/clevercloud) fonctionne identiquement avec Terraform et OpenTofu.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Comment fonctionne OpenTofu ?</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>De façon identique à Terraform : vous décrivez l'état cible de votre infrastructure en HCL, OpenTofu calcule les changements nécessaires (<code>tofu plan</code>) et les applique (<code>tofu apply</code>). Il gère les dépendances entre ressources, le state et le cycle de vie complet de chaque ressource. C'est aussi là que le rachat de HashiCorp par IBM introduit une incertitude supplémentaire : certains projets gravitant autour de Terraform, comme CDK for Terraform, pourraient être déprioritisés ou abandonnés en fonction des arbitrages commerciaux d'IBM. Avec OpenTofu, la feuille de route est publique, discutée en RFC ouverte, et ne dépend d'aucune décision prise en coulisses par un acteur unique.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Quand choisir un PaaS pour un projet du secteur public ?</title>
		<link>https://www.clever.cloud/fr/blog/entreprise/2026/03/18/quand-choisir-un-paas-pour-un-projet-du-secteur-public/</link>
		
		<dc:creator><![CDATA[Marjorie Darrigade]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 10:52:40 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[PaaS secteur public]]></category>
		<category><![CDATA[service public]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=23854</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 17 clever cloud banniere blog paas secteur public fr" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Cette transformation s’inscrit toutefois dans un cadre de réduction des coûts, de rationalisation des infrastructures existantes et de mutualisation des ressources informatiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ce contexte contraint, la question n’est pas uniquement de savoir quel fournisseur ou quelle technologie adopter, mais quel modèle d’exécution applicative est le plus adapté au projet concerné. Le PaaS (platform as a service) fait partie des options possibles, à condition d’en comprendre précisément les apports, les limites et les cadres dans lesquels il peut être mobilisé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les enjeux et problématiques spécifiques des services publics</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les organisations publiques font face à des contraintes structurelles qui influencent directement leurs choix techniques. La <strong>pression budgétaire </strong>est permanente, avec des objectifs explicites de maîtrise, voire de réduction, des coûts d’exploitation IT. Les équipes techniques sont souvent limitées en effectif, avec des <strong>difficultés de recrutement sur certains profils spécialisés</strong>, tels que les administrateurs systèmes, les développeurs, les experts cybersécurité ou les ingénieurs cloud et DevOps.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À cela s’ajoute un <strong>patrimoine applicatif hétérogène</strong>, parfois <strong>ancien</strong>, reposant sur des technologies ou des <strong>environnements qui ne sont plus maintenus </strong>ou difficilement évolutifs. Les exigences en matière de sécurité, de disponibilité et de conformité réglementaire sont élevées, tandis que les délais de mise en œuvre des projets numériques doivent rester <strong>compatibles</strong> avec les besoins opérationnels des administrations, collectivités ou établissements publics.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">En quoi le PaaS peut répondre à ces enjeux dans le secteur public</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le recours à une plateforme cloud peut répondre à une partie de ces problématiques, sans pour autant constituer une solution universelle. L’un de ses apports majeurs réside dans la <strong>réduction de la charge opérationnelle</strong>. Concrètement, cela signifie que l’exploitation des systèmes d’exploitation, la gestion des runtimes applicatifs, les mécanismes de déploiement, de redémarrage ou de supervision sont pris en charge au niveau de la plateforme. Les équipes techniques n’ont plus à administrer l’infrastructure sous-jacente au quotidien et peuvent se concentrer sur le développement, l’évolution et la qualité des applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sur le plan de la sécurité et des mises à jour, une solution d’hébergement applicatif permet également de maintenir des environnements techniques à jour de manière plus systématique. Dans le secteur public, où la <strong>gestion du legacy</strong> est un enjeu central, cela contribue à limiter les risques liés à l’obsolescence des systèmes, aux dépendances non maintenues ou aux correctifs de sécurité appliqués tardivement. Cette solution ne supprime pas le legacy existant, mais il peut en encadrer l’exploitation et faciliter une modernisation progressive, sans refonte immédiate de l’ensemble du système d’information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est dans ce cadre qu’un PaaS pour les services publics peut constituer un levier pertinent, à condition d’être choisi pour des usages clairement identifiés.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tous les projets publics ne relèvent pas du même cadre de déploiement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les projets numériques portés par les services publics couvrent des réalités très différentes. Une application métier interne, un service numérique à destination des citoyens, une plateforme de données ou un projet de recherche n’impliquent pas les mêmes contraintes ni les mêmes niveaux d’exigence.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Certains contextes, notamment ceux liés à la <strong>défense ou au traitement d’informations sensibles</strong>, requièrent des garanties renforcées en matière de sécurité, de contrôle et de souveraineté. Dans ces cas, des démarches de qualification spécifiques, comme <strong>SecNumCloud</strong>, peuvent être nécessaires et limiter les options techniques envisageables. Le PaaS n’est donc pas adapté à tous les périmètres, et son usage doit être évalué au regard de la sensibilité des données et des obligations réglementaires applicables.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les cadres publics existants pour déployer un PaaS</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Contrairement à une idée reçue, les acteurs publics disposent déjà de cadres opérationnels pour accéder à des services cloud et solution d’hébergement applicatif conformes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour les administrations et établissements publics, le recours à l’<a href="https://www.ugap.fr/" target="_blank" rel="noreferrer noopener"><strong>UGAP</strong></a> permet de s’appuyer sur une centrale d’achat nationale, avec des contrats mutualisés et juridiquement sécurisés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À l’échelle régionale, des dispositifs comme <a href="https://www.clever.cloud/fr/blog/presse/2025/09/11/clever-cloud-rejoint-la-fabrique-ia-territoriale-en-pays-de-la-loire/" target="_blank" rel="noreferrer noopener"><strong>La Fabrique IA Territoriale</strong></a> portée par <a href="https://gigalis.org/" target="_blank" rel="noreferrer noopener"><strong>GIGALIS</strong></a><strong>,</strong> offrent aux collectivités et institutions locales des Pays de la Loire un cadre structuré pour accéder à des services numériques et cloud, dans une logique de mutualisation et d’accompagnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le secteur de la santé, les établissements hospitaliers peuvent quant à eux s’appuyer sur <strong><a href="https://resah.fr/" target="_blank" rel="noreferrer noopener">Resah</a></strong>, qui référence des solutions adaptées aux exigences spécifiques du domaine sanitaire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces cadres ne définissent pas les usages techniques, mais constituent des points d’accès concrets à des services conformes au droit de la commande publique.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Dans quels cas le PaaS est particulièrement pertinent</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le modèle cloud managé se révèle particulièrement adapté dans des situations où l’objectif est de <strong>créer une nouvelle application sans volonté d’assurer de l’administration système</strong>. Il est également pertinent pour la modernisation ou la refonte d’applications existantes, lorsque l’enjeu principal est de simplifier l’exploitation tout en améliorant la fiabilité et la sécurité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour des projets applicatifs nécessitant des cycles de déploiement rapides, une meilleure prévisibilité des coûts d’exploitation et une réduction du temps consacré aux tâches d’administration, une offre cloud pour les acteurs publics peut représenter un choix cohérent, dès lors que le périmètre fonctionnel et réglementaire est clairement défini.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Points de vigilance avant de faire ce choix</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avant d’opter pour un PaaS, il reste indispensable d’évaluer plusieurs éléments : le périmètre réel de responsabilité de la plateforme, les conditions de réversibilité, la localisation et la protection des données, ainsi que l’adéquation entre le niveau de sensibilité des informations traitées et les garanties proposées. Ces points conditionnent la pertinence du modèle et sa soutenabilité dans le temps.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Vous travaillez sur un projet applicatif au sein d’un service public et vous vous interrogez sur la pertinence d’un modèle PaaS dans votre contexte ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Identifier le bon cadre contractuel permet de gagner du temps et de garantir la conformité de vos projets numériques publics.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.clever.cloud/fr/contact/" target="_blank" rel="noreferrer noopener">Contactez notre équipe</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>Ou retrouvez directement Clever Cloud via les plateformes publiques <strong>UGAP</strong>, pour les administrations et établissements publics,<strong> la Fabrique IA Territoriale</strong> pour les acteurs des Pays de la Loire, et <strong>Resah</strong> pour les établissements de santé.<br></p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 03 17 clever cloud banniere blog paas secteur public fr" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/03/2026-03-17-clever-cloud-banniere-blog-paas-secteur-public-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Cette transformation s’inscrit toutefois dans un cadre de réduction des coûts, de rationalisation des infrastructures existantes et de mutualisation des ressources informatiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ce contexte contraint, la question n’est pas uniquement de savoir quel fournisseur ou quelle technologie adopter, mais quel modèle d’exécution applicative est le plus adapté au projet concerné. Le PaaS (platform as a service) fait partie des options possibles, à condition d’en comprendre précisément les apports, les limites et les cadres dans lesquels il peut être mobilisé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les enjeux et problématiques spécifiques des services publics</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les organisations publiques font face à des contraintes structurelles qui influencent directement leurs choix techniques. La <strong>pression budgétaire </strong>est permanente, avec des objectifs explicites de maîtrise, voire de réduction, des coûts d’exploitation IT. Les équipes techniques sont souvent limitées en effectif, avec des <strong>difficultés de recrutement sur certains profils spécialisés</strong>, tels que les administrateurs systèmes, les développeurs, les experts cybersécurité ou les ingénieurs cloud et DevOps.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À cela s’ajoute un <strong>patrimoine applicatif hétérogène</strong>, parfois <strong>ancien</strong>, reposant sur des technologies ou des <strong>environnements qui ne sont plus maintenus </strong>ou difficilement évolutifs. Les exigences en matière de sécurité, de disponibilité et de conformité réglementaire sont élevées, tandis que les délais de mise en œuvre des projets numériques doivent rester <strong>compatibles</strong> avec les besoins opérationnels des administrations, collectivités ou établissements publics.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">En quoi le PaaS peut répondre à ces enjeux dans le secteur public</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le recours à une plateforme cloud peut répondre à une partie de ces problématiques, sans pour autant constituer une solution universelle. L’un de ses apports majeurs réside dans la <strong>réduction de la charge opérationnelle</strong>. Concrètement, cela signifie que l’exploitation des systèmes d’exploitation, la gestion des runtimes applicatifs, les mécanismes de déploiement, de redémarrage ou de supervision sont pris en charge au niveau de la plateforme. Les équipes techniques n’ont plus à administrer l’infrastructure sous-jacente au quotidien et peuvent se concentrer sur le développement, l’évolution et la qualité des applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Sur le plan de la sécurité et des mises à jour, une solution d’hébergement applicatif permet également de maintenir des environnements techniques à jour de manière plus systématique. Dans le secteur public, où la <strong>gestion du legacy</strong> est un enjeu central, cela contribue à limiter les risques liés à l’obsolescence des systèmes, aux dépendances non maintenues ou aux correctifs de sécurité appliqués tardivement. Cette solution ne supprime pas le legacy existant, mais il peut en encadrer l’exploitation et faciliter une modernisation progressive, sans refonte immédiate de l’ensemble du système d’information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est dans ce cadre qu’un PaaS pour les services publics peut constituer un levier pertinent, à condition d’être choisi pour des usages clairement identifiés.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tous les projets publics ne relèvent pas du même cadre de déploiement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les projets numériques portés par les services publics couvrent des réalités très différentes. Une application métier interne, un service numérique à destination des citoyens, une plateforme de données ou un projet de recherche n’impliquent pas les mêmes contraintes ni les mêmes niveaux d’exigence.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Certains contextes, notamment ceux liés à la <strong>défense ou au traitement d’informations sensibles</strong>, requièrent des garanties renforcées en matière de sécurité, de contrôle et de souveraineté. Dans ces cas, des démarches de qualification spécifiques, comme <strong>SecNumCloud</strong>, peuvent être nécessaires et limiter les options techniques envisageables. Le PaaS n’est donc pas adapté à tous les périmètres, et son usage doit être évalué au regard de la sensibilité des données et des obligations réglementaires applicables.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Les cadres publics existants pour déployer un PaaS</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Contrairement à une idée reçue, les acteurs publics disposent déjà de cadres opérationnels pour accéder à des services cloud et solution d’hébergement applicatif conformes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour les administrations et établissements publics, le recours à l’<a href="https://www.ugap.fr/" target="_blank" rel="noreferrer noopener"><strong>UGAP</strong></a> permet de s’appuyer sur une centrale d’achat nationale, avec des contrats mutualisés et juridiquement sécurisés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À l’échelle régionale, des dispositifs comme <a href="https://www.clever.cloud/fr/blog/presse/2025/09/11/clever-cloud-rejoint-la-fabrique-ia-territoriale-en-pays-de-la-loire/" target="_blank" rel="noreferrer noopener"><strong>La Fabrique IA Territoriale</strong></a> portée par <a href="https://gigalis.org/" target="_blank" rel="noreferrer noopener"><strong>GIGALIS</strong></a><strong>,</strong> offrent aux collectivités et institutions locales des Pays de la Loire un cadre structuré pour accéder à des services numériques et cloud, dans une logique de mutualisation et d’accompagnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans le secteur de la santé, les établissements hospitaliers peuvent quant à eux s’appuyer sur <strong><a href="https://resah.fr/" target="_blank" rel="noreferrer noopener">Resah</a></strong>, qui référence des solutions adaptées aux exigences spécifiques du domaine sanitaire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces cadres ne définissent pas les usages techniques, mais constituent des points d’accès concrets à des services conformes au droit de la commande publique.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Dans quels cas le PaaS est particulièrement pertinent</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le modèle cloud managé se révèle particulièrement adapté dans des situations où l’objectif est de <strong>créer une nouvelle application sans volonté d’assurer de l’administration système</strong>. Il est également pertinent pour la modernisation ou la refonte d’applications existantes, lorsque l’enjeu principal est de simplifier l’exploitation tout en améliorant la fiabilité et la sécurité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour des projets applicatifs nécessitant des cycles de déploiement rapides, une meilleure prévisibilité des coûts d’exploitation et une réduction du temps consacré aux tâches d’administration, une offre cloud pour les acteurs publics peut représenter un choix cohérent, dès lors que le périmètre fonctionnel et réglementaire est clairement défini.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Points de vigilance avant de faire ce choix</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avant d’opter pour un PaaS, il reste indispensable d’évaluer plusieurs éléments : le périmètre réel de responsabilité de la plateforme, les conditions de réversibilité, la localisation et la protection des données, ainsi que l’adéquation entre le niveau de sensibilité des informations traitées et les garanties proposées. Ces points conditionnent la pertinence du modèle et sa soutenabilité dans le temps.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Vous travaillez sur un projet applicatif au sein d’un service public et vous vous interrogez sur la pertinence d’un modèle PaaS dans votre contexte ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Identifier le bon cadre contractuel permet de gagner du temps et de garantir la conformité de vos projets numériques publics.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.clever.cloud/fr/contact/" target="_blank" rel="noreferrer noopener">Contactez notre équipe</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>Ou retrouvez directement Clever Cloud via les plateformes publiques <strong>UGAP</strong>, pour les administrations et établissements publics,<strong> la Fabrique IA Territoriale</strong> pour les acteurs des Pays de la Loire, et <strong>Resah</strong> pour les établissements de santé.<br></p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
