<?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>reverse proxy Archives | Clever Cloud</title>
	<atom:link href="https://stagingv6.cleverapps.io/fr/blog/tag/reverse-proxy/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Tue, 10 Oct 2023 12:12:02 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>reverse proxy Archives | Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Nos connecteurs Sōzu Open Source</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2023/09/25/nos-connecteurs-sozu-open-source/</link>
		
		<dc:creator><![CDATA[Emmanuel Bosquet]]></dc:creator>
		<pubDate>Mon, 25 Sep 2023 13:02:22 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[reverse proxy]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=10301</guid>

					<description><![CDATA[<p><img width="573" height="266" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/09/clever-cloud-devoile-ses-connecteurs-sozu-open-source.svg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="bannière Sozu" decoding="async" fetchpriority="high" /></p><!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8027,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8027","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p>Clever Cloud est aujourd'hui le principal développeur de <a href="https://www.sozu.io"><strong>Sōzu</strong></a>, un Reverse Proxy créé par nos soins, en <a href="https://stagingv6.cleverapps.io/blog/engineering/2016/11/02/falling-for-rust/">Rust</a>, pour répondre aux besoins de notre infrastructure en termes de performance et de rechargement à chaud. Sōzu est utilisé sur tout le périmètre Clever Cloud, associé à HAProxy, pour acheminer le trafic vers les applications de nos clients.</p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/canvas-1-358x447.png" alt="" class="wp-image-8027 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><strong><strong>Ce que nous faisions </strong></strong>:</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Jusqu'à présent, notre Reverse Proxy Sōzu était géré dans Clever Cloud à l'aide d'un programme propriétaire exécuté sur la même machine et assurant deux grandes responsabilités&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Premièrement, écouter un topic RabbitMQ et rediriger les requêtes vers Sōzu (via sa socket UNIX).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Deuxièmement, surveiller un dossier PKI (Public Key Infrastructure) pour rediriger les certificats TLS vers Sōzu (via sa socket UNIX).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><strong>Virage open source</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Alors que nous travaillions sur un nouveau connecteur Prometheus pour Sōzu, nous nous sommes rendus compte que nous pouvions le rendre open source. <strong>C'est ainsi qu'est née l'idée de porter  l'ancien gestionnaire de Sōzu (décrit ci-dessus) de son état propriétaire vers de nouveaux dépôts Open Source.</strong><br>Notre objectif final est de développer un écosystème entièrement open-source autour de notre reverse proxy Sōzu.<br>Ce billet de blog décrit ces nouveaux composants open source et résume ce qu'ils font.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Notre écosystème Open Source autour de <strong>Sōzu</strong></h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-prometheus-connector">Connecteur Sōzu Prometheus</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8023,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8023","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p><a href="https://prometheus.io/docs/introduction/overview/" target="_blank" rel="noreferrer noopener">Prometheus</a> est une suite logicielle de surveillance et d'alerte.<br>Ce connecteur simple fonctionne parallèlement à Sōzu. Il écoute les requêtes HTTP sur la route /metrics, demande à Sōzu ses métriques, les formate pour qu'elles soient compatibles avec Prometheus et les envoie dans la réponse HTTP.<br>Cela signifie que<strong> les métriques Prometheus sont facilement disponibles sur l'adresse IP d'une machine Sōzu.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/1200px-Prometheus_software_logo.svg_-1024x1015-1-451x447.png" alt="" class="wp-image-8023 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-pulsar-connector">Connecteur Sōzu Pulsar</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8025,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8025","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p><a href="https://github.com/CleverCloud/sozu-pulsar-connector" target="_blank" rel="noreferrer noopener">Apache Pulsar</a> est une plateforme de messagerie hautement évolutive. Nous l'apprécions chez Clever Cloud en raison de son aspect distribué et de ses performances de pointe en matière de débit.<br>Le connecteur Sōzu Pulsar s'abonne à un topic Pulsar et transmet des messages à Sōzu. Sōzu utilise ces messages pour effectuer un chargement à chaud sur le proxy, cette fonction est une caractéristique clé de notre Reverse Proxy.<br>Pour tout utilisateur de l'écosystème Sōzu, cela signifie que ce connecteur permet de <strong>mettre à jour la redirection du trafic en temps réel.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/1_7F-rMchWXbujnBT7QUN4zA-1.jpeg" alt="" class="wp-image-8025 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-pki-connector">Connecteur Sōzu PKI</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8026,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8026","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph -->
<p>PKI signifie <strong>P</strong>ublic <strong>K</strong>ey <strong>I</strong>nfrastructure (infrastructure à clé publique), un cadre de sécurité omniprésent sur l'internet, généralement utilisé pour sécuriser les connexions avec HTTPS (entre autres). Dans le cadre du PKI, Sōzu fonctionne comme une<strong> terminaison TLS</strong> : il déchiffre le trafic HTTPS en trafic HTTP.<br>Le connecteur PKI de Sōzu fonctionne parallèlement à ce dernier, surveille un répertoire donné du système de fichiers, lit les certificats TLS qui y ont été placés par l'homme ou la machine et les transmet à Sōzu.<br>En résumé, cela signifie que si l'on écrit un <strong>certificat TLS sur la machine, Sōzu l'aura.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/TLS_icon-e1586274007843.png" alt="" class="wp-image-8026 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:paragraph {"fontSize":"large"} -->
<p class="has-large-font-size"><a href="https://github.com/CleverCloud/sozu-client">Client Sōzu</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une librairie utilisée par tous les connecteurs pré-cités. Elle poole les connections à la socket UNIX de Sōzu, et fonctionne de façon entièrement asynchrone. En somme, elle permet d'<strong>écrire de nouveaux connecteurs facilement.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Et la suite ?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La meilleure chose que nous puissions souhaiter serait que la communauté open-source se joigne à nous pour utiliser et améliorer Sōzu au fur et à mesure. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous espérons ainsi à terme construire une interface web pour gérer une instance de Sōzu dans le navigateur.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="573" height="266" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/09/clever-cloud-devoile-ses-connecteurs-sozu-open-source.svg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="bannière Sozu" decoding="async" /></p><!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8027,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8027","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p>Clever Cloud est aujourd'hui le principal développeur de <a href="https://www.sozu.io"><strong>Sōzu</strong></a>, un Reverse Proxy créé par nos soins, en <a href="https://stagingv6.cleverapps.io/blog/engineering/2016/11/02/falling-for-rust/">Rust</a>, pour répondre aux besoins de notre infrastructure en termes de performance et de rechargement à chaud. Sōzu est utilisé sur tout le périmètre Clever Cloud, associé à HAProxy, pour acheminer le trafic vers les applications de nos clients.</p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/canvas-1-358x447.png" alt="" class="wp-image-8027 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><strong><strong>Ce que nous faisions </strong></strong>:</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Jusqu'à présent, notre Reverse Proxy Sōzu était géré dans Clever Cloud à l'aide d'un programme propriétaire exécuté sur la même machine et assurant deux grandes responsabilités&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Premièrement, écouter un topic RabbitMQ et rediriger les requêtes vers Sōzu (via sa socket UNIX).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Deuxièmement, surveiller un dossier PKI (Public Key Infrastructure) pour rediriger les certificats TLS vers Sōzu (via sa socket UNIX).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><strong>Virage open source</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Alors que nous travaillions sur un nouveau connecteur Prometheus pour Sōzu, nous nous sommes rendus compte que nous pouvions le rendre open source. <strong>C'est ainsi qu'est née l'idée de porter  l'ancien gestionnaire de Sōzu (décrit ci-dessus) de son état propriétaire vers de nouveaux dépôts Open Source.</strong><br>Notre objectif final est de développer un écosystème entièrement open-source autour de notre reverse proxy Sōzu.<br>Ce billet de blog décrit ces nouveaux composants open source et résume ce qu'ils font.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Notre écosystème Open Source autour de <strong>Sōzu</strong></h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-prometheus-connector">Connecteur Sōzu Prometheus</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8023,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8023","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p><a href="https://prometheus.io/docs/introduction/overview/" target="_blank" rel="noreferrer noopener">Prometheus</a> est une suite logicielle de surveillance et d'alerte.<br>Ce connecteur simple fonctionne parallèlement à Sōzu. Il écoute les requêtes HTTP sur la route /metrics, demande à Sōzu ses métriques, les formate pour qu'elles soient compatibles avec Prometheus et les envoie dans la réponse HTTP.<br>Cela signifie que<strong> les métriques Prometheus sont facilement disponibles sur l'adresse IP d'une machine Sōzu.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/1200px-Prometheus_software_logo.svg_-1024x1015-1-451x447.png" alt="" class="wp-image-8023 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-pulsar-connector">Connecteur Sōzu Pulsar</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8025,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8025","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph {"placeholder":"Content…"} -->
<p><a href="https://github.com/CleverCloud/sozu-pulsar-connector" target="_blank" rel="noreferrer noopener">Apache Pulsar</a> est une plateforme de messagerie hautement évolutive. Nous l'apprécions chez Clever Cloud en raison de son aspect distribué et de ses performances de pointe en matière de débit.<br>Le connecteur Sōzu Pulsar s'abonne à un topic Pulsar et transmet des messages à Sōzu. Sōzu utilise ces messages pour effectuer un chargement à chaud sur le proxy, cette fonction est une caractéristique clé de notre Reverse Proxy.<br>Pour tout utilisateur de l'écosystème Sōzu, cela signifie que ce connecteur permet de <strong>mettre à jour la redirection du trafic en temps réel.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/1_7F-rMchWXbujnBT7QUN4zA-1.jpeg" alt="" class="wp-image-8025 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:heading {"level":3,"fontSize":"large"} -->
<h3 class="wp-block-heading has-large-font-size"><a href="https://github.com/CleverCloud/sozu-pki-connector">Connecteur Sōzu PKI</a></h3>
<!-- /wp:heading -->

<!-- wp:media-text {"align":"wide","mediaPosition":"right","mediaId":8026,"mediaLink":"https://stagingv6.cleverapps.io/?attachment_id=8026","mediaType":"image","mediaWidth":15} -->
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 15%"><div class="wp-block-media-text__content"><!-- wp:paragraph -->
<p>PKI signifie <strong>P</strong>ublic <strong>K</strong>ey <strong>I</strong>nfrastructure (infrastructure à clé publique), un cadre de sécurité omniprésent sur l'internet, généralement utilisé pour sécuriser les connexions avec HTTPS (entre autres). Dans le cadre du PKI, Sōzu fonctionne comme une<strong> terminaison TLS</strong> : il déchiffre le trafic HTTPS en trafic HTTP.<br>Le connecteur PKI de Sōzu fonctionne parallèlement à ce dernier, surveille un répertoire donné du système de fichiers, lit les certificats TLS qui y ont été placés par l'homme ou la machine et les transmet à Sōzu.<br>En résumé, cela signifie que si l'on écrit un <strong>certificat TLS sur la machine, Sōzu l'aura.</strong></p>
<!-- /wp:paragraph --></div><figure class="wp-block-media-text__media"><img src="https://cdn.clever-cloud.com/uploads/2023/07/TLS_icon-e1586274007843.png" alt="" class="wp-image-8026 size-full"/></figure></div>
<!-- /wp:media-text -->

<!-- wp:paragraph {"fontSize":"large"} -->
<p class="has-large-font-size"><a href="https://github.com/CleverCloud/sozu-client">Client Sōzu</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une librairie utilisée par tous les connecteurs pré-cités. Elle poole les connections à la socket UNIX de Sōzu, et fonctionne de façon entièrement asynchrone. En somme, elle permet d'<strong>écrire de nouveaux connecteurs facilement.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Et la suite ?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La meilleure chose que nous puissions souhaiter serait que la communauté open-source se joigne à nous pour utiliser et améliorer Sōzu au fur et à mesure. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous espérons ainsi à terme construire une interface web pour gérer une instance de Sōzu dans le navigateur.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
