<?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://stagingv6.cleverapps.io/fr/blog/tag/engineering/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Wed, 06 Nov 2024 08:54:18 +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>Engineering Archives | Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Qu’est-ce que le cloud computing ?</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2024/11/04/qu-est-ce-que-le-cloud-computing/</link>
		
		<dc:creator><![CDATA[Leo Le Levé Dandé]]></dc:creator>
		<pubDate>Mon, 04 Nov 2024 12:37:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=14742</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Tout savoir sur le cloud computing" decoding="async" fetchpriority="high" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Retour aux fondamentaux avec ce premier article d’une nouvelle série. Découvrons ensemble le fonctionnement du cloud computing, ses différentes architectures (public, privé, hybride), ses nombreux avantages pour les entreprises ainsi que les différences entre cloud computing, edge computing, et on-premise pour vous aider à choisir la solution la plus adaptée à vos besoins.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cloud computing : définition et origines</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing a profondément transformé la manière dont les entreprises et les particuliers accèdent aux ressources informatiques. L'idée est simple mais novatrice : plutôt que de posséder et de gérer ses propres serveurs et centres de données, l'utilisateur peut désormais accéder à des services informatiques à la demande, via un réseau. Ces services incluent la puissance de calcul, le stockage de données, et parfois même la gestion de bases de données, offrant une flexibilité et une accessibilité jusqu’alors inédites. Une idée qui ne date d’ailleurs pas d’hier…</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">L’évolution de l’« informatique en nuage »</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le concept de l’informatique en nuage, plus connu sous le nom de cloud computing, bien que largement popularisé au début des années 2000, puise ses racines dans les années 1960. À cette époque, des pionniers de l'informatique envisageaient déjà l'idée de rendre la puissance de calcul accessible comme d’utilité publique. Durant les années 1990, les schémas réseaux ont commencé à utiliser l'image d'un "nuage" pour représenter Internet, symbolisant la complexité et l'interconnexion des réseaux qui permettent aujourd'hui au cloud computing de fonctionner comme une architecture mondiale et flexible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La véritable force du cloud réside dans sa capacité à fournir des ressources informatiques distantes et évolutives, permettant aux entreprises de simplifier la gestion de leur infrastructure, d'éviter le gaspillage de ressources, et d'<a href="https://stagingv6.cleverapps.io/fr/cloud-et-green-it-fr/">améliorer l'efficacité énergétique</a> à travers trois piliers :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Unification de la facturation</strong> : Le cloud propose un système de <a href="https://developers.clever-cloud.com/doc/billing/unified-invoices/">facturation unique</a> qui simplifie la gestion des coûts pour les entreprises. Cette transparence permet de suivre précisément les dépenses et d'optimiser les coûts ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Accès centralisé et sécurisé</strong> : Le cloud offre une interface unique qui simplifie l'accès aux services, tout en centralisant la gestion. Les systèmes IAM (Identity and Access Management) assurent une sécurité renforcée avec des outils d'auditabilité pour une meilleure conformité ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Marketplace riche et diversifiée</strong> : Le cloud met à disposition une vaste place de marché, permettant aux entreprises d'accéder à un <a href="https://stagingv6.cleverapps.io/fr/product/">large éventail de produits</a> et services. Cette diversité favorise la flexibilité et la scalabilité des solutions déployées.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Comment définir simplement le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>En termes simples, le cloud computing se définit comme l'accès à distance à des ressources informatiques partagées, sans la complexité de gérer l'infrastructure physique sous-jacente. Cette approche permet aux entreprises d'investir à long terme dans la pérennité de la gestion et de l'hébergement de leurs données, tout en leur offrant la flexibilité nécessaire pour ajuster rapidement leurs capacités selon leurs besoins. Par exemple, Clever Cloud automatise cette scalabilité, optimisant les ressources en temps réel pour répondre à la demande.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment fonctionne le cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Reposant sur un modèle de services informatiques via réseaux, le cloud permet aux entreprises d'accéder à des ressources telles que le stockage de données, la puissance de calcul, et l’accès à un catalogue d’applications en ligne, sans la nécessité de gérer directement l'infrastructure matérielle. Cette approche offre une flexibilité accrue, une optimisation des coûts, et une efficacité opérationnelle qui favorisent l'innovation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Les éléments clés du fonctionnement du cloud</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Plusieurs éléments fondamentaux assurent l’efficacité et l’évolutivité du cloud. Voici un aperçu des éléments clés qui le composent.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">L'infrastructure matérielle</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Au cœur du cloud, se trouve une <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">infrastructure physique</a> composée de serveurs, de systèmes de stockage, et de réseaux interconnectés. Ces infrastructures sont présentes dans des centres de données répartis à travers le monde, promettant une très haute disponibilité, <a href="https://stagingv6.cleverapps.io/fr/security/">une sécurité renforcée</a>, et une performance optimale. Les fournisseurs de cloud comme Clever Cloud investissent massivement pour maintenir des standards de qualité élevés, vérifiés à travers différentes certifications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">La virtualisation</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ce principe fondamental permet de créer des versions virtuelles de ressources physiques, comme des serveurs ou des systèmes de stockage. La virtualisation améliore l'efficacité en permettant à plusieurs utilisateurs ou applications d'exploiter les mêmes ressources de manière optimisée : les fameuses Virtual Machines (VM) . Cette technologie simplifie également la gestion et réduit les coûts d'exploitation en déconnectant l'infrastructure matérielle de l'expérience utilisateur.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Les interfaces d'accès et API</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les interfaces des services cloud sont conçues pour être sécurisées et performantes, facilitant la gestion des ressources et le déploiement d'applications. Les <a href="https://stagingv6.cleverapps.io/doc/api/">API</a> offrent aux administrateurs systèmes, DevOps et développeurs la possibilité d'automatiser et d'intégrer des services cloud dans leurs propres systèmes, maximisant ainsi la personnalisation, l'efficacité, la flexibilité et élargissant les fonctionnalités possibles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Les différentes architectures cloud : public, privé et hybride</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Chaque architecture cloud présente ses propres avantages et s'adresse à des besoins différents. La clé est de choisir celle qui s'aligne le mieux avec les objectifs stratégiques et les contraintes opérationnelles propres à votre organisation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud public : l’accessibilité et scalabilité simplifiées pour l’hébergement de données</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud public est l'architecture la plus courante. Ici, les ressources informatiques y sont hébergées sur des serveurs appartenant à des fournisseurs de services cloud, comme Clever Cloud. Ces services sont accessibles via réseau, offrant une solution évolutive et particulièrement scalable, capable de s'adapter rapidement aux besoins changeants des entreprises.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cloud public propose différents niveaux de services, allant de l'Infrastructure as a Service (IaaS) à la Platform as a Service (PaaS), en passant par le Software as a Service (SaaS). Cette diversité permet aux entreprises de choisir la solution la plus adaptée à leurs besoins, tout en bénéficiant de l'absence d'investissement initial dans l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud privé : l’hébergement de données contrôlé et sécurisé</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud privé est une solution dédiée à une seule organisation, par définition. Contrairement au cloud public, les serveurs du client lui sont dédiés. Il s’agit souvent d’une zone d’hébergement derrière le pare-feu du client, mise à disposition par un fournisseur de cloud. Cette architecture offre un contrôle total sur les données et une sécurité renforcée, ce qui est idéal pour les secteurs soumis à des régulations strictes (financier, santé, pharmaceutique, public, défense, juridique, industriel, etc.). Le cloud privé permet une personnalisation accrue de l’architecture d’hébergement de données, adaptée aux besoins spécifiques de l'entreprise.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud hybride : ne pas mettre tous ses œufs dans le même panier</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud hybride permet de gagner en résilience en combinant les avantages du cloud public et privé. En diversifiant les environnements, les entreprises évitent de mettre tous leurs œufs dans le même panier. Par exemple, elles peuvent stocker leurs données sensibles dans un cloud privé tout en utilisant un cloud public pour les sauvegardes ou les charges de travail moins critiques. Cela permet de basculer d'un environnement à l'autre selon les besoins en termes de performance, de coût ou de sécurité. Cependant, avec les frais de sortie (egress fees) élevés des hyperscalers, cette approche peut devenir coûteuse.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En réalité, le cloud hybride est déjà une pratique courante, souvent sans que les entreprises en aient pleinement conscience. Depuis la démocratisation du SaaS, la majorité des applications ne sont plus uniquement en on-premise, mais reposent sur un mix de cloud public, cloud privé et services SaaS.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quels sont les différents types de cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing est divisé en plusieurs catégories principales : Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) et le Function as a Service (FaaS). Chaque type offre des niveaux de contrôle, de flexibilité et de gestion différents, permettant à chacun de choisir celui qui répond le mieux à ses besoins.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Infrastructure as a Service (IaaS) pour une personnalisation  maximale</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'Infrastructure as a Service (IaaS) est historiquement le modèle le plus répandu du cloud computing. Avec l'IaaS, les entreprises louent des ressources informatiques telles que des serveurs, des machines virtuelles, du stockage et des réseaux directement auprès d'un fournisseur de services cloud.&nbsp; Les clients&nbsp; s’occupent du maintien en conditions opérationnelles de leur OS, des bases de données, des runtimes, etc. grâce à des administrateurs systèmes, présents en interne ou chez un infogéreur. Cela permet aux entreprises d’avoir une architecture spécifique répondant à leur besoin.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Platform as a Service (PaaS) pour un déploiement rapide et une mise à jour automatique</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le <a href="https://stagingv6.cleverapps.io/">Platform as a Service (PaaS)</a> va un cran plus loin que l'IaaS en fournissant un OS, le middleware,&nbsp; une console permettant de facilement déployer des runtimes voire même des bases de données ou des services tiers, que l’on appelle add-ons. Le client n’a plus à se préoccuper du maintien en condition opérationnelle (MCO), c’est à la charge du fournisseur de cloud.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les solutions PaaS facilitent le déploiement rapide des applications, tout en assurant la maintenance et la mise à jour automatiques de l'infrastructure. Avec des outils de développement intégrés et une architecture modulable, Clever Cloud simplifie le travail des développeurs et des DevOps en leur offrant un environnement prêt à l'emploi pour accélérer l'innovation : déployez du code, on se charge du reste !&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Software as a Service (SaaS) pour plus de simplicité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le Software as a Service (SaaS) est le modèle le plus courant du cloud computing. Les applications SaaS sont hébergées et gérées par des fournisseurs de services, permettant aux utilisateurs d'y accéder via Internet, généralement sur abonnement. Ce modèle élimine le besoin d'installer et de maintenir des logiciels localement, ce qui réduit les coûts et la complexité technique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le SaaS est particulièrement utile pour les entreprises cherchant à standardiser leurs outils logiciels sans investir dans l'infrastructure IT. Par exemple, les outils de collaboration, les systèmes de gestion de la relation client (CRM) et les suites bureautiques sont souvent déployés sous forme de services SaaS pour une simplicité maximale.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Functions as a Service  (FaaS) pour une grande agilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le Functions as a Service (FaaS), est une évolution du modèle PaaS qui permet aux développeurs de créer et de déployer des fonctions individuelles sans se soucier de la gestion des serveurs. Le fournisseur de cloud s'occupe de l'ensemble de l'infrastructure, de la mise à l'échelle et de la gestion des ressources, ne facturant que le temps d'exécution des fonctions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les fonctions sont déclenchées suite à des événements définis à l’avance, permettant à la fonction de lancer son action (traitement d’une image, conversion d’un fichier, etc.) et donc de s’allumer, d’être active le temps de l’action puis de s'éteindre. services pour des questions économiques. Le FaaS est souvent complémentaire d’un PaaS.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quels sont les avantages du cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Que ce soit en matière de scalabilité et de sécurité, le cloud offre de nombreux bénéfices pour les organisations qui décident de l’adopter, dont voici les principales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Optimisation des coûts : une approche stratégique plutôt que de simples économies</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing peut répondre à une stratégie financière, notamment en transformant les dépenses d'investissement (CAPEX) en dépenses opérationnelles (OPEX). Cette transition budgétaire permet aux entreprises d’externaliser leurs coûts initiaux liés à l'infrastructure informatique (achat des serveurs, entretiens des datacenters, maintenance, gestion de la fibre, recrutement d’une équipe dédiée, etc.). Les organisations peuvent adopter un modèle de paiement à l'usage, ajustant ainsi leurs dépenses en fonction de leurs besoins réels. Certains hyperscalers vont tout de même proposer de payer des instances réservées, qui seront à payer même si elles ne sont pas utilisées mais il ne s'agit pas de la majorité des usages.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité : le cloud s’adapte à vos besoins</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Que ce soit pour augmenter la capacité de traitement lors d'un pic d'activité ou pour réduire les ressources pendant les périodes creuses, le cloud se veut flexible et scalable à la demande, grâce à des sondes et des orchestrateurs. Cette réactivité garantit une utilisation optimale des ressources et offre aux entreprises une agilité accrue pour faire face aux évolutions du marché et de la demande. Chez Clever Cloud, la scalabilité est automatique, ce qui signifie qu’elle s’adapte en temps réel à vos besoins et vous permet de ne payer que ce que vous consommez réellement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Sécurité : un pilier capital pour les entreprises</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing améliore grandement la sécurité de vos données. Les clouds providers investissent, assurent une veille constante et ont pour rôle d’avertir leur clients ou de mettre à jour les zones exposées. Le stockage dans le cloud et ses sauvegardes permettent une grande résilience. Il est facilement possible d’accéder aux&nbsp; données sauvegardées ou de lancer un PRA ou un PCA. Chez Clever Cloud, nous allons même plus loin : nos bases de données Materia sont automatiquement répliquées sur&nbsp; nos trois datacenters parisiens, ce qui vous assure une grande tranquilité d’esprit. Autre point capital : de nombreuses certifications de sécurité peuvent être demandées lorsque l’on héberge des données critiques ou personnelles. Les fournisseurs de clouds s’engagent à les respecter.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Accessibilité : l’instantané comme répondre aux nouvelles tendances de travail</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing favorise l’accessibilité à vos données, permettant à vos équipes de collaborer efficacement, peu importe leur localisation. Les données et les applications hébergées dans le cloud peuvent être disponibles 24/7. Ce qui facilite le télétravail, accélère les processus de prise de décision et améliore la productivité des équipes, tout en garantissant une synchronisation en temps réel des informations.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Mises à jour automatiques et maintien en condition opérationnelle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avec le cloud computing, les mises à jour logicielles et les correctifs de sécurité sont automatiquement gérés par le fournisseur, sans intervention de l'équipe informatique du client. Cela permet non seulement de réduire la charge de travail interne, mais aussi de garantir que les systèmes n’ont pas de failles de sécurité.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Qui utilise le cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing est désormais une composante essentielle pour les entreprises de toutes tailles et de tous secteurs. Son adoption massive est motivée par l'externalisation de la gestion et du MCO, par l’unification des coûts et par l’accès à une marketplace.&nbsp; Que ce soit pour le stockage et la sauvegarde de données, l'analyse de Big Data, l’hébergement de serveurs mails ou encore le développement et le déploiement d'applications web, le cloud est devenu incontournable pour répondre aux exigences croissantes du marché.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À titre d’exemple, les organisations du secteur financier utilisent le cloud computing pour détecter et prévenir les fraudes en temps réel, en s'appuyant sur des algorithmes de machine learning et des analyses prédictives. Les entreprises de santé, quant à elles, exploitent ces technologies pour offrir des traitements plus personnalisés, améliorant ainsi la qualité des soins pour leurs patients. Le secteur du divertissement et les créateurs de jeux vidéo s'appuient sur le cloud pour diffuser leurs contenus à des millions d'utilisateurs dans le monde entier, garantissant une expérience fluide et immersive.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cette technologie n'est pas réservée aux grandes entreprises : PME, startups, freelance et particuliers adoptent également le cloud pour bénéficier d'une infrastructure évolutive sans avoir à supporter les coûts élevés liés aux datacenters physiques. En optant pour ces solutions, elles peuvent se concentrer sur leur besoin.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quelles sont les utilisations du cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing offre une multitude d'utilisations pour les entreprises et les particuliers, dont voici les principales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Stocker et sauvegarder des données</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud permet aux entreprises de protéger leurs informations tout en bénéficiant d'une grande capacité de stockage, et ce, tout en gardant un contrôle sur la facturation. Les données peuvent être facilement accessibles depuis n'importe quel appareil connecté, ce qui facilite la récupération en cas de problème technique.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Héberger des applications, des sites web</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'hébergement d'applications et de sites web est une autre utilisation clé du cloud computing permettant de créer et déployer des applications tout en bénéficiant d’une grande scalabilité. Les développeurs bénéficient ainsi d'une solution fiable pour offrir une expérience utilisateur fluide et performante.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Diffuser des logiciels et des contenus as a service</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing facilite également le développement de logiciels et de contenus sous forme de services (SaaS). Ce modèle réduit les besoins en installations locales et permet aux entreprises de proposer des mises à jour régulières sans interruption de service, accessible à tout moment et sur tout type d’appareil. Elles peuvent se concentrer sur l'amélioration continue de leurs produits tout en simplifiant la gestion des versions logicielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Analyse de données et intelligence artificielle (IA)</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'analyse de données et l'intégration de l'intelligence artificielle (IA) sont rendues possibles grâce aux capacités et performances du cloud computing. Les entreprises peuvent centraliser leurs données dans des systèmes cloud, comme des datalakes ou des data warehouse&nbsp; et utiliser et entraîner des services de machine learning pour en extraire des éléments souhaités. Ces technologies aident à développer des modèles prédictifs, à automatiser des processus, générer du texte ou des images , etc.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Test et développement d'applications</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud est également un outil puissant pour le test et le développement d'applications. Grâce à la standardisation des environnements de tests, il est désormais possible d’obtenir des espaces dédiés en quelques clics, et permet aux équipes de développeurs de gagner du temps. Les infrastructures cloud offrent une forte flexibilité pour créer, tester et déployer des applications tout en facilitant l'intégration continue et le déploiement continu (CI/CD). Cette approche accélère le cycle de développement et permet aux entreprises de réduire leur time to market.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Edge computing et cloud computing : les différences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing et l'edge computing sont deux architectures distinctes qui répondent à des besoins différents. Alors que le cloud computing centralise les ressources et les traitements dans de grands datacenters, l'edge computing déplace ces opérations au plus près des sources de données grâce à des infrastructures de petites tailles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette approche permet à l'edge computing de réduire la latence et d'améliorer la rapidité de traitement, un atout essentiel pour des applications telles que l'Internet des objets (IoT), les véhicules autonomes et la réalité augmentée. Le choix entre ces deux technologies dépend souvent du contexte et des exigences de performance, de sécurité et de connectivité. L’edge computing permet aussi de proposer une architecture hybride, qui peut prendre le relai en cas de problématique de disponibilité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cloud computing se distingue par sa capacité à offrir des ressources évolutives et mutualisées, accessibles via Internet, ce qui en fait une solution idéale pour des applications nécessitant une grande puissance de calcul et de stockage. En revanche, l'edge computing privilégie un traitement local pour des réponses en temps réel, réduisant ainsi les dépendances vis-à-vis de la connectivité réseau.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quand choisir l’edge computing plutôt que le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Choisir entre edge computing et cloud computing dépend de plusieurs facteurs clés :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Réactivité et faible latence : L'edge computing est la meilleure solution lorsqu'une réponse instantanée est cruciale. Par exemple, pour les systèmes de contrôle industriel ou les véhicules autonomes, chaque milliseconde compte. Le traitement local des données par l'edge computing réduit les délais et améliore la fiabilité des opérations ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Volume de données à traiter : Lorsque le volume de données généré est trop important pour être transféré rapidement vers un datacenter central, l'edge computing devient indispensable. Il permet de filtrer et de traiter les données à la source, minimisant ainsi le trafic réseau et optimisant l'utilisation de la bande passante ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Environnements isolés ou à connectivité limitée : Dans des zones où la connexion à Internet est instable ou inexistante, l'edge computing assure le traitement des données sans interruption. Cela en fait une solution idéale pour des sites distants, comme les installations industrielles ou les infrastructures critiques ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Sécurité et confidentialité des données : L'edge computing offre un niveau de sécurité supplémentaire en traitant les données localement, ce qui limite leur exposition aux cybermenaces potentielles. Ce point est particulièrement important pour les secteurs sensibles, comme la santé ou les services financiers.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Ainsi, bien que le cloud computing soit adapté aux tâches nécessitant de vastes ressources et une accessibilité globale, l'edge computing s'impose dans les contextes où la rapidité, la localité et la sécurité des données sont primordiales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">On-premise et cloud computing : les différences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L’évolution des infrastructures informatiques a mené à deux principales approches : le on-premise et le cloud computing. Ces deux solutions présentent des différences fondamentales en termes de déploiement, de gestion, de coûts et d'évolutivité. Le <a href="https://stagingv6.cleverapps.io/clever-cloud-on-premises-3/">on-premise</a> implique d’acheter, d'installer et de gérer le matériel et les logiciels directement sur les serveurs de l'entreprise grâce à une équipe formée, offrant ainsi un contrôle total sur les données, le réseau et la sécurité. En revanche, le cloud computing repose sur l’externalisation de ces tâches afin de laisser l’entreprise se concentrer sur son cœur de métier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quand choisir du on-premise plutôt que le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Opter pour une infrastructure on-premise peut être un choix stratégique, tant d’un point de vue budgétaire, technique que RH. Si l’entreprise souhaite payer et amortir ses investissements, contrôler l’ensemble de la chaîne de valeurs&nbsp; et est en capacité de recruter et garder ses talents, le choix de l’on-premise peut à fait lui convenir. Si elle souhaite se concentrer sur son coeur de mieux, elle se tournera plus facilement vers le cloud computing afin d’externaliser cette charge à un prestataire dont c’est le métier.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Le futur du cloud computing</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing continue d'évoluer à une vitesse fulgurante, et son potentiel ne cesse de se développer. Nous sommes à l'aube d'une ère où les technologies de pointe comme l'intelligence artificielle (IA), l'informatique quantique et l'edge computing vont redéfinir les paradigmes actuels du cloud. Ce futur promet une intégration accrue des plateformes low-code et no-code, ainsi qu'une adoption massive de l'Internet des Objets (IoT), permettant aux entreprises et développeurs de concevoir des solutions innovantes sans forcément bénéficier d’une expertise technique avancée.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Tout savoir sur le cloud computing" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-04-clever-cloud-banniere-blog-cloud-computing-fr-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Retour aux fondamentaux avec ce premier article d’une nouvelle série. Découvrons ensemble le fonctionnement du cloud computing, ses différentes architectures (public, privé, hybride), ses nombreux avantages pour les entreprises ainsi que les différences entre cloud computing, edge computing, et on-premise pour vous aider à choisir la solution la plus adaptée à vos besoins.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cloud computing : définition et origines</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing a profondément transformé la manière dont les entreprises et les particuliers accèdent aux ressources informatiques. L'idée est simple mais novatrice : plutôt que de posséder et de gérer ses propres serveurs et centres de données, l'utilisateur peut désormais accéder à des services informatiques à la demande, via un réseau. Ces services incluent la puissance de calcul, le stockage de données, et parfois même la gestion de bases de données, offrant une flexibilité et une accessibilité jusqu’alors inédites. Une idée qui ne date d’ailleurs pas d’hier…</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">L’évolution de l’« informatique en nuage »</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le concept de l’informatique en nuage, plus connu sous le nom de cloud computing, bien que largement popularisé au début des années 2000, puise ses racines dans les années 1960. À cette époque, des pionniers de l'informatique envisageaient déjà l'idée de rendre la puissance de calcul accessible comme d’utilité publique. Durant les années 1990, les schémas réseaux ont commencé à utiliser l'image d'un "nuage" pour représenter Internet, symbolisant la complexité et l'interconnexion des réseaux qui permettent aujourd'hui au cloud computing de fonctionner comme une architecture mondiale et flexible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La véritable force du cloud réside dans sa capacité à fournir des ressources informatiques distantes et évolutives, permettant aux entreprises de simplifier la gestion de leur infrastructure, d'éviter le gaspillage de ressources, et d'<a href="https://stagingv6.cleverapps.io/fr/cloud-et-green-it-fr/">améliorer l'efficacité énergétique</a> à travers trois piliers :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Unification de la facturation</strong> : Le cloud propose un système de <a href="https://developers.clever-cloud.com/doc/billing/unified-invoices/">facturation unique</a> qui simplifie la gestion des coûts pour les entreprises. Cette transparence permet de suivre précisément les dépenses et d'optimiser les coûts ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Accès centralisé et sécurisé</strong> : Le cloud offre une interface unique qui simplifie l'accès aux services, tout en centralisant la gestion. Les systèmes IAM (Identity and Access Management) assurent une sécurité renforcée avec des outils d'auditabilité pour une meilleure conformité ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Marketplace riche et diversifiée</strong> : Le cloud met à disposition une vaste place de marché, permettant aux entreprises d'accéder à un <a href="https://stagingv6.cleverapps.io/fr/product/">large éventail de produits</a> et services. Cette diversité favorise la flexibilité et la scalabilité des solutions déployées.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Comment définir simplement le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>En termes simples, le cloud computing se définit comme l'accès à distance à des ressources informatiques partagées, sans la complexité de gérer l'infrastructure physique sous-jacente. Cette approche permet aux entreprises d'investir à long terme dans la pérennité de la gestion et de l'hébergement de leurs données, tout en leur offrant la flexibilité nécessaire pour ajuster rapidement leurs capacités selon leurs besoins. Par exemple, Clever Cloud automatise cette scalabilité, optimisant les ressources en temps réel pour répondre à la demande.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment fonctionne le cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Reposant sur un modèle de services informatiques via réseaux, le cloud permet aux entreprises d'accéder à des ressources telles que le stockage de données, la puissance de calcul, et l’accès à un catalogue d’applications en ligne, sans la nécessité de gérer directement l'infrastructure matérielle. Cette approche offre une flexibilité accrue, une optimisation des coûts, et une efficacité opérationnelle qui favorisent l'innovation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Les éléments clés du fonctionnement du cloud</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Plusieurs éléments fondamentaux assurent l’efficacité et l’évolutivité du cloud. Voici un aperçu des éléments clés qui le composent.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">L'infrastructure matérielle</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Au cœur du cloud, se trouve une <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">infrastructure physique</a> composée de serveurs, de systèmes de stockage, et de réseaux interconnectés. Ces infrastructures sont présentes dans des centres de données répartis à travers le monde, promettant une très haute disponibilité, <a href="https://stagingv6.cleverapps.io/fr/security/">une sécurité renforcée</a>, et une performance optimale. Les fournisseurs de cloud comme Clever Cloud investissent massivement pour maintenir des standards de qualité élevés, vérifiés à travers différentes certifications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">La virtualisation</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ce principe fondamental permet de créer des versions virtuelles de ressources physiques, comme des serveurs ou des systèmes de stockage. La virtualisation améliore l'efficacité en permettant à plusieurs utilisateurs ou applications d'exploiter les mêmes ressources de manière optimisée : les fameuses Virtual Machines (VM) . Cette technologie simplifie également la gestion et réduit les coûts d'exploitation en déconnectant l'infrastructure matérielle de l'expérience utilisateur.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Les interfaces d'accès et API</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les interfaces des services cloud sont conçues pour être sécurisées et performantes, facilitant la gestion des ressources et le déploiement d'applications. Les <a href="https://stagingv6.cleverapps.io/doc/api/">API</a> offrent aux administrateurs systèmes, DevOps et développeurs la possibilité d'automatiser et d'intégrer des services cloud dans leurs propres systèmes, maximisant ainsi la personnalisation, l'efficacité, la flexibilité et élargissant les fonctionnalités possibles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Les différentes architectures cloud : public, privé et hybride</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Chaque architecture cloud présente ses propres avantages et s'adresse à des besoins différents. La clé est de choisir celle qui s'aligne le mieux avec les objectifs stratégiques et les contraintes opérationnelles propres à votre organisation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud public : l’accessibilité et scalabilité simplifiées pour l’hébergement de données</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud public est l'architecture la plus courante. Ici, les ressources informatiques y sont hébergées sur des serveurs appartenant à des fournisseurs de services cloud, comme Clever Cloud. Ces services sont accessibles via réseau, offrant une solution évolutive et particulièrement scalable, capable de s'adapter rapidement aux besoins changeants des entreprises.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cloud public propose différents niveaux de services, allant de l'Infrastructure as a Service (IaaS) à la Platform as a Service (PaaS), en passant par le Software as a Service (SaaS). Cette diversité permet aux entreprises de choisir la solution la plus adaptée à leurs besoins, tout en bénéficiant de l'absence d'investissement initial dans l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud privé : l’hébergement de données contrôlé et sécurisé</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud privé est une solution dédiée à une seule organisation, par définition. Contrairement au cloud public, les serveurs du client lui sont dédiés. Il s’agit souvent d’une zone d’hébergement derrière le pare-feu du client, mise à disposition par un fournisseur de cloud. Cette architecture offre un contrôle total sur les données et une sécurité renforcée, ce qui est idéal pour les secteurs soumis à des régulations strictes (financier, santé, pharmaceutique, public, défense, juridique, industriel, etc.). Le cloud privé permet une personnalisation accrue de l’architecture d’hébergement de données, adaptée aux besoins spécifiques de l'entreprise.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Cloud hybride : ne pas mettre tous ses œufs dans le même panier</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud hybride permet de gagner en résilience en combinant les avantages du cloud public et privé. En diversifiant les environnements, les entreprises évitent de mettre tous leurs œufs dans le même panier. Par exemple, elles peuvent stocker leurs données sensibles dans un cloud privé tout en utilisant un cloud public pour les sauvegardes ou les charges de travail moins critiques. Cela permet de basculer d'un environnement à l'autre selon les besoins en termes de performance, de coût ou de sécurité. Cependant, avec les frais de sortie (egress fees) élevés des hyperscalers, cette approche peut devenir coûteuse.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En réalité, le cloud hybride est déjà une pratique courante, souvent sans que les entreprises en aient pleinement conscience. Depuis la démocratisation du SaaS, la majorité des applications ne sont plus uniquement en on-premise, mais reposent sur un mix de cloud public, cloud privé et services SaaS.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quels sont les différents types de cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing est divisé en plusieurs catégories principales : Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) et le Function as a Service (FaaS). Chaque type offre des niveaux de contrôle, de flexibilité et de gestion différents, permettant à chacun de choisir celui qui répond le mieux à ses besoins.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Infrastructure as a Service (IaaS) pour une personnalisation  maximale</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'Infrastructure as a Service (IaaS) est historiquement le modèle le plus répandu du cloud computing. Avec l'IaaS, les entreprises louent des ressources informatiques telles que des serveurs, des machines virtuelles, du stockage et des réseaux directement auprès d'un fournisseur de services cloud.&nbsp; Les clients&nbsp; s’occupent du maintien en conditions opérationnelles de leur OS, des bases de données, des runtimes, etc. grâce à des administrateurs systèmes, présents en interne ou chez un infogéreur. Cela permet aux entreprises d’avoir une architecture spécifique répondant à leur besoin.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Platform as a Service (PaaS) pour un déploiement rapide et une mise à jour automatique</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le <a href="https://stagingv6.cleverapps.io/">Platform as a Service (PaaS)</a> va un cran plus loin que l'IaaS en fournissant un OS, le middleware,&nbsp; une console permettant de facilement déployer des runtimes voire même des bases de données ou des services tiers, que l’on appelle add-ons. Le client n’a plus à se préoccuper du maintien en condition opérationnelle (MCO), c’est à la charge du fournisseur de cloud.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les solutions PaaS facilitent le déploiement rapide des applications, tout en assurant la maintenance et la mise à jour automatiques de l'infrastructure. Avec des outils de développement intégrés et une architecture modulable, Clever Cloud simplifie le travail des développeurs et des DevOps en leur offrant un environnement prêt à l'emploi pour accélérer l'innovation : déployez du code, on se charge du reste !&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Software as a Service (SaaS) pour plus de simplicité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le Software as a Service (SaaS) est le modèle le plus courant du cloud computing. Les applications SaaS sont hébergées et gérées par des fournisseurs de services, permettant aux utilisateurs d'y accéder via Internet, généralement sur abonnement. Ce modèle élimine le besoin d'installer et de maintenir des logiciels localement, ce qui réduit les coûts et la complexité technique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le SaaS est particulièrement utile pour les entreprises cherchant à standardiser leurs outils logiciels sans investir dans l'infrastructure IT. Par exemple, les outils de collaboration, les systèmes de gestion de la relation client (CRM) et les suites bureautiques sont souvent déployés sous forme de services SaaS pour une simplicité maximale.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Functions as a Service  (FaaS) pour une grande agilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le Functions as a Service (FaaS), est une évolution du modèle PaaS qui permet aux développeurs de créer et de déployer des fonctions individuelles sans se soucier de la gestion des serveurs. Le fournisseur de cloud s'occupe de l'ensemble de l'infrastructure, de la mise à l'échelle et de la gestion des ressources, ne facturant que le temps d'exécution des fonctions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les fonctions sont déclenchées suite à des événements définis à l’avance, permettant à la fonction de lancer son action (traitement d’une image, conversion d’un fichier, etc.) et donc de s’allumer, d’être active le temps de l’action puis de s'éteindre. services pour des questions économiques. Le FaaS est souvent complémentaire d’un PaaS.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quels sont les avantages du cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Que ce soit en matière de scalabilité et de sécurité, le cloud offre de nombreux bénéfices pour les organisations qui décident de l’adopter, dont voici les principales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Optimisation des coûts : une approche stratégique plutôt que de simples économies</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing peut répondre à une stratégie financière, notamment en transformant les dépenses d'investissement (CAPEX) en dépenses opérationnelles (OPEX). Cette transition budgétaire permet aux entreprises d’externaliser leurs coûts initiaux liés à l'infrastructure informatique (achat des serveurs, entretiens des datacenters, maintenance, gestion de la fibre, recrutement d’une équipe dédiée, etc.). Les organisations peuvent adopter un modèle de paiement à l'usage, ajustant ainsi leurs dépenses en fonction de leurs besoins réels. Certains hyperscalers vont tout de même proposer de payer des instances réservées, qui seront à payer même si elles ne sont pas utilisées mais il ne s'agit pas de la majorité des usages.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité : le cloud s’adapte à vos besoins</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Que ce soit pour augmenter la capacité de traitement lors d'un pic d'activité ou pour réduire les ressources pendant les périodes creuses, le cloud se veut flexible et scalable à la demande, grâce à des sondes et des orchestrateurs. Cette réactivité garantit une utilisation optimale des ressources et offre aux entreprises une agilité accrue pour faire face aux évolutions du marché et de la demande. Chez Clever Cloud, la scalabilité est automatique, ce qui signifie qu’elle s’adapte en temps réel à vos besoins et vous permet de ne payer que ce que vous consommez réellement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Sécurité : un pilier capital pour les entreprises</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing améliore grandement la sécurité de vos données. Les clouds providers investissent, assurent une veille constante et ont pour rôle d’avertir leur clients ou de mettre à jour les zones exposées. Le stockage dans le cloud et ses sauvegardes permettent une grande résilience. Il est facilement possible d’accéder aux&nbsp; données sauvegardées ou de lancer un PRA ou un PCA. Chez Clever Cloud, nous allons même plus loin : nos bases de données Materia sont automatiquement répliquées sur&nbsp; nos trois datacenters parisiens, ce qui vous assure une grande tranquilité d’esprit. Autre point capital : de nombreuses certifications de sécurité peuvent être demandées lorsque l’on héberge des données critiques ou personnelles. Les fournisseurs de clouds s’engagent à les respecter.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Accessibilité : l’instantané comme répondre aux nouvelles tendances de travail</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing favorise l’accessibilité à vos données, permettant à vos équipes de collaborer efficacement, peu importe leur localisation. Les données et les applications hébergées dans le cloud peuvent être disponibles 24/7. Ce qui facilite le télétravail, accélère les processus de prise de décision et améliore la productivité des équipes, tout en garantissant une synchronisation en temps réel des informations.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Mises à jour automatiques et maintien en condition opérationnelle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avec le cloud computing, les mises à jour logicielles et les correctifs de sécurité sont automatiquement gérés par le fournisseur, sans intervention de l'équipe informatique du client. Cela permet non seulement de réduire la charge de travail interne, mais aussi de garantir que les systèmes n’ont pas de failles de sécurité.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Qui utilise le cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing est désormais une composante essentielle pour les entreprises de toutes tailles et de tous secteurs. Son adoption massive est motivée par l'externalisation de la gestion et du MCO, par l’unification des coûts et par l’accès à une marketplace.&nbsp; Que ce soit pour le stockage et la sauvegarde de données, l'analyse de Big Data, l’hébergement de serveurs mails ou encore le développement et le déploiement d'applications web, le cloud est devenu incontournable pour répondre aux exigences croissantes du marché.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À titre d’exemple, les organisations du secteur financier utilisent le cloud computing pour détecter et prévenir les fraudes en temps réel, en s'appuyant sur des algorithmes de machine learning et des analyses prédictives. Les entreprises de santé, quant à elles, exploitent ces technologies pour offrir des traitements plus personnalisés, améliorant ainsi la qualité des soins pour leurs patients. Le secteur du divertissement et les créateurs de jeux vidéo s'appuient sur le cloud pour diffuser leurs contenus à des millions d'utilisateurs dans le monde entier, garantissant une expérience fluide et immersive.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cette technologie n'est pas réservée aux grandes entreprises : PME, startups, freelance et particuliers adoptent également le cloud pour bénéficier d'une infrastructure évolutive sans avoir à supporter les coûts élevés liés aux datacenters physiques. En optant pour ces solutions, elles peuvent se concentrer sur leur besoin.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quelles sont les utilisations du cloud computing ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing offre une multitude d'utilisations pour les entreprises et les particuliers, dont voici les principales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Stocker et sauvegarder des données</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud permet aux entreprises de protéger leurs informations tout en bénéficiant d'une grande capacité de stockage, et ce, tout en gardant un contrôle sur la facturation. Les données peuvent être facilement accessibles depuis n'importe quel appareil connecté, ce qui facilite la récupération en cas de problème technique.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Héberger des applications, des sites web</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'hébergement d'applications et de sites web est une autre utilisation clé du cloud computing permettant de créer et déployer des applications tout en bénéficiant d’une grande scalabilité. Les développeurs bénéficient ainsi d'une solution fiable pour offrir une expérience utilisateur fluide et performante.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Diffuser des logiciels et des contenus as a service</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing facilite également le développement de logiciels et de contenus sous forme de services (SaaS). Ce modèle réduit les besoins en installations locales et permet aux entreprises de proposer des mises à jour régulières sans interruption de service, accessible à tout moment et sur tout type d’appareil. Elles peuvent se concentrer sur l'amélioration continue de leurs produits tout en simplifiant la gestion des versions logicielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Analyse de données et intelligence artificielle (IA)</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L'analyse de données et l'intégration de l'intelligence artificielle (IA) sont rendues possibles grâce aux capacités et performances du cloud computing. Les entreprises peuvent centraliser leurs données dans des systèmes cloud, comme des datalakes ou des data warehouse&nbsp; et utiliser et entraîner des services de machine learning pour en extraire des éléments souhaités. Ces technologies aident à développer des modèles prédictifs, à automatiser des processus, générer du texte ou des images , etc.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Test et développement d'applications</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud est également un outil puissant pour le test et le développement d'applications. Grâce à la standardisation des environnements de tests, il est désormais possible d’obtenir des espaces dédiés en quelques clics, et permet aux équipes de développeurs de gagner du temps. Les infrastructures cloud offrent une forte flexibilité pour créer, tester et déployer des applications tout en facilitant l'intégration continue et le déploiement continu (CI/CD). Cette approche accélère le cycle de développement et permet aux entreprises de réduire leur time to market.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Edge computing et cloud computing : les différences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing et l'edge computing sont deux architectures distinctes qui répondent à des besoins différents. Alors que le cloud computing centralise les ressources et les traitements dans de grands datacenters, l'edge computing déplace ces opérations au plus près des sources de données grâce à des infrastructures de petites tailles.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette approche permet à l'edge computing de réduire la latence et d'améliorer la rapidité de traitement, un atout essentiel pour des applications telles que l'Internet des objets (IoT), les véhicules autonomes et la réalité augmentée. Le choix entre ces deux technologies dépend souvent du contexte et des exigences de performance, de sécurité et de connectivité. L’edge computing permet aussi de proposer une architecture hybride, qui peut prendre le relai en cas de problématique de disponibilité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le cloud computing se distingue par sa capacité à offrir des ressources évolutives et mutualisées, accessibles via Internet, ce qui en fait une solution idéale pour des applications nécessitant une grande puissance de calcul et de stockage. En revanche, l'edge computing privilégie un traitement local pour des réponses en temps réel, réduisant ainsi les dépendances vis-à-vis de la connectivité réseau.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quand choisir l’edge computing plutôt que le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Choisir entre edge computing et cloud computing dépend de plusieurs facteurs clés :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Réactivité et faible latence : L'edge computing est la meilleure solution lorsqu'une réponse instantanée est cruciale. Par exemple, pour les systèmes de contrôle industriel ou les véhicules autonomes, chaque milliseconde compte. Le traitement local des données par l'edge computing réduit les délais et améliore la fiabilité des opérations ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Volume de données à traiter : Lorsque le volume de données généré est trop important pour être transféré rapidement vers un datacenter central, l'edge computing devient indispensable. Il permet de filtrer et de traiter les données à la source, minimisant ainsi le trafic réseau et optimisant l'utilisation de la bande passante ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Environnements isolés ou à connectivité limitée : Dans des zones où la connexion à Internet est instable ou inexistante, l'edge computing assure le traitement des données sans interruption. Cela en fait une solution idéale pour des sites distants, comme les installations industrielles ou les infrastructures critiques ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Sécurité et confidentialité des données : L'edge computing offre un niveau de sécurité supplémentaire en traitant les données localement, ce qui limite leur exposition aux cybermenaces potentielles. Ce point est particulièrement important pour les secteurs sensibles, comme la santé ou les services financiers.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Ainsi, bien que le cloud computing soit adapté aux tâches nécessitant de vastes ressources et une accessibilité globale, l'edge computing s'impose dans les contextes où la rapidité, la localité et la sécurité des données sont primordiales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">On-premise et cloud computing : les différences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L’évolution des infrastructures informatiques a mené à deux principales approches : le on-premise et le cloud computing. Ces deux solutions présentent des différences fondamentales en termes de déploiement, de gestion, de coûts et d'évolutivité. Le <a href="https://stagingv6.cleverapps.io/clever-cloud-on-premises-3/">on-premise</a> implique d’acheter, d'installer et de gérer le matériel et les logiciels directement sur les serveurs de l'entreprise grâce à une équipe formée, offrant ainsi un contrôle total sur les données, le réseau et la sécurité. En revanche, le cloud computing repose sur l’externalisation de ces tâches afin de laisser l’entreprise se concentrer sur son cœur de métier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quand choisir du on-premise plutôt que le cloud computing ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Opter pour une infrastructure on-premise peut être un choix stratégique, tant d’un point de vue budgétaire, technique que RH. Si l’entreprise souhaite payer et amortir ses investissements, contrôler l’ensemble de la chaîne de valeurs&nbsp; et est en capacité de recruter et garder ses talents, le choix de l’on-premise peut à fait lui convenir. Si elle souhaite se concentrer sur son coeur de mieux, elle se tournera plus facilement vers le cloud computing afin d’externaliser cette charge à un prestataire dont c’est le métier.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Le futur du cloud computing</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le cloud computing continue d'évoluer à une vitesse fulgurante, et son potentiel ne cesse de se développer. Nous sommes à l'aube d'une ère où les technologies de pointe comme l'intelligence artificielle (IA), l'informatique quantique et l'edge computing vont redéfinir les paradigmes actuels du cloud. Ce futur promet une intégration accrue des plateformes low-code et no-code, ainsi qu'une adoption massive de l'Internet des Objets (IoT), permettant aux entreprises et développeurs de concevoir des solutions innovantes sans forcément bénéficier d’une expertise technique avancée.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2024/06/11/materia-kv-notre-base-de-donnees-cle-valeur-serverless/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Tue, 11 Jun 2024 11:38:03 +0000</pubDate>
				<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[développeur]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[fonctionnalité]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12495</guid>

					<description><![CDATA[<p><img width="1600" height="800" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1368x684.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Ils “poussent” leur code, nous le déployons, tout en assurant la mise à jour et la mise en sécurité de l’environnement dans lequel ils fonctionnent avec un objectif : le maintien en conditions opérationnelles. Quelle que soit la situation, leur service répond.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Penser des services simples, robustes et innovants</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous le faisons en garantissant une empreinte minimale au sein de nos serveurs, en proposant une mise à l’échelle horizontale/verticale à la demande ou automatique. Nous pouvons ainsi multiplier les instances ou les faire grossir/réduire selon la charge de vos sites. Cette volonté de simplicité va au-delà des applications, puisque nous disposons également d’une large offre de base de données (BDD) “as-a-service” vous permettant<a href="https://console.clever-cloud.com"> de déployer en quelques secondes</a> des environnements <a href="https://stagingv6.cleverapps.io/fr/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/fr/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/fr/product/postgresql/">PostgreSQL</a> ou <a href="https://stagingv6.cleverapps.io/fr/product/redis/">Redis</a>, avec les mêmes outils et garanties.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces dernières années, nous faisions néanmoins face à des demandes récurrentes : outre la volonté de certains de nos clients d’avoir accès à d’autres solutions, ils nous demandaient régulièrement de disposer des avantages de <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">notre infrastructure répartie sur trois datacenters</a> afin d’obtenir des services à haute disponibilité. Mais dans le domaine des BDD, cela n'est pas toujours simple à mettre en place tout en assurant un bon niveau d’automatisation et la cohérence des données. Nous avons donc décidé de développer notre propre gamme de produits pour y parvenir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le projet “<a href="https://stagingv6.cleverapps.io/fr/materia-serverless/">Materia</a>” était né, reposant sur le moteur transactionnel open source <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>, utilisé, par exemple, par <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> pour ses services iCloud ainsi que par <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. Nous y contribuons et l’adaptons à nos besoins, tout en profitant de son aspect distribué et résilient, notamment du fait de son importante capacité de <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a>. Il nous permet d’imaginer un univers entier de solutions serverless, très simples d’usage, facturées à l'usage, avec des couches de comptabilité que nous développons pour permettre à nos clients de lui “parler” en utilisant des protocoles existants  tels que DynamoDB, GraphQL ou PostgreSQL par exemple.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV accessible à tous</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons commencé par le protocole Redis, afin de mettre en place Materia KV, actuellement en phase de test Alpha. Il s’agit d’une base de données clé-valeur répliquée de manière synchrone sur nos trois datacenters parisiens. Lorsque nos serveurs vous répondent, c’est que votre donnée à été écrite trois fois. Surtout, elle est très simple d’usage : rendez-vous dans notre <a href="https://console.clever-cloud.com">Console</a>, créez un add-on Materia KV, vous obtiendrez instantanément un jeton (token) utilisable avec n’importe quel client Redis ou même en envoyant des commandes à nos serveurs directement via le protocole TCP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, vous pouvez dès maintenant bénéficier d’une solution pour stocker vos données sous la forme de clé-valeur, en haute disponibilité, sans avoir la moindre instance à configurer, sans tarification minimale mensuelle : vous payerez simplement ce que vous consommez. Surtout, nous assurons ce service en compatibilité avec des protocoles existants. Aujourd’hui Redis, demain DynamoDB et GraphQL. La liste des commandes supportées est disponible<a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands"> ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lancée à<a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/04/16/materiadb-kv-functions/"> Devoxx France mi-avril</a>, Materia KV a fait forte impression sur place et lors de nos démonstrations depuis. Nous avons donc décidé de la rendre accessible à tous afin de permettre à l’ensemble de nos clients et des curieux de nous faire part de leurs retours sur son fonctionnement et de leurs besoins. Si la facturation se fera à l’usage à partir de la phase de Beta, pour le moment, c’est gratuit ! N’hésitez pas à tester et<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> à nous donner votre avis</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/users/me/addons/new" target="_blank" rel="noreferrer noopener">Créer un add-on Materia KV</a></div>
<!-- /wp:button -->

<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/materia-kv/" target="_blank" rel="noreferrer noopener">La documentation de Materia KV</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Déjà intégré à nos outils et interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV est bien entendu accessible via un addon-provider au sein<a href="https://developers.clever-cloud.com/api/"> de notre API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs/" target="_blank" rel="noreferrer noopener">Terraform</a> (ou OpenTofu par exemple), mais aussi de notre CLI, les<a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener"> Clever Tools</a>. Pour créer un jeton d’accès il suffit de lancer la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv NAME</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cet add-on pourra être lié directement à une application Clever Cloud où ses variables d’environnement seront injectées. Mais vous pouvez également l’utiliser depuis n’importe quel service tiers, un client en ligne de commande (CLI) ou avec interface graphique (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Alors que le développement de Materia KV et de ses différentes interfaces va se faire sur la durée, nous avons commencé à réfléchir à son intégration au sein des Clever Tools. Ainsi, une branche de test, disponible<a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener"> sous la forme de binaires</a> et<a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener"> documentée</a>, propose une commande <code>clever kv</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec elle, vous pouvez directement envoyer des requêtes à Materia KV en ayant la variable d’environnement configurée localement, ou en indiquant un ID dans vos commandes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># With Bash and Zsh
source <(clever addon env ADDON_ID --export)
# With Fish
clever addon env ADDON_ID --export | source

clever kv PING # PONG
clever kv set yourKey theValue
clever kv get yourKey</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comme cette version de démonstration ne gère pas l’ensemble des commandes gérées par Materia KV, vous pouvez lui envoyer une commande “brute”, elle vous renverra alors la réponse :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv redis_raw 'hset key field1 value1 field2 value2' # 2
clever kv redis_raw 'hget key field2'                      # value2
clever kv redis_raw 'hgetall key'                          # the full hash</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour démontrer les possibilités d’une telle intégration, vous avez également la possibilité de faire directement des requêtes sur un objet JSON stocké dans une clé :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv set simpleJson '{"key": "value"}' # the set data
clever kv getJson simpleJson key            # value
clever kv set jsonKey '[{"key": "value"}, {"bigKey": {"subKey1": "subValue1","subKey2": "subValue2"}}]'
clever kv getjson jsonKey bigKey.subKey2    # subValue1
clever kv getjson jsonKey ''                # the full JSON</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour montrer à quel point de telles intégrations sont simples, nous avons mis à votre disposition un client Materia KV écrit<a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener"> en Go</a> en utilisant Go-Redis. Si vous souhaitez plutôt comprendre comment vous pouvez envoyer des commandes et recevoir des réponses de Materia KV directement en TCP, vous trouverez des exemples,<a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener"> en V</a> ou<a href="https://gist.github.com/davlgd/6762660218a82646ba648242aa1e4548"> en Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>N’hésitez pas à proposer les vôtres et à nous le faire savoir ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une démonstration sur Twitch de Materia KV, un espace communautaire</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12684,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/06/2024-06-05--clever-cloud--twitch--thumbnail--materia-kv--fr-1024x576.png" alt="Une démonstration en direct sur Twitch aura lieu le mardi 18 juin 2024 à 13h15 avec nos hosts Horacio González (LostInBrittany) et Yannick Guern (Akanoa)." class="wp-image-12684"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Envie d’en savoir plus ? Horacio González, notre DevRel en chef, fera une démonstration<a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener"> sur Twitch</a> mardi 18 juin à 13h15. Pierre Zemb, créateur de Materia chez Clever Cloud, échangera également avec notre CTO Steven Le Roux dans une vidéo publiée fin juin sur la chaîne <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">YouTube de Clever Cloud</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour nous faire part de votre avis, de vos questions et de vos besoins, rendez-vous sur la section dédiée à Materia de<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> notre espace communautaire GitHub</a>.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="800" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1368x684.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Ils “poussent” leur code, nous le déployons, tout en assurant la mise à jour et la mise en sécurité de l’environnement dans lequel ils fonctionnent avec un objectif : le maintien en conditions opérationnelles. Quelle que soit la situation, leur service répond.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Penser des services simples, robustes et innovants</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous le faisons en garantissant une empreinte minimale au sein de nos serveurs, en proposant une mise à l’échelle horizontale/verticale à la demande ou automatique. Nous pouvons ainsi multiplier les instances ou les faire grossir/réduire selon la charge de vos sites. Cette volonté de simplicité va au-delà des applications, puisque nous disposons également d’une large offre de base de données (BDD) “as-a-service” vous permettant<a href="https://console.clever-cloud.com"> de déployer en quelques secondes</a> des environnements <a href="https://stagingv6.cleverapps.io/fr/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/fr/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/fr/product/postgresql/">PostgreSQL</a> ou <a href="https://stagingv6.cleverapps.io/fr/product/redis/">Redis</a>, avec les mêmes outils et garanties.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces dernières années, nous faisions néanmoins face à des demandes récurrentes : outre la volonté de certains de nos clients d’avoir accès à d’autres solutions, ils nous demandaient régulièrement de disposer des avantages de <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">notre infrastructure répartie sur trois datacenters</a> afin d’obtenir des services à haute disponibilité. Mais dans le domaine des BDD, cela n'est pas toujours simple à mettre en place tout en assurant un bon niveau d’automatisation et la cohérence des données. Nous avons donc décidé de développer notre propre gamme de produits pour y parvenir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le projet “<a href="https://stagingv6.cleverapps.io/fr/materia-serverless/">Materia</a>” était né, reposant sur le moteur transactionnel open source <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>, utilisé, par exemple, par <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> pour ses services iCloud ainsi que par <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. Nous y contribuons et l’adaptons à nos besoins, tout en profitant de son aspect distribué et résilient, notamment du fait de son importante capacité de <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a>. Il nous permet d’imaginer un univers entier de solutions serverless, très simples d’usage, facturées à l'usage, avec des couches de comptabilité que nous développons pour permettre à nos clients de lui “parler” en utilisant des protocoles existants  tels que DynamoDB, GraphQL ou PostgreSQL par exemple.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV accessible à tous</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons commencé par le protocole Redis, afin de mettre en place Materia KV, actuellement en phase de test Alpha. Il s’agit d’une base de données clé-valeur répliquée de manière synchrone sur nos trois datacenters parisiens. Lorsque nos serveurs vous répondent, c’est que votre donnée à été écrite trois fois. Surtout, elle est très simple d’usage : rendez-vous dans notre <a href="https://console.clever-cloud.com">Console</a>, créez un add-on Materia KV, vous obtiendrez instantanément un jeton (token) utilisable avec n’importe quel client Redis ou même en envoyant des commandes à nos serveurs directement via le protocole TCP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, vous pouvez dès maintenant bénéficier d’une solution pour stocker vos données sous la forme de clé-valeur, en haute disponibilité, sans avoir la moindre instance à configurer, sans tarification minimale mensuelle : vous payerez simplement ce que vous consommez. Surtout, nous assurons ce service en compatibilité avec des protocoles existants. Aujourd’hui Redis, demain DynamoDB et GraphQL. La liste des commandes supportées est disponible<a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands"> ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lancée à<a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/04/16/materiadb-kv-functions/"> Devoxx France mi-avril</a>, Materia KV a fait forte impression sur place et lors de nos démonstrations depuis. Nous avons donc décidé de la rendre accessible à tous afin de permettre à l’ensemble de nos clients et des curieux de nous faire part de leurs retours sur son fonctionnement et de leurs besoins. Si la facturation se fera à l’usage à partir de la phase de Beta, pour le moment, c’est gratuit ! N’hésitez pas à tester et<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> à nous donner votre avis</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/users/me/addons/new" target="_blank" rel="noreferrer noopener">Créer un add-on Materia KV</a></div>
<!-- /wp:button -->

<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/materia-kv/" target="_blank" rel="noreferrer noopener">La documentation de Materia KV</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Déjà intégré à nos outils et interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV est bien entendu accessible via un addon-provider au sein<a href="https://developers.clever-cloud.com/api/"> de notre API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs/" target="_blank" rel="noreferrer noopener">Terraform</a> (ou OpenTofu par exemple), mais aussi de notre CLI, les<a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener"> Clever Tools</a>. Pour créer un jeton d’accès il suffit de lancer la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv NAME</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cet add-on pourra être lié directement à une application Clever Cloud où ses variables d’environnement seront injectées. Mais vous pouvez également l’utiliser depuis n’importe quel service tiers, un client en ligne de commande (CLI) ou avec interface graphique (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Alors que le développement de Materia KV et de ses différentes interfaces va se faire sur la durée, nous avons commencé à réfléchir à son intégration au sein des Clever Tools. Ainsi, une branche de test, disponible<a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener"> sous la forme de binaires</a> et<a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener"> documentée</a>, propose une commande <code>clever kv</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec elle, vous pouvez directement envoyer des requêtes à Materia KV en ayant la variable d’environnement configurée localement, ou en indiquant un ID dans vos commandes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># With Bash and Zsh
source <(clever addon env ADDON_ID --export)
# With Fish
clever addon env ADDON_ID --export | source

clever kv PING # PONG
clever kv set yourKey theValue
clever kv get yourKey</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comme cette version de démonstration ne gère pas l’ensemble des commandes gérées par Materia KV, vous pouvez lui envoyer une commande “brute”, elle vous renverra alors la réponse :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv redis_raw 'hset key field1 value1 field2 value2' # 2
clever kv redis_raw 'hget key field2'                      # value2
clever kv redis_raw 'hgetall key'                          # the full hash</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour démontrer les possibilités d’une telle intégration, vous avez également la possibilité de faire directement des requêtes sur un objet JSON stocké dans une clé :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv set simpleJson '{"key": "value"}' # the set data
clever kv getJson simpleJson key            # value
clever kv set jsonKey '[{"key": "value"}, {"bigKey": {"subKey1": "subValue1","subKey2": "subValue2"}}]'
clever kv getjson jsonKey bigKey.subKey2    # subValue1
clever kv getjson jsonKey ''                # the full JSON</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour montrer à quel point de telles intégrations sont simples, nous avons mis à votre disposition un client Materia KV écrit<a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener"> en Go</a> en utilisant Go-Redis. Si vous souhaitez plutôt comprendre comment vous pouvez envoyer des commandes et recevoir des réponses de Materia KV directement en TCP, vous trouverez des exemples,<a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener"> en V</a> ou<a href="https://gist.github.com/davlgd/6762660218a82646ba648242aa1e4548"> en Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>N’hésitez pas à proposer les vôtres et à nous le faire savoir ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une démonstration sur Twitch de Materia KV, un espace communautaire</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12684,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/06/2024-06-05--clever-cloud--twitch--thumbnail--materia-kv--fr-1024x576.png" alt="Une démonstration en direct sur Twitch aura lieu le mardi 18 juin 2024 à 13h15 avec nos hosts Horacio González (LostInBrittany) et Yannick Guern (Akanoa)." class="wp-image-12684"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Envie d’en savoir plus ? Horacio González, notre DevRel en chef, fera une démonstration<a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener"> sur Twitch</a> mardi 18 juin à 13h15. Pierre Zemb, créateur de Materia chez Clever Cloud, échangera également avec notre CTO Steven Le Roux dans une vidéo publiée fin juin sur la chaîne <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">YouTube de Clever Cloud</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour nous faire part de votre avis, de vos questions et de vos besoins, rendez-vous sur la section dédiée à Materia de<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> notre espace communautaire GitHub</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Métriques : archiver des milliards de points chaque mois</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2024/04/04/metriques-archiver-milliards-de-points-tous-les-mois/</link>
		
		<dc:creator><![CDATA[Alexandre Burgoni]]></dc:creator>
		<pubDate>Thu, 04 Apr 2024 14:39:47 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12044</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Pour nous assurer que chaque Clever App ait assez de ressources pour fonctionner, nous utilisons les métriques comme indicateur pour augmenter ou non le nombre d'instances d'une application.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces métriques, comme toutes celles de notre infrastructure interne, sont stockées dans une base de données time serie. Avec une croissance de 2 To par semaine, nous devons penser au cycle de vie de chaque métrique. Puisque nous ne souhaitons pas la supprimer, nous avons mis en place une solution d'archivage automatisée à partir de <a href="https://stagingv6.cleverapps.io/fr/product/stockage-objet-cellar/">Cellar</a>.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Avec plusieurs milliers d'applications clientes, et plusieurs centaines pour des usages internes, nous avions besoin d'un moyen permettant d’accepter des centaines de milliers de points par seconde.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En production depuis octobre 2023, notre cluster <strong>warp10-c2</strong> permet de répondre à ce besoin. Basé sur <a href="https://warp10.io/">Warp10</a> et grâce à sa couche de stockage utilisant <a href="https://www.foundationdb.org/">FoundationDB</a>, nous sommes capables de tenir la charge face à des piques d'ingestions de plus de 500 000 points/seconde tout en permettant de lire 5 millions de points/seconde.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un cluster en constante linéaire</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Bien avant de pouvoir mettre en place cette stratégie d’archivage, notre équipe data a été confrontée à bon nombre de problèmes depuis la mise en production de c2.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tout d’abord, pendant les premières semaines, le cluster a subi des problèmes de performances. Afin de pouvoir se concentrer sur ces derniers, nous avons continuellement ajouté de l’espace de stockage physique. Dès lors que ces problèmes de stabilité furent résolus, en ajoutant des nœuds permettant d’augmenter notre capacité de stockage, nous avons fait face à de nouveaux problèmes de ressources. Cette fois-ci liés au CPU et à la RAM. Et puisque nous n’avons pas des ressources infinies, nous avons gagner en capacité de stockage sans perte d’informations.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>La solution la plus naïve serait de sélectionner continuellement toutes les séries et points, et de les réécrire dans Cellar sans apporter de changement. Bien que c2 soit capable de gérer des millions de lectures par seconde, nous parlons ici de milliards de points. Même avec des machines de requêtes dédiées, cela aurait entraîné des problèmes de performances provenant de notre couche de stockage. De plus, nous aurons un espace disque utilisé similaire à celui des données dans le stockage à chaud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une seconde manière de procéder serait de réduire la résolution des métriques, plutôt que d’avoir des informations avec une précision à la seconde, la réduire pour avoir la moyenne sur une heure ou une journée. Cette stratégie amène beaucoup plus de questions que de réponses, comme :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Que faire des extremums dans une série, doivent-ils être supprimés ou conservés ?&nbsp;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment savoir depuis combien de temps une application fonctionne ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Doit-on appliquer cette stratégie sur nos applications internes, doit-on les traiter au cas par cas ?</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Cette solution aurait exigé trop d’efforts dans un système qui aurait tout de même des défauts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, la dernière stratégie consiste à utiliser l’extension Warp10 HFiles, une extension vendue par l'éditeur du logiciel permettant de générer des fichiers compacts de manière efficiente, avec des capacités de chiffrement. Cette solution peut nous aider à avoir un taux de compression fort en garantissant zéro perte, transformant des téraoctets de données en quelques dizaines de gigaoctets. Ce fort ratio de compression est notamment dû au fait que le nombre de valeurs qu’un point peut prendre est rarement infini, un pourcentage d’utilisation CPU par exemple ne peut avoir qu’un nombre fini de valeurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En février 2024, nous avons choisi cette troisième stratégie comme solution à notre problème. Cependant, nous avons dû mettre en place tout un workflow automatisé autour de cette extension afin de ne pas avoir à exécuter cette tâche manuellement chaque mois.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Automatiser le processus</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avant d’aborder la manière dont nous avons rendu cela possible, une brève introduction aux HFiles est nécessaire afin de mieux comprendre pourquoi nous avons procédé ainsi. Ensuite, nous explorons la mise en place de l’orchestrateur de workflow que nous utilisions pour automatiser le processus. Enfin, nous partagerons les chiffres du lancement de ce processus d’archivage.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Introduction aux HFiles de Warp10</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Un "HFile" est une extension de fichier proposé par l’extension Warp10 HFiles. Le processus de génération d’un HFile est assez simple. Tout d’abord, nous l’extension va générer un cache local avec toutes les séries qui doivent être archivées en se basant sur des critères de sélection donnés par l’utilisateur. Pour chacune des séries, l’extension va récupérer tous les points dans une plage de temps spécifiée, tout en compressant continuellement ces points. Au travers de plusieurs expérimentations, nous savons que ce processus peut facilement prendre beaucoup de temps, parfois plusieurs jours.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cependant, avec des paramètres et des critères de sélection spécifiques, nous sommes capables de générer des HFiles en quelques heures. Ces générations sont synchrones, ce qui signifie que vous devez conserver une connexion HTTP ouverte avec la machine exécutant la génération.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons principalement ajusté trois paramètres afin d'optimiser le temps de traitement :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Plage temporelle des points</strong> : elle permet de récupérer uniquement des points de données entre deux dates ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Parallélisation</strong> : puisqu’une génération peut prendre plusieurs heures, nous pouvons paralléliser plusieurs exécution afin d’optimiser une mieux nos capacités de génération ;</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Nombre de séries</strong> : parce que pour chaque série dans le cache, l’extension essaiera de récupérer les données liées (même si la série est vide dans la plage de temps spécifiée), réduire le nombre de série dans le cache permet de limiter le nombre de requêtes au système de stockage.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Que signifie une « série » ?</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une série, aussi appelée GTS (“Geo Time Serie”) dans le contexte de Warp10 est un nom unique sous lequel sont enregistrés des points de données. Une série est composée d’un nom de métrique et de labels permettant de donner du contexte. Par exemple, pour une Clever App, une série qui contient la consommation du processeur serait cpu.usage_guest{app_id='app_87e33fea-9dde-4a99-b347-674de382ff7b'}.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans notre cluster c2, nous avons plus de 150 millions de séries uniques.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">L'orchestrateur de workflow</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour permettre un archivage de manière automatisée, nous étions à la recherche d’un outil répondant aux contraintes suivantes :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Planification : pour éviter de devoir déclencher l'action manuellement chaque mois ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Retry et failover : en cas d'échec d'une génération de HFile, il doit pouvoir réessayer, ou si un nœud du système crash, l’outil doit pouvoir reprendre la ou il s’était arrêté ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Alerting : lorsque plusieurs tentatives ne suffisent pas, nous devons être informé par un message Slack que le système n’a pas réussi de générer un HFile;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Capacité à exécuter de longues tâches : comme nous le savons, nos générations peuvent prendre plusieurs heures, il ne faut donc pas que l’outil empêche cela.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Après avoir essayé plusieurs outils d’orchestration, notre avis final s’est placé sur <a href="https://github.com/kestra-io/kestra">Kestra</a>. Un outil Open Source qui répond à toutes nos contraintes et à notre besoin. Déployé en tant que Clever App, nous avons pu mettre en place des workflows qui minimisent le temps de génération d’un HFile en utilisant nos paramètres optimisés. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":12052,"width":"603px","height":"auto","sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full is-resized"><img src="https://cdn.clever-cloud.com/uploads/2024/04/image.png" alt="" class="wp-image-12052" style="width:603px;height:auto" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Fin février, nous avons terminé notre workflow complet de génération de HFile, comme le montre le schéma ci-dessus, il est plutôt simple, mais très efficace. Jusqu'à présent, il a été exécuté sur les données du mois de Novembre, sans supprimer les données. Il s’agissait d’un test qui nous a permis d’avoir suffisamment confiance en Kestra pour permettre de valider nos dernières interrogations. Nous avons ensuite exécuté la suppression manuellement, afin de s’assurer qu’il n’y ait pas d’effet de bord, ou d’oublis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Aujourd’hui, la génération des HFiles et la suppression des données est complètement automatisée grâce à <a href="https://github.com/kestra-io/kestra">Kestra</a>. Même si notre utilisation de l’outil est assez simple, nous avons l’ambition de l’utiliser pour de nouveaux cas à l'avenir.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Chiffres sur les métriques du mois de Novembre 2023</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Début Mars, nous avons lancé notre premier archivage, avec succès. Cet archivage est basé sur le mois de Novembre puisque nous souhaitons garder 3 mois de mesures disponibles.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce premier mois est particulier puisque c2 a été mis en production fin octobre, et toutes les applications clientes de Clever Cloud ont dû être redéployées pour utiliser le nouveau cluster. Cela signifie que les chiffres suivants comportent un nombre de séries et de points plus élevé que les mois qui suivront.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons archivé plus de 22 milliards de points provenant de plus de 33 millions de séries. Ces séries et points utilisaient environ 20 To d’espace disque. Une fois compressé, nous sommes rendus à 20 Go. Une chose importante à noter est que les données dans le cluster sont chiffrées, ce qui signifie que la taille d’un point est plusieurs fois celle du vrai point, puisque nous appliquons un algorithme de chiffrement.</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://stagingv6.cleverapps.io/fr/contact/">Contactez-nous</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-3-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Pour nous assurer que chaque Clever App ait assez de ressources pour fonctionner, nous utilisons les métriques comme indicateur pour augmenter ou non le nombre d'instances d'une application.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces métriques, comme toutes celles de notre infrastructure interne, sont stockées dans une base de données time serie. Avec une croissance de 2 To par semaine, nous devons penser au cycle de vie de chaque métrique. Puisque nous ne souhaitons pas la supprimer, nous avons mis en place une solution d'archivage automatisée à partir de <a href="https://stagingv6.cleverapps.io/fr/product/stockage-objet-cellar/">Cellar</a>.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Avec plusieurs milliers d'applications clientes, et plusieurs centaines pour des usages internes, nous avions besoin d'un moyen permettant d’accepter des centaines de milliers de points par seconde.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En production depuis octobre 2023, notre cluster <strong>warp10-c2</strong> permet de répondre à ce besoin. Basé sur <a href="https://warp10.io/">Warp10</a> et grâce à sa couche de stockage utilisant <a href="https://www.foundationdb.org/">FoundationDB</a>, nous sommes capables de tenir la charge face à des piques d'ingestions de plus de 500 000 points/seconde tout en permettant de lire 5 millions de points/seconde.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un cluster en constante linéaire</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Bien avant de pouvoir mettre en place cette stratégie d’archivage, notre équipe data a été confrontée à bon nombre de problèmes depuis la mise en production de c2.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tout d’abord, pendant les premières semaines, le cluster a subi des problèmes de performances. Afin de pouvoir se concentrer sur ces derniers, nous avons continuellement ajouté de l’espace de stockage physique. Dès lors que ces problèmes de stabilité furent résolus, en ajoutant des nœuds permettant d’augmenter notre capacité de stockage, nous avons fait face à de nouveaux problèmes de ressources. Cette fois-ci liés au CPU et à la RAM. Et puisque nous n’avons pas des ressources infinies, nous avons gagner en capacité de stockage sans perte d’informations.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>La solution la plus naïve serait de sélectionner continuellement toutes les séries et points, et de les réécrire dans Cellar sans apporter de changement. Bien que c2 soit capable de gérer des millions de lectures par seconde, nous parlons ici de milliards de points. Même avec des machines de requêtes dédiées, cela aurait entraîné des problèmes de performances provenant de notre couche de stockage. De plus, nous aurons un espace disque utilisé similaire à celui des données dans le stockage à chaud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une seconde manière de procéder serait de réduire la résolution des métriques, plutôt que d’avoir des informations avec une précision à la seconde, la réduire pour avoir la moyenne sur une heure ou une journée. Cette stratégie amène beaucoup plus de questions que de réponses, comme :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Que faire des extremums dans une série, doivent-ils être supprimés ou conservés ?&nbsp;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment savoir depuis combien de temps une application fonctionne ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Doit-on appliquer cette stratégie sur nos applications internes, doit-on les traiter au cas par cas ?</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Cette solution aurait exigé trop d’efforts dans un système qui aurait tout de même des défauts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enfin, la dernière stratégie consiste à utiliser l’extension Warp10 HFiles, une extension vendue par l'éditeur du logiciel permettant de générer des fichiers compacts de manière efficiente, avec des capacités de chiffrement. Cette solution peut nous aider à avoir un taux de compression fort en garantissant zéro perte, transformant des téraoctets de données en quelques dizaines de gigaoctets. Ce fort ratio de compression est notamment dû au fait que le nombre de valeurs qu’un point peut prendre est rarement infini, un pourcentage d’utilisation CPU par exemple ne peut avoir qu’un nombre fini de valeurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En février 2024, nous avons choisi cette troisième stratégie comme solution à notre problème. Cependant, nous avons dû mettre en place tout un workflow automatisé autour de cette extension afin de ne pas avoir à exécuter cette tâche manuellement chaque mois.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Automatiser le processus</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Avant d’aborder la manière dont nous avons rendu cela possible, une brève introduction aux HFiles est nécessaire afin de mieux comprendre pourquoi nous avons procédé ainsi. Ensuite, nous explorons la mise en place de l’orchestrateur de workflow que nous utilisions pour automatiser le processus. Enfin, nous partagerons les chiffres du lancement de ce processus d’archivage.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Introduction aux HFiles de Warp10</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Un "HFile" est une extension de fichier proposé par l’extension Warp10 HFiles. Le processus de génération d’un HFile est assez simple. Tout d’abord, nous l’extension va générer un cache local avec toutes les séries qui doivent être archivées en se basant sur des critères de sélection donnés par l’utilisateur. Pour chacune des séries, l’extension va récupérer tous les points dans une plage de temps spécifiée, tout en compressant continuellement ces points. Au travers de plusieurs expérimentations, nous savons que ce processus peut facilement prendre beaucoup de temps, parfois plusieurs jours.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cependant, avec des paramètres et des critères de sélection spécifiques, nous sommes capables de générer des HFiles en quelques heures. Ces générations sont synchrones, ce qui signifie que vous devez conserver une connexion HTTP ouverte avec la machine exécutant la génération.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons principalement ajusté trois paramètres afin d'optimiser le temps de traitement :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Plage temporelle des points</strong> : elle permet de récupérer uniquement des points de données entre deux dates ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Parallélisation</strong> : puisqu’une génération peut prendre plusieurs heures, nous pouvons paralléliser plusieurs exécution afin d’optimiser une mieux nos capacités de génération ;</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><strong>Nombre de séries</strong> : parce que pour chaque série dans le cache, l’extension essaiera de récupérer les données liées (même si la série est vide dans la plage de temps spécifiée), réduire le nombre de série dans le cache permet de limiter le nombre de requêtes au système de stockage.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Que signifie une « série » ?</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une série, aussi appelée GTS (“Geo Time Serie”) dans le contexte de Warp10 est un nom unique sous lequel sont enregistrés des points de données. Une série est composée d’un nom de métrique et de labels permettant de donner du contexte. Par exemple, pour une Clever App, une série qui contient la consommation du processeur serait cpu.usage_guest{app_id='app_87e33fea-9dde-4a99-b347-674de382ff7b'}.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans notre cluster c2, nous avons plus de 150 millions de séries uniques.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">L'orchestrateur de workflow</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour permettre un archivage de manière automatisée, nous étions à la recherche d’un outil répondant aux contraintes suivantes :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Planification : pour éviter de devoir déclencher l'action manuellement chaque mois ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Retry et failover : en cas d'échec d'une génération de HFile, il doit pouvoir réessayer, ou si un nœud du système crash, l’outil doit pouvoir reprendre la ou il s’était arrêté ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Alerting : lorsque plusieurs tentatives ne suffisent pas, nous devons être informé par un message Slack que le système n’a pas réussi de générer un HFile;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Capacité à exécuter de longues tâches : comme nous le savons, nos générations peuvent prendre plusieurs heures, il ne faut donc pas que l’outil empêche cela.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Après avoir essayé plusieurs outils d’orchestration, notre avis final s’est placé sur <a href="https://github.com/kestra-io/kestra">Kestra</a>. Un outil Open Source qui répond à toutes nos contraintes et à notre besoin. Déployé en tant que Clever App, nous avons pu mettre en place des workflows qui minimisent le temps de génération d’un HFile en utilisant nos paramètres optimisés. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":12052,"width":"603px","height":"auto","sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full is-resized"><img src="https://cdn.clever-cloud.com/uploads/2024/04/image.png" alt="" class="wp-image-12052" style="width:603px;height:auto" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Fin février, nous avons terminé notre workflow complet de génération de HFile, comme le montre le schéma ci-dessus, il est plutôt simple, mais très efficace. Jusqu'à présent, il a été exécuté sur les données du mois de Novembre, sans supprimer les données. Il s’agissait d’un test qui nous a permis d’avoir suffisamment confiance en Kestra pour permettre de valider nos dernières interrogations. Nous avons ensuite exécuté la suppression manuellement, afin de s’assurer qu’il n’y ait pas d’effet de bord, ou d’oublis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Aujourd’hui, la génération des HFiles et la suppression des données est complètement automatisée grâce à <a href="https://github.com/kestra-io/kestra">Kestra</a>. Même si notre utilisation de l’outil est assez simple, nous avons l’ambition de l’utiliser pour de nouveaux cas à l'avenir.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Chiffres sur les métriques du mois de Novembre 2023</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Début Mars, nous avons lancé notre premier archivage, avec succès. Cet archivage est basé sur le mois de Novembre puisque nous souhaitons garder 3 mois de mesures disponibles.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce premier mois est particulier puisque c2 a été mis en production fin octobre, et toutes les applications clientes de Clever Cloud ont dû être redéployées pour utiliser le nouveau cluster. Cela signifie que les chiffres suivants comportent un nombre de séries et de points plus élevé que les mois qui suivront.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons archivé plus de 22 milliards de points provenant de plus de 33 millions de séries. Ces séries et points utilisaient environ 20 To d’espace disque. Une fois compressé, nous sommes rendus à 20 Go. Une chose importante à noter est que les données dans le cluster sont chiffrées, ce qui signifie que la taille d’un point est plusieurs fois celle du vrai point, puisque nous appliquons un algorithme de chiffrement.</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://stagingv6.cleverapps.io/fr/contact/">Contactez-nous</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud ouvre une nouvelle zone HDS à Gravelines</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/02/14/clever-cloud-ouvre-une-nouvelle-zone-hds-a-gravelines/</link>
		
		<dc:creator><![CDATA[Carine Guillemet]]></dc:creator>
		<pubDate>Wed, 14 Feb 2024 14:34:05 +0000</pubDate>
				<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Engineering]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=11801</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banniere graveline hds" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Vous le savez, vous pouvez déployer vos applications et add-ons via Clever Cloud, sur des serveurs OVHcloud, à Roubaix, certifiés Hébergement de Données de Santé (HDS), sur les volets 1 et 2 de la norme. Nous fournissons également un service de stockage objet (Cellar) à partir d'un cluster constitué  de tels serveurs à Roubaix et Gravelines (séparés par une centaine de kilomètres), accessible en tant que région <code>fr-north-hds</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces derniers temps, nous avions  une demande grandissante sur l'ouverture d'une zone HDS à Gravelines, tant  pour des applications et des add-ons. Nos équipes ont donc travaillé pour vous permettre de déployer  sur des serveurs certifiés HDS sur cette zone, à partir de <code><a href="https://github.com/CleverCloud/clever-tools">clever-tools</a></code> ou de <a href="https://console.clever-cloud.com/">la Console</a> en tant que <code>grahds</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Parfait pour offrir de la redondance à vos applications traitant des données de santé !</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous profitons de cet article pour vous rappeler que les services et infrastructures de Clever Cloud ont obtenu la certification ISO 9001 l'année dernière. Nous attendons par ailleurs  l'approbation définitive de l'ISO 27001. Enfin, la certification HDS et la qualification SecNumCloud seront nos prochains chantiers.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banniere graveline hds" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/02/gravelineshdsfr-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Vous le savez, vous pouvez déployer vos applications et add-ons via Clever Cloud, sur des serveurs OVHcloud, à Roubaix, certifiés Hébergement de Données de Santé (HDS), sur les volets 1 et 2 de la norme. Nous fournissons également un service de stockage objet (Cellar) à partir d'un cluster constitué  de tels serveurs à Roubaix et Gravelines (séparés par une centaine de kilomètres), accessible en tant que région <code>fr-north-hds</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces derniers temps, nous avions  une demande grandissante sur l'ouverture d'une zone HDS à Gravelines, tant  pour des applications et des add-ons. Nos équipes ont donc travaillé pour vous permettre de déployer  sur des serveurs certifiés HDS sur cette zone, à partir de <code><a href="https://github.com/CleverCloud/clever-tools">clever-tools</a></code> ou de <a href="https://console.clever-cloud.com/">la Console</a> en tant que <code>grahds</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Parfait pour offrir de la redondance à vos applications traitant des données de santé !</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous profitons de cet article pour vous rappeler que les services et infrastructures de Clever Cloud ont obtenu la certification ISO 9001 l'année dernière. Nous attendons par ailleurs  l'approbation définitive de l'ISO 27001. Enfin, la certification HDS et la qualification SecNumCloud seront nos prochains chantiers.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Déployez llama, mistral, openchat ou votre propre modèle sur Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2023/11/27/deployez-llama-mistral-openchat-ou-votre-propre-modele-sur-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Mon, 27 Nov 2023 09:22:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[IA]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=11187</guid>

					<description><![CDATA[<p><img width="900" height="355" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Bannière de blog pour illustrer le déploiement d&#039;IA sur Clever Cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc.png 900w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc-768x303.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p><!-- wp:paragraph -->
<p><strong>Si l'IA fait parler d'elle ces derniers temps, c'est notamment au travers des larges modèles de langages (LLMs)  qui nécessitent une puissance de calcul conséquente pour leur entrainement ou leur exécution. Ainsi, il est courant de voir les développeurs y recourir à travers des API clés en main, comme nous l'avions fait <a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2023/10/11/deployez-un-chatgpt-personnalise-base-sur-php/">dans un précédent article</a>. Mais cela change grâce à des modèles et outils plus ouverts et efficaces, que vous pouvez très facilement déployer sur Clever Cloud.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En effet, si notre plateforme a été pensée pour certains usages, nous avons toujours accordé une grande importance à sa flexibilité et à la liberté laissée à nos clients. Ils peuvent ainsi aisément l'exploiter pour attaquer de nouveaux marchés, avec très peu de travail d'adaptation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour le vérifier, nous avons récemment tenté de déployer des modèles d'IA open source tels que ceux dérivés de LLaMA et Mistral. Ils ont pour particularité d'exister dans des versions allégées, ne nécessitant pas forcément de GPU pour fonctionner. Ainsi, il est possible de les héberger comme de simples applications Clever Cloud, tant qu'assez de mémoire leur est attribuée.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Let's ollama (avec une interface web) !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cela, nous avons choisi d'utiliser <a href="https://github.com/jmorganca/ollama" target="_blank" rel="noreferrer noopener">ollama</a>, un projet sous licence MIT qui permet de télécharger des modèles disponibles depuis <a href="https://ollama.ai/library">un registre</a> ou même <a href="https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md" target="_blank" rel="noreferrer noopener">les vôtres</a>. Il prend la forme d'un serveur qui communique via une API, très simple à héberger sur nos infrastructures.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://api.clever-cloud.com/v2/session/signup">Créer un compte Clever Cloud</a>&nbsp;(et obtenir 20 euros de crédits)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour commencer, vous devrez disposer d'un compte Clever Cloud. Vous pouvez créer l'application et suivre les étapes suivantes en utilisant notre interface web,<a href="https://console.clever-cloud.com"> la Console</a>, mais aussi à travers notre CLI open source : <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>. C'est ce que nous ferons ci-dessous. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous partirons ainsi du principe que vous disposez d’une machine avec&nbsp;<a href="https://git-scm.com/book/fr/v2/D%C3%A9marrage-rapide-Installation-de-Git" target="_blank" rel="noreferrer noopener">git</a>&nbsp;et&nbsp;<a href="https://nodejs.org/en/learn/getting-started/how-to-install-nodejs" target="_blank" rel="noreferrer noopener">Node.js</a>&nbsp;dans une version récente. Si vous n’avez pas encore installé les Clever Tools sur votre système, tapez (avec les droits administrateur de votre système ou&nbsp;<code>sudo</code>&nbsp;si nécessaire) :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm i -g clever-tools
clever login</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois connecté, vous pourrez vérifier que tout s’est bien passé avec la commande suivante :</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Ensuite, nous créons une application Clever Cloud avec Node.js. Elle installera ollama pour télécharger et exécuter nos modèles, en lui ajoutant avec une interface web (<a href="https://github.com/ivanfioravanti/chatbot-ollama" target="_blank" rel="noreferrer noopener">chatbot-ollama</a>, également sous licence MIT) qui nous permettra d'interroger le serveur depuis n'importe quel navigateur, exécuté depuis un ordinateur ou même un simple smartphone.  </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":11239,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image alignwide size-full"><a href="https://cdn.clever-cloud.com/uploads/2023/11/sans-titre-1-scaled.webp" target="_blank" rel="noreferrer noopener"><img src="https://cdn.clever-cloud.com/uploads/2023/11/sans-titre-1-scaled.webp" alt="Chatbot Ollama" class="wp-image-11239" title="Chatbot Ollama"/></a></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Cette solution a également l'intérêt de stocker les conversations localement, dans le navigateur. Elle ne nécessite donc pas de base de données, mais propose une fonction d'import/export. On peut également choisir entre différents modèles, régler certains de leurs paramètres, configurer des instructions système, différents prompts, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">mkdir myollama && cd myollama
git init
curl -L https://github.com/ivanfioravanti/chatbot-ollama/archive/refs/heads/main.tar.gz | tar -xz --strip-components=1

clever create -t node myollama && clever scale --flavor L
clever env set CC_POST_BUILD_HOOK "npx next telemetry disable && npm run build"
clever env set CC_PRE_BUILD_HOOK "./ollama_setup.sh"
clever env set CC_PRE_RUN_HOOK "./ollama_start.sh"

echo "orca-mini" > models.list
echo "mistral" >> models.list
echo "codellama" >> models.list</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Le code ci-dessus créé l'application. Nous y ajoutons un fichier qui contiendra la liste des modèles à récupérer lors de son initialisation. Nous optons pour une instance L, la taille minimale pour charger de tels modèles en mémoire. On déclare ensuite plusieurs variables d'environnement pour lancer des scripts afin d'installer ollama, démarrer le serveur et désactiver la télémétrie du framework Next.js, utilisé pour construire l'interface web après l'installation des dépendances.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ajoutons quelques scripts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre application est presque prête. Il nous reste en effet à créer deux fichiers, exécutables :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">touch ollama_setup.sh && chmod +x ollama_setup.sh
touch ollama_start.sh && chmod +x ollama_start.sh</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p><code>ollama_setup.sh</code> télécharge le binaire d'ollama puis les modèles de notre liste. Ouvrez-le avec l'éditeur de votre choix et placez-y le contenu suivant :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">#!/bin/bash

# We define the folder (in $PATH), where the ollama binary will be placed
BIN_DIR=${HOME}/.local/bin
mkdir -p ${BIN_DIR} 

ollama_start() {
    echo "Downloading and launching ollama..."
    curl -Ls https://ollama.ai/download/ollama-linux-amd64 -o ${BIN_DIR}/ollama
    chmod +x ${BIN_DIR}/ollama
    ollama serve &> /dev/null &
    echo -e "Finished: \033[32m✔\033[0m\n"
}

get_models() {
    MODELS_FILE="models.list"
    MODELS_DEFAULT="orca-mini"

    # We check if the models file exists
    if [ ! -f ${MODELS_FILE} ]; then
        echo "File ${MODELS_FILE} not found, ${MODELS_DEFAULT} used by default."
        echo ${MODELS_DEFAULT} > ${MODELS_FILE}
    fi

    # Loop through each line and pull model
    while IFS= read -r line; do
        echo "Pulling ${line} model..."
        ollama pull "${line}" > /dev/null 2>&1
        echo -e "Finished: \033[32m✔\033[0m\n"

    done < ${MODELS_FILE}
}

# We start ollama, and wait for it to respond
ollama_start
if [ $? -ne 0 ]; then
    echo -e "\nError during ollama setup."
    exit 1
fi

count=0
MAX_TIME=10

while ! pgrep -x "ollama" > /dev/null; do
    if [ ${count} -lt ${MAX_TIME} ]; then
        sleep 1
        count=$((count+1))
    else
        echo "Application 'ollama' did not launch within 10 seconds."
        exit 1
    fi
done

get_models
if [ $? -ne 0 ]; then
    echo -e "\nError during models downloading."
    exit 1
fi
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Ce code peut paraître un peu long, mais c'est notamment parce que nous l'avons rendu modulaire, en n'écrivant dans les logs que les étapes réussies ou les éventuelles erreurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>ollama_start.sh</code> détecte si le serveur ollama est déjà présent avant de démarrer l'interface web. Si ce n'est pas le cas, on le lance en tâche de fond (nous verrons plus bas pourquoi). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ouvrez-le avec l'éditeur de votre choix et placez-y le contenu suivant :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">if ! pgrep -f "ollama" > /dev/null; then
    # If 'ollama' is not running, start it in the background
    ollama serve &
    echo "Application 'ollama' started."
else
    # If 'ollama' is already running
    echo "'ollama' application is already running."
fi
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois ces deux fichiers créés, on peut déployer notre application : </p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">git add . && git commit -m "Init application"
clever deploy
clever domain</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous verrez alors le domaine pour accéder à votre application (que vous pouvez personnaliser).</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cache et (re)démarrage rapide</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Utiliser Clever Cloud, ce n'est pas simplement déployer facilement une telle application, disposer de logs et de monitoring, pouvoir changer instantanément son scaling horizontal et/ou vertical. C'est aussi pouvoir en faire une image prête à redéployer très rapidement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En effet, toute application que nous hébergeons est stockée sous la forme d'une archive constituée juste avant l'installation des dépendances. Elle peut ainsi être arrêtée et de rédémarrée sous cette forme, ce qui nous permet de ne pas retélécharger les modèles à chaque fois. Pour cela, il suffit d'indiquer les dossiers à ajouter à l'archive :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever env set CC_OVERRIDE_BUILDCACHE "/:../.ollama/:../.local/bin/"
clever restart --without-cache --follow</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>L'application redémarrera, mais prendra cette fois les l'interface web construite, ollama et les modèles dans son cache, les étapes <code>CC_PRE_BUILD_HOOK</code> et <code>CC_PRE_BUILD_HOOK</code> n'étant pas exécutées. C'est notamment pour cela que nous devons nous assurer que l'on démarre bien le serveur ollama avec <code>CC_PRE_RUN_HOOK</code>, mais que l'on vérifie que cela n'a pas déjà été fait lors d'un démarrage classique; où il est utilisé pour télécharger les modèles avant de les exécuter.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dès que cette étape est terminée, vous pouvez arrêter l'application et la redémarrer lorsque vous voulez, cela sera désormais bien plus rapide. Et vous ne serez facturé que le temps de son usage, à la seconde. Si vous voulez modifier la liste des modèles à utiliser, faites le dans le fichier prévu à cet effet, un <em>git push</em> suffira à reconstituer le nouveau cache.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># Stop/Restart the application
clever stop
clever restart

# After a modification in models.list, git push to recreate the cache
git add models.list && git commit -m "New models" 
clever deploy</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous retrouverez le fichiers nécessaires à ce projet dans <a href="https://github.com/CleverCloud/ollama-chat-deploy" target="_blank" rel="noreferrer noopener">ce dépôt GitHub</a>, avec les variables d'environnement prêtes à importer (<code>clever env import &lt; .env</code>). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et si jamais vous voulez aller plus loin en déployant d'autres modèles et outils pour vos applications, qui nécessitent plus de puissance et/ou du GPU, <a href="https://stagingv6.cleverapps.io/fr/contact/">faites-le nous savoir</a> !</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="900" height="355" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Bannière de blog pour illustrer le déploiement d&#039;IA sur Clever Cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc.png 900w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/11/deploiementiasurcc-768x303.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p><!-- wp:paragraph -->
<p><strong>Si l'IA fait parler d'elle ces derniers temps, c'est notamment au travers des larges modèles de langages (LLMs)  qui nécessitent une puissance de calcul conséquente pour leur entrainement ou leur exécution. Ainsi, il est courant de voir les développeurs y recourir à travers des API clés en main, comme nous l'avions fait <a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2023/10/11/deployez-un-chatgpt-personnalise-base-sur-php/">dans un précédent article</a>. Mais cela change grâce à des modèles et outils plus ouverts et efficaces, que vous pouvez très facilement déployer sur Clever Cloud.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En effet, si notre plateforme a été pensée pour certains usages, nous avons toujours accordé une grande importance à sa flexibilité et à la liberté laissée à nos clients. Ils peuvent ainsi aisément l'exploiter pour attaquer de nouveaux marchés, avec très peu de travail d'adaptation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour le vérifier, nous avons récemment tenté de déployer des modèles d'IA open source tels que ceux dérivés de LLaMA et Mistral. Ils ont pour particularité d'exister dans des versions allégées, ne nécessitant pas forcément de GPU pour fonctionner. Ainsi, il est possible de les héberger comme de simples applications Clever Cloud, tant qu'assez de mémoire leur est attribuée.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Let's ollama (avec une interface web) !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cela, nous avons choisi d'utiliser <a href="https://github.com/jmorganca/ollama" target="_blank" rel="noreferrer noopener">ollama</a>, un projet sous licence MIT qui permet de télécharger des modèles disponibles depuis <a href="https://ollama.ai/library">un registre</a> ou même <a href="https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md" target="_blank" rel="noreferrer noopener">les vôtres</a>. Il prend la forme d'un serveur qui communique via une API, très simple à héberger sur nos infrastructures.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://api.clever-cloud.com/v2/session/signup">Créer un compte Clever Cloud</a>&nbsp;(et obtenir 20 euros de crédits)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour commencer, vous devrez disposer d'un compte Clever Cloud. Vous pouvez créer l'application et suivre les étapes suivantes en utilisant notre interface web,<a href="https://console.clever-cloud.com"> la Console</a>, mais aussi à travers notre CLI open source : <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>. C'est ce que nous ferons ci-dessous. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous partirons ainsi du principe que vous disposez d’une machine avec&nbsp;<a href="https://git-scm.com/book/fr/v2/D%C3%A9marrage-rapide-Installation-de-Git" target="_blank" rel="noreferrer noopener">git</a>&nbsp;et&nbsp;<a href="https://nodejs.org/en/learn/getting-started/how-to-install-nodejs" target="_blank" rel="noreferrer noopener">Node.js</a>&nbsp;dans une version récente. Si vous n’avez pas encore installé les Clever Tools sur votre système, tapez (avec les droits administrateur de votre système ou&nbsp;<code>sudo</code>&nbsp;si nécessaire) :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm i -g clever-tools
clever login</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois connecté, vous pourrez vérifier que tout s’est bien passé avec la commande suivante :</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Ensuite, nous créons une application Clever Cloud avec Node.js. Elle installera ollama pour télécharger et exécuter nos modèles, en lui ajoutant avec une interface web (<a href="https://github.com/ivanfioravanti/chatbot-ollama" target="_blank" rel="noreferrer noopener">chatbot-ollama</a>, également sous licence MIT) qui nous permettra d'interroger le serveur depuis n'importe quel navigateur, exécuté depuis un ordinateur ou même un simple smartphone.  </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":11239,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image alignwide size-full"><a href="https://cdn.clever-cloud.com/uploads/2023/11/sans-titre-1-scaled.webp" target="_blank" rel="noreferrer noopener"><img src="https://cdn.clever-cloud.com/uploads/2023/11/sans-titre-1-scaled.webp" alt="Chatbot Ollama" class="wp-image-11239" title="Chatbot Ollama"/></a></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Cette solution a également l'intérêt de stocker les conversations localement, dans le navigateur. Elle ne nécessite donc pas de base de données, mais propose une fonction d'import/export. On peut également choisir entre différents modèles, régler certains de leurs paramètres, configurer des instructions système, différents prompts, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">mkdir myollama && cd myollama
git init
curl -L https://github.com/ivanfioravanti/chatbot-ollama/archive/refs/heads/main.tar.gz | tar -xz --strip-components=1

clever create -t node myollama && clever scale --flavor L
clever env set CC_POST_BUILD_HOOK "npx next telemetry disable && npm run build"
clever env set CC_PRE_BUILD_HOOK "./ollama_setup.sh"
clever env set CC_PRE_RUN_HOOK "./ollama_start.sh"

echo "orca-mini" > models.list
echo "mistral" >> models.list
echo "codellama" >> models.list</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Le code ci-dessus créé l'application. Nous y ajoutons un fichier qui contiendra la liste des modèles à récupérer lors de son initialisation. Nous optons pour une instance L, la taille minimale pour charger de tels modèles en mémoire. On déclare ensuite plusieurs variables d'environnement pour lancer des scripts afin d'installer ollama, démarrer le serveur et désactiver la télémétrie du framework Next.js, utilisé pour construire l'interface web après l'installation des dépendances.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Ajoutons quelques scripts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre application est presque prête. Il nous reste en effet à créer deux fichiers, exécutables :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">touch ollama_setup.sh && chmod +x ollama_setup.sh
touch ollama_start.sh && chmod +x ollama_start.sh</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p><code>ollama_setup.sh</code> télécharge le binaire d'ollama puis les modèles de notre liste. Ouvrez-le avec l'éditeur de votre choix et placez-y le contenu suivant :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">#!/bin/bash

# We define the folder (in $PATH), where the ollama binary will be placed
BIN_DIR=${HOME}/.local/bin
mkdir -p ${BIN_DIR} 

ollama_start() {
    echo "Downloading and launching ollama..."
    curl -Ls https://ollama.ai/download/ollama-linux-amd64 -o ${BIN_DIR}/ollama
    chmod +x ${BIN_DIR}/ollama
    ollama serve &> /dev/null &
    echo -e "Finished: \033[32m✔\033[0m\n"
}

get_models() {
    MODELS_FILE="models.list"
    MODELS_DEFAULT="orca-mini"

    # We check if the models file exists
    if [ ! -f ${MODELS_FILE} ]; then
        echo "File ${MODELS_FILE} not found, ${MODELS_DEFAULT} used by default."
        echo ${MODELS_DEFAULT} > ${MODELS_FILE}
    fi

    # Loop through each line and pull model
    while IFS= read -r line; do
        echo "Pulling ${line} model..."
        ollama pull "${line}" > /dev/null 2>&1
        echo -e "Finished: \033[32m✔\033[0m\n"

    done < ${MODELS_FILE}
}

# We start ollama, and wait for it to respond
ollama_start
if [ $? -ne 0 ]; then
    echo -e "\nError during ollama setup."
    exit 1
fi

count=0
MAX_TIME=10

while ! pgrep -x "ollama" > /dev/null; do
    if [ ${count} -lt ${MAX_TIME} ]; then
        sleep 1
        count=$((count+1))
    else
        echo "Application 'ollama' did not launch within 10 seconds."
        exit 1
    fi
done

get_models
if [ $? -ne 0 ]; then
    echo -e "\nError during models downloading."
    exit 1
fi
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Ce code peut paraître un peu long, mais c'est notamment parce que nous l'avons rendu modulaire, en n'écrivant dans les logs que les étapes réussies ou les éventuelles erreurs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>ollama_start.sh</code> détecte si le serveur ollama est déjà présent avant de démarrer l'interface web. Si ce n'est pas le cas, on le lance en tâche de fond (nous verrons plus bas pourquoi). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ouvrez-le avec l'éditeur de votre choix et placez-y le contenu suivant :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">if ! pgrep -f "ollama" > /dev/null; then
    # If 'ollama' is not running, start it in the background
    ollama serve &
    echo "Application 'ollama' started."
else
    # If 'ollama' is already running
    echo "'ollama' application is already running."
fi
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois ces deux fichiers créés, on peut déployer notre application : </p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">git add . && git commit -m "Init application"
clever deploy
clever domain</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous verrez alors le domaine pour accéder à votre application (que vous pouvez personnaliser).</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cache et (re)démarrage rapide</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Utiliser Clever Cloud, ce n'est pas simplement déployer facilement une telle application, disposer de logs et de monitoring, pouvoir changer instantanément son scaling horizontal et/ou vertical. C'est aussi pouvoir en faire une image prête à redéployer très rapidement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En effet, toute application que nous hébergeons est stockée sous la forme d'une archive constituée juste avant l'installation des dépendances. Elle peut ainsi être arrêtée et de rédémarrée sous cette forme, ce qui nous permet de ne pas retélécharger les modèles à chaque fois. Pour cela, il suffit d'indiquer les dossiers à ajouter à l'archive :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever env set CC_OVERRIDE_BUILDCACHE "/:../.ollama/:../.local/bin/"
clever restart --without-cache --follow</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>L'application redémarrera, mais prendra cette fois les l'interface web construite, ollama et les modèles dans son cache, les étapes <code>CC_PRE_BUILD_HOOK</code> et <code>CC_PRE_BUILD_HOOK</code> n'étant pas exécutées. C'est notamment pour cela que nous devons nous assurer que l'on démarre bien le serveur ollama avec <code>CC_PRE_RUN_HOOK</code>, mais que l'on vérifie que cela n'a pas déjà été fait lors d'un démarrage classique; où il est utilisé pour télécharger les modèles avant de les exécuter.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dès que cette étape est terminée, vous pouvez arrêter l'application et la redémarrer lorsque vous voulez, cela sera désormais bien plus rapide. Et vous ne serez facturé que le temps de son usage, à la seconde. Si vous voulez modifier la liste des modèles à utiliser, faites le dans le fichier prévu à cet effet, un <em>git push</em> suffira à reconstituer le nouveau cache.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># Stop/Restart the application
clever stop
clever restart

# After a modification in models.list, git push to recreate the cache
git add models.list && git commit -m "New models" 
clever deploy</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous retrouverez le fichiers nécessaires à ce projet dans <a href="https://github.com/CleverCloud/ollama-chat-deploy" target="_blank" rel="noreferrer noopener">ce dépôt GitHub</a>, avec les variables d'environnement prêtes à importer (<code>clever env import &lt; .env</code>). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et si jamais vous voulez aller plus loin en déployant d'autres modèles et outils pour vos applications, qui nécessitent plus de puissance et/ou du GPU, <a href="https://stagingv6.cleverapps.io/fr/contact/">faites-le nous savoir</a> !</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Qu’est-ce qu’il a de Clever, notre Cloud ?</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/09/05/quest-ce-quil-a-de-clever-notre-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Mon, 05 Sep 2022 15:18:57 +0000</pubDate>
				<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[fonctionnalité]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=7480</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="notre clever cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1.jpg 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-300x116.jpg 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-1024x395.jpg 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-768x296.jpg 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Aux débuts d’Internet tel qu’on le connaît actuellement, il y a une trentaine d’années, le choix principal d’un développeur lorsqu’il voulait mettre un site en ligne consistait à choisir entre un serveur dédié où il était seul maître à bord, et un hébergement mutualisé entre plusieurs clients plus ou moins nombreux à se partager les ressources selon les offres.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si la faible isolation technique proposée à l’époque dans le modèle du mutualisé poussait les plus précautionneux à se tourner vers des serveurs dédiés, le choix se faisait aussi pour des raisons économiques : tout le monde ne pouvait pas se payer sa propre machine.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Néanmoins, avec le temps, des offres à petit prix sont venues bouleverser le marché, puis ce fût au tour du « Cloud » et des instances « as-a-service »&nbsp;que l’on ne loue plus au mois mais à l’heure ou à la seconde. De quoi changer les pratiques en profondeur.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Réduire le gâchis de ressources (et les prises de tête)</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>C’est de là qu’est né Clever Cloud, avec une conviction : il fallait profiter de ces nouvelles opportunités pour réinventer les pratiques de l’hébergement mutualisé qui s’appuyait encore sur de vieux protocoles de transfert, en ajoutant une véritable isolation et de la simplicité en automatisant les déploiements, l’adaptation à la charge. Créer des outils pour améliorer la vie des développeurs et des ops (des métiers <a href="https://fr.wikipedia.org/wiki/Devops" target="_blank" rel="noreferrer noopener">qui se conjuguent parfois</a> désormais), profiter des révolutions en cours suite à l’émergence de Git et des plateformes telles que GitHub ou GitLab, du développement et de l’intégration continus (CI/CD).</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/07/07/quest-ce-que-clever-cloud/">Qu'est-ce que Clever Cloud ?</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Tant à l’époque qu’aujourd’hui, il est courant de voir des entreprises continuer à louer des serveurs dédiés « à l’ancienne »&nbsp;pour y déployer leurs applications en utilisant des outils plus ou moins automatisés, mais cela mène le plus souvent à un gâchis de ressources. Car ces machines sont dimensionnées de manière à répondre aux pics éventuels, et ne sont ainsi presque jamais utilisées à leur plein potentiel.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Un surdimensionnement qui n’est pas vraiment en faveur de l’efficacité énergétique. En mars dernier, <a href="https://www.theregister.com/2022/03/11/us_government_datacenter_use/" target="_blank" rel="noreferrer noopener">The Register rapportait</a> que selon l’US Government Accountability Office (GAO), seulement 5% des ressources des serveurs à disposition du gouvernement américain étaient utilisées. Une situation qui ne devrait jamais se produire, aux USA ou en Europe.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pourtant, une partie du secteur de l’hébergement s’est organisée autour de ce manque d’efficacité. Les acteurs du monde des datacenters sont de moins en moins des techniciens et de plus en plus sur un modèle qui emprunte au marché de l’immobilier : il faut investir l’espace disponible et avant tout remplir des mètres carrés (quitte à réserver de grands espaces aux mineurs de crypto-monnaies). Mais que les serveurs soient ou non utilisés ne change rien : c’est loué. D’ailleurs s’ils fonctionnent à un faible niveau, cela soulage les infrastructures électriques, le bailleur est d’autant plus gagnant.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une des solutions pourrait être de recourir à des instances (IaaS), qui peuvent être allumées ou éteintes, adaptées dans leur composition selon les besoins, avec une meilleure gestion des ressources par le fournisseur de services cloud (CSP) puisqu’elles sont partagées entre différents clients. Mais cela demande aux développeurs et aux ops d’adapter constamment l’infrastructure à la charge, de veiller aux mises à jour et à la sécurité, d’être ceux sur qui tout repose.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Malheureusement, en pratique, ce travail essentiel n’est pas toujours fait. Une problématique à laquelle nous avons cherché à répondre, pour mutualiser les efforts et éviter frayeurs et maux de tête aux équipes de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des applications qui fonctionnent…</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La promesse de Clever Cloud est que « vous développez, nous déployons ». Ainsi, nous sommes plus qu’une solution de Platform-as-a-Service (PaaS) tel que certains l’entendent, plutôt une sorte de « Software Defined Hosting », tendance « Serveless », au sens où vous n’avez jamais à vous préoccuper de l’infrastructure. Seulement de votre code et d'où vous voulez le déployer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Car en réalité, notre métier est d’assurer le maintien en conditions opérationnelles de vos applications. Cela signifie que nous simplifions le plus possible le processus de déploiement qui peut être totalement automatisé et s’inscrire dans vos processus d’équipe. Nous maintenons également vos applications en ligne, même en cas de mise à jour ou de pic de charge exceptionnel, gérons les sauvegardes, la reprise en cas de problème, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce, avec la possibilité d’une adaptation horizontale (plus d’instances disponibles) ou verticale (des instances plus performantes). Un choix qui peut être assuré de manière entièrement automatisée (auto-scaling) ou manuelle via notre interface en ligne et nos différents outils (CLI, SDK, etc.) : vous restez maître de vos choix.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous assurons également la mise à jour du système et des briques logicielles que nous opérons, en nous limitant le plus possible au strict nécessaire afin de maximiser l’efficacité, le niveau de performances et de sécurité proposés à nos clients. Ainsi, nous ne négligeons pas l’isolation logicielle et toutes les applications fonctionnent dans des machines virtuelles qui leur sont propres.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="1000" class="aligncenter" height="563" src="https://www.youtube-nocookie.com/embed/NjCbJbzRmhI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading">… dans un environnement flexible et sécurisé</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Il faut d’ailleurs comprendre que le sujet des attaques et failles de sécurité est avant tout financier. Pour ceux qui les exploitent, c’est un marché. S’il existera toujours des méthodes pour s’en prendre à une entreprise et un service, notre enjeu est de réduire au maximum les surfaces d’attaque et de casser la rentabilité potentielle de s’en prendre à Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est notamment pour cela que nous compilons le noyau Linux et tous nos binaires depuis les sources, à travers l’utilisation de la distribution <a href="https://exherbo.org/" target="_blank" rel="noreferrer noopener">Exherbo</a>. Cela nous permet de les réduire à leur strict minimum, tout comme la surface d’attaque, et de disposer constamment de logiciels à jour sans avoir à attendre que les mainteneurs de telle ou telle distribution s’en occupent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela offre un autre avantage, car comme l’indique régulièrement notre CEO Quentin Adam : « <em>tout binaire distribué compilé est un binaire troué en sursis</em> ». Ils sont en effet utilisés par un nombre important d’utilisateurs et sont une cible de choix, qui peuvent être facilement détectés. Disposer de nos propres binaires permet de se prémunir de tels risques « by design ».</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et si jamais un datacenter rencontre un problème ? Il vous suffit de déployer ailleurs. Une capacité à la résilience qui porte nos décisions techniques de ces dernières années, avec une approche résolument mutli-cloud; que ce soit dans le développement de nos propres infrastructures ou en vous permettant également de profiter de celles de nos partenaires. Et si vous voulez disposer de votre propre Clever Cloud « on-premise »&nbsp;ou dans une infrastructure qualifiée SecNumCloud ? <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">C’est possible</a>. L’ouverture, c’est aussi ça.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des serveurs pleinement exploités, pensés pour durer</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ce libre choix du datacenter nous permettra demain de vous proposer des déploiements pouvant être guidés par des problématiques géographiques, de diversification mais aussi d’éco-conception. Nous avons d’ailleurs commencé à nous tourner vers des serveurs basés sur les travaux de l’Open Compute Project (OCP). Disposant d’une alimentation centralisée au sein de la baie, ils sont conçus pour une meilleure efficacité énergétique.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Consommer moins pour un même niveau de service est une obsession de nos équipes, une stratégie mise en œuvre à court et long terme, que ce soit à travers l’optimisation côté logiciel ou matériel, la meilleure utilisation du parc existant et la mise en production de meilleurs composants lorsqu’il est complété ou renouvelé. Cette stratégie est au cœur de notre modèle économique, mais aussi de notre volonté de réduction de notre empreinte environnementale, et donc celle de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons ainsi récemment fait le choix de nous équiper <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/16/amd-epyc-7003-open-compute-datacenters-et-autres-projets-que-prepare-clever-cloud/">en serveurs Capri basés sur des processeurs EPYC 7003 d’AMD</a> avec 64 cœurs de dernière génération, qui offrent un très bon niveau de performance et de densité. Ils sont installés dans notre troisième point de présence parisien, chez Green Data à Nanterre. Il en sera de même pour la Flashbox, nous permettant de disposer d’un stockage déporté au sein du réseau, dans des serveurs sans CPU, <a href="https://stagingv6.cleverapps.io/fr/blog/presse/2022/07/05/clever-cloud-selectionne-le-francais-kalray-pour-ses-solutions-de-stockage-haute-performance-et-optimiser-son-nouveau-datacenter/">exploitant les puces du français Kalray</a>, très économes en énergie.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="1000" class="aligncenter" height="563" src="https://www.youtube-nocookie.com/embed/ncNLXIr6nR8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Ces innovations et ce niveau de densité nous permettent de renforcer la promesse de Clever Cloud : maintenir le maximum d’applications en conditions opérationnelles, avec un bon niveau de résilience mais le moins d’infrastructure possible. Car la meilleure façon de ne pas gâcher les ressources est d’en consommer le moins possible « by design », ce que nous permettons à nos clients de faire au quotidien sans qu’ils n’aient à se préoccuper de quoi que ce soit.&nbsp;Pour mieux les informer, nous travaillons également à livrer des indicateurs comme l’efficacité énergétique (PUE) mais également la consommation et l’impact de nos serveurs, de leurs applications, etc. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nos serveurs sont destinés à être exploités dans notre infrastructure pour de longues années, afin de répondre à des besoins qui pourront évoluer dans le temps, et ne seront remplacés que lorsque ce sera nécessaire. Mais en nous reposant sur des standards tels que ceux de l’OCP, utilisés par un nombre croissant d’acteurs du marché, nous avons l’assurance qu’ils pourront facilement être réutilisés par des tiers dans un second cycle de vie.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour nos déploiements à venir, nous explorerons d’autres pistes pour améliorer toujours plus l’efficacité de nos serveurs et de leurs composants, mais aussi du refroidissement qui est une problématique essentielle dans les centres de données, avec la montée en puissance du watercooling et de l’immersion, deux technologies pouvant être mises en œuvre par notre partenaire Green Data. Nous avons également des discussions avec différents acteurs autour de la réutilisation de la chaleur fatale, produite par les serveurs.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Et demain ? Network Groups, Tasks, GPU, FaaS, IaaS</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud est à l’image de son logo : multifacettes. Si nous nous sommes longtemps consacrés à la création de notre plateforme de déploiement d’applications, nos clients nous ont demandé ces dernières années d’aller plus loin. Nous les avons écoutés : l’équipe a doublé ces derniers mois afin de renforcer notre principal atout : l’innovation par le logiciel, en exploitant au mieux le matériel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, outre les améliorations continues de notre <a href="https://console.clever-cloud.com/">Console</a>, nous finalisons actuellement un projet qui a été l’un de nos plus grands chantiers : les Network Groups, vous permettant de lier vos applications, mais aussi vos machines à travers un réseau privé (VPN). Pour cela, nous nous appuyons sur la solution open source Wireguard. La fonctionnalité est finalisée et fait actuellement l’objet de tests internes, elle passera au stade de la bêta publique d’ici quelques semaines.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous proposerons bientôt nos VM Tasks, avec la possibilité d’exécuter des tâches à la demande, activables de différentes manières. Nous avons également commencé à retravailler notre offre de calcul sur GPU, n’hésitez donc pas <a href="https://stagingv6.cleverapps.io/fr/contact/">à nous solliciter</a> si vous avez des besoins en la matière, des tests préliminaires pouvant être menés. Plus tard dans l’année viendront l’accès à nos solutions Function-as-a-Service (FaaS) pour le traitement de fonctions à la demande et à grande échelle et IaaS, pour déployer le système d’exploitation et les outils de votre choix via Clever Cloud, sans dépendre de solutions telles que Docker. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour les amateurs de Kubernetes, outre le lancement récent de <a href="https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2022/03/16/clever-operator/">notre opérateur</a>, un service managé sera également disponible… tout comme d’autres&nbsp;surprises dont nous aurons l’occasion de reparler d’ici quelque temps. N'hésitez d’ailleurs pas à nous soumettre vos demandes et suggestions, qui peuvent nous aider à affiner nos priorités et développements. Notre équipe est ainsi <a href="https://stagingv6.cleverapps.io/fr/contact/">à votre écoute</a>.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="notre clever cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1.jpg 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-300x116.jpg 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-1024x395.jpg 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-768x296.jpg 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/09/smart-cloud-fr-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Aux débuts d’Internet tel qu’on le connaît actuellement, il y a une trentaine d’années, le choix principal d’un développeur lorsqu’il voulait mettre un site en ligne consistait à choisir entre un serveur dédié où il était seul maître à bord, et un hébergement mutualisé entre plusieurs clients plus ou moins nombreux à se partager les ressources selon les offres.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si la faible isolation technique proposée à l’époque dans le modèle du mutualisé poussait les plus précautionneux à se tourner vers des serveurs dédiés, le choix se faisait aussi pour des raisons économiques : tout le monde ne pouvait pas se payer sa propre machine.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Néanmoins, avec le temps, des offres à petit prix sont venues bouleverser le marché, puis ce fût au tour du « Cloud » et des instances « as-a-service »&nbsp;que l’on ne loue plus au mois mais à l’heure ou à la seconde. De quoi changer les pratiques en profondeur.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Réduire le gâchis de ressources (et les prises de tête)</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>C’est de là qu’est né Clever Cloud, avec une conviction : il fallait profiter de ces nouvelles opportunités pour réinventer les pratiques de l’hébergement mutualisé qui s’appuyait encore sur de vieux protocoles de transfert, en ajoutant une véritable isolation et de la simplicité en automatisant les déploiements, l’adaptation à la charge. Créer des outils pour améliorer la vie des développeurs et des ops (des métiers <a href="https://fr.wikipedia.org/wiki/Devops" target="_blank" rel="noreferrer noopener">qui se conjuguent parfois</a> désormais), profiter des révolutions en cours suite à l’émergence de Git et des plateformes telles que GitHub ou GitLab, du développement et de l’intégration continus (CI/CD).</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/07/07/quest-ce-que-clever-cloud/">Qu'est-ce que Clever Cloud ?</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Tant à l’époque qu’aujourd’hui, il est courant de voir des entreprises continuer à louer des serveurs dédiés « à l’ancienne »&nbsp;pour y déployer leurs applications en utilisant des outils plus ou moins automatisés, mais cela mène le plus souvent à un gâchis de ressources. Car ces machines sont dimensionnées de manière à répondre aux pics éventuels, et ne sont ainsi presque jamais utilisées à leur plein potentiel.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Un surdimensionnement qui n’est pas vraiment en faveur de l’efficacité énergétique. En mars dernier, <a href="https://www.theregister.com/2022/03/11/us_government_datacenter_use/" target="_blank" rel="noreferrer noopener">The Register rapportait</a> que selon l’US Government Accountability Office (GAO), seulement 5% des ressources des serveurs à disposition du gouvernement américain étaient utilisées. Une situation qui ne devrait jamais se produire, aux USA ou en Europe.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pourtant, une partie du secteur de l’hébergement s’est organisée autour de ce manque d’efficacité. Les acteurs du monde des datacenters sont de moins en moins des techniciens et de plus en plus sur un modèle qui emprunte au marché de l’immobilier : il faut investir l’espace disponible et avant tout remplir des mètres carrés (quitte à réserver de grands espaces aux mineurs de crypto-monnaies). Mais que les serveurs soient ou non utilisés ne change rien : c’est loué. D’ailleurs s’ils fonctionnent à un faible niveau, cela soulage les infrastructures électriques, le bailleur est d’autant plus gagnant.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une des solutions pourrait être de recourir à des instances (IaaS), qui peuvent être allumées ou éteintes, adaptées dans leur composition selon les besoins, avec une meilleure gestion des ressources par le fournisseur de services cloud (CSP) puisqu’elles sont partagées entre différents clients. Mais cela demande aux développeurs et aux ops d’adapter constamment l’infrastructure à la charge, de veiller aux mises à jour et à la sécurité, d’être ceux sur qui tout repose.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Malheureusement, en pratique, ce travail essentiel n’est pas toujours fait. Une problématique à laquelle nous avons cherché à répondre, pour mutualiser les efforts et éviter frayeurs et maux de tête aux équipes de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des applications qui fonctionnent…</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La promesse de Clever Cloud est que « vous développez, nous déployons ». Ainsi, nous sommes plus qu’une solution de Platform-as-a-Service (PaaS) tel que certains l’entendent, plutôt une sorte de « Software Defined Hosting », tendance « Serveless », au sens où vous n’avez jamais à vous préoccuper de l’infrastructure. Seulement de votre code et d'où vous voulez le déployer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Car en réalité, notre métier est d’assurer le maintien en conditions opérationnelles de vos applications. Cela signifie que nous simplifions le plus possible le processus de déploiement qui peut être totalement automatisé et s’inscrire dans vos processus d’équipe. Nous maintenons également vos applications en ligne, même en cas de mise à jour ou de pic de charge exceptionnel, gérons les sauvegardes, la reprise en cas de problème, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce, avec la possibilité d’une adaptation horizontale (plus d’instances disponibles) ou verticale (des instances plus performantes). Un choix qui peut être assuré de manière entièrement automatisée (auto-scaling) ou manuelle via notre interface en ligne et nos différents outils (CLI, SDK, etc.) : vous restez maître de vos choix.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous assurons également la mise à jour du système et des briques logicielles que nous opérons, en nous limitant le plus possible au strict nécessaire afin de maximiser l’efficacité, le niveau de performances et de sécurité proposés à nos clients. Ainsi, nous ne négligeons pas l’isolation logicielle et toutes les applications fonctionnent dans des machines virtuelles qui leur sont propres.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="1000" class="aligncenter" height="563" src="https://www.youtube-nocookie.com/embed/NjCbJbzRmhI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading">… dans un environnement flexible et sécurisé</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Il faut d’ailleurs comprendre que le sujet des attaques et failles de sécurité est avant tout financier. Pour ceux qui les exploitent, c’est un marché. S’il existera toujours des méthodes pour s’en prendre à une entreprise et un service, notre enjeu est de réduire au maximum les surfaces d’attaque et de casser la rentabilité potentielle de s’en prendre à Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est notamment pour cela que nous compilons le noyau Linux et tous nos binaires depuis les sources, à travers l’utilisation de la distribution <a href="https://exherbo.org/" target="_blank" rel="noreferrer noopener">Exherbo</a>. Cela nous permet de les réduire à leur strict minimum, tout comme la surface d’attaque, et de disposer constamment de logiciels à jour sans avoir à attendre que les mainteneurs de telle ou telle distribution s’en occupent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela offre un autre avantage, car comme l’indique régulièrement notre CEO Quentin Adam : « <em>tout binaire distribué compilé est un binaire troué en sursis</em> ». Ils sont en effet utilisés par un nombre important d’utilisateurs et sont une cible de choix, qui peuvent être facilement détectés. Disposer de nos propres binaires permet de se prémunir de tels risques « by design ».</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et si jamais un datacenter rencontre un problème ? Il vous suffit de déployer ailleurs. Une capacité à la résilience qui porte nos décisions techniques de ces dernières années, avec une approche résolument mutli-cloud; que ce soit dans le développement de nos propres infrastructures ou en vous permettant également de profiter de celles de nos partenaires. Et si vous voulez disposer de votre propre Clever Cloud « on-premise »&nbsp;ou dans une infrastructure qualifiée SecNumCloud ? <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">C’est possible</a>. L’ouverture, c’est aussi ça.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des serveurs pleinement exploités, pensés pour durer</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ce libre choix du datacenter nous permettra demain de vous proposer des déploiements pouvant être guidés par des problématiques géographiques, de diversification mais aussi d’éco-conception. Nous avons d’ailleurs commencé à nous tourner vers des serveurs basés sur les travaux de l’Open Compute Project (OCP). Disposant d’une alimentation centralisée au sein de la baie, ils sont conçus pour une meilleure efficacité énergétique.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Consommer moins pour un même niveau de service est une obsession de nos équipes, une stratégie mise en œuvre à court et long terme, que ce soit à travers l’optimisation côté logiciel ou matériel, la meilleure utilisation du parc existant et la mise en production de meilleurs composants lorsqu’il est complété ou renouvelé. Cette stratégie est au cœur de notre modèle économique, mais aussi de notre volonté de réduction de notre empreinte environnementale, et donc celle de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons ainsi récemment fait le choix de nous équiper <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/16/amd-epyc-7003-open-compute-datacenters-et-autres-projets-que-prepare-clever-cloud/">en serveurs Capri basés sur des processeurs EPYC 7003 d’AMD</a> avec 64 cœurs de dernière génération, qui offrent un très bon niveau de performance et de densité. Ils sont installés dans notre troisième point de présence parisien, chez Green Data à Nanterre. Il en sera de même pour la Flashbox, nous permettant de disposer d’un stockage déporté au sein du réseau, dans des serveurs sans CPU, <a href="https://stagingv6.cleverapps.io/fr/blog/presse/2022/07/05/clever-cloud-selectionne-le-francais-kalray-pour-ses-solutions-de-stockage-haute-performance-et-optimiser-son-nouveau-datacenter/">exploitant les puces du français Kalray</a>, très économes en énergie.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="1000" class="aligncenter" height="563" src="https://www.youtube-nocookie.com/embed/ncNLXIr6nR8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Ces innovations et ce niveau de densité nous permettent de renforcer la promesse de Clever Cloud : maintenir le maximum d’applications en conditions opérationnelles, avec un bon niveau de résilience mais le moins d’infrastructure possible. Car la meilleure façon de ne pas gâcher les ressources est d’en consommer le moins possible « by design », ce que nous permettons à nos clients de faire au quotidien sans qu’ils n’aient à se préoccuper de quoi que ce soit.&nbsp;Pour mieux les informer, nous travaillons également à livrer des indicateurs comme l’efficacité énergétique (PUE) mais également la consommation et l’impact de nos serveurs, de leurs applications, etc. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nos serveurs sont destinés à être exploités dans notre infrastructure pour de longues années, afin de répondre à des besoins qui pourront évoluer dans le temps, et ne seront remplacés que lorsque ce sera nécessaire. Mais en nous reposant sur des standards tels que ceux de l’OCP, utilisés par un nombre croissant d’acteurs du marché, nous avons l’assurance qu’ils pourront facilement être réutilisés par des tiers dans un second cycle de vie.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour nos déploiements à venir, nous explorerons d’autres pistes pour améliorer toujours plus l’efficacité de nos serveurs et de leurs composants, mais aussi du refroidissement qui est une problématique essentielle dans les centres de données, avec la montée en puissance du watercooling et de l’immersion, deux technologies pouvant être mises en œuvre par notre partenaire Green Data. Nous avons également des discussions avec différents acteurs autour de la réutilisation de la chaleur fatale, produite par les serveurs.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Et demain ? Network Groups, Tasks, GPU, FaaS, IaaS</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud est à l’image de son logo : multifacettes. Si nous nous sommes longtemps consacrés à la création de notre plateforme de déploiement d’applications, nos clients nous ont demandé ces dernières années d’aller plus loin. Nous les avons écoutés : l’équipe a doublé ces derniers mois afin de renforcer notre principal atout : l’innovation par le logiciel, en exploitant au mieux le matériel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, outre les améliorations continues de notre <a href="https://console.clever-cloud.com/">Console</a>, nous finalisons actuellement un projet qui a été l’un de nos plus grands chantiers : les Network Groups, vous permettant de lier vos applications, mais aussi vos machines à travers un réseau privé (VPN). Pour cela, nous nous appuyons sur la solution open source Wireguard. La fonctionnalité est finalisée et fait actuellement l’objet de tests internes, elle passera au stade de la bêta publique d’ici quelques semaines.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous proposerons bientôt nos VM Tasks, avec la possibilité d’exécuter des tâches à la demande, activables de différentes manières. Nous avons également commencé à retravailler notre offre de calcul sur GPU, n’hésitez donc pas <a href="https://stagingv6.cleverapps.io/fr/contact/">à nous solliciter</a> si vous avez des besoins en la matière, des tests préliminaires pouvant être menés. Plus tard dans l’année viendront l’accès à nos solutions Function-as-a-Service (FaaS) pour le traitement de fonctions à la demande et à grande échelle et IaaS, pour déployer le système d’exploitation et les outils de votre choix via Clever Cloud, sans dépendre de solutions telles que Docker. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour les amateurs de Kubernetes, outre le lancement récent de <a href="https://stagingv6.cleverapps.io/fr/blog/engineering-fr/2022/03/16/clever-operator/">notre opérateur</a>, un service managé sera également disponible… tout comme d’autres&nbsp;surprises dont nous aurons l’occasion de reparler d’ici quelque temps. N'hésitez d’ailleurs pas à nous soumettre vos demandes et suggestions, qui peuvent nous aider à affiner nos priorités et développements. Notre équipe est ainsi <a href="https://stagingv6.cleverapps.io/fr/contact/">à votre écoute</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comment déployer Keycloak sur Clever Cloud ?</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/05/11/comment-deployer-keycloak-sur-clever-cloud/</link>
		
		<dc:creator><![CDATA[Antoine BLONDEAU]]></dc:creator>
		<pubDate>Wed, 11 May 2022 06:43:59 +0000</pubDate>
				<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[fonctionnalité]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=6249</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banniere_keycloak" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Keycloak est un moyen moderne et efficace de gérer les identités et les accès. Il permet l'authentification unique, la fédération d'utilisateurs à travers plusieurs annuaires d'utilisateurs. Il est également compatible avec les protocoles d'authentification standard comme OpenID Connect, OAuth2 ou SAML. Tous les détails sont disponibles <a href="https://www.keycloak.org/" target="_blank" rel="noreferrer noopener">sur son site</a>. Dans ce blogpost, nous verrons les étapes du déploiement de Keycloack et Grafana sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment déployer Keycloak ?</h2>
<!-- /wp:heading -->

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

<!-- wp:paragraph -->
<p>Keycloak est écrit en Java, et fournit un fichier JAR dans sa version, ce qui signifie que nous allons utiliser <a href="https://stagingv6.cleverapps.io/doc/deploy/application/java/java-jar/" target="_blank" rel="noreferrer noopener">un runtime JAVA avec un déploiement JAR</a>. Il nécessite également une <a href="https://www.postgresql.org/" target="_blank" rel="noreferrer noopener">base de données PostgreSQL</a>, ce qui signifie que nous allons déployer un <a href="https://stagingv6.cleverapps.io/doc/deploy/addon/postgresql/postgresql/">addon PostgreSQL</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Get lastest Keycloak release
wget https://github.com/keycloak/keycloak/releases/download/17.0.1/keycloak-17.0.1.zip

# Extract the archive
unzip keycloak-17.0.1.zip

# Go to the folder
cd keycloak-17.0.1

# Create the jar application
clever create --type jar keycloak-server
export KEYCLOAK_DOMAIN=$(clever domain | xargs)

# Create the PG addon
clever addon create postgresql-addon --plan s_sml --addon-version 10 keycloak-postgres

# Link the addon
clever service link-addon keycloak-postgres</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Pour l'instant, nous allons configurer Keycloak en utilisant des variables d'environnement. Notez que vous pouvez également configurer Keycloak via son CLI ou via un fichier, comme indiqué dans sa <a href="https://www.keycloak.org/server/configuration" target="_blank" rel="noreferrer noopener">documentation</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Pour la configuration via des variables d'environnement, le modèle à utiliser est <code>KC_</code> et le nom en majuscule de toute clé de configuration, séparés par des caractères de soulignement.</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Export env for templating purpose
export $(clever env | sed '/^#/d;s/\"//g')

clever env set CC_JAR_PATH lib/quarkus-run.jar
clever env set CC_JAVA_VERSION 11
clever env set CC_RUN_COMMAND "bin/kc.sh start --auto-build"

clever env set KC_DB postgres
clever env set KC_DB_USERNAME $POSTGRESQL_ADDON_USER
clever env set KC_DB_PASSWORD $POSTGRESQL_ADDON_PASSWORD
clever env set KC_DB_URL "jdbc:postgresql://$POSTGRESQL_ADDON_HOST:$POSTGRESQL_ADDON_PORT/$POSTGRESQL_ADDON_DB"
clever env set KC_HOSTNAME $KEYCLOAK_DOMAIN
clever env set KC_HTTP_ENABLED true
clever env set KC_PROXY passthrough
clever env set KC_PROXY_ADDRESS_FORWARDING true</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note: </strong>Envisagez de configurer KC_DB_POOL_MAX_SIZE (Le nombre maximum de connections parallèles a la base de donnée) avec une valeur basse (la valeur par défault est de 100) en fonction de la taille de la base de donnée que vous avez commandé plus tôt. Vous pouvez trouver les limites de connection par taille de base de donnée <a href="https://stagingv6.cleverapps.io/pricing/#databases">ici</a>. Si vous avez choisi la taille S_SML comme précisé plus tôt dans la commande fournie, vous pouvez ignorer ce message. vous pouvez aussi configurer plus finement le groupe de connection a la base de donnée en utilisant les variable DB_POOL_INITIAL_SIZE et KC_DB_POOL_MIN_SIZE</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Vous devez maintenant définir <code>KEYCLOAK_ADMIN</code> et <code>KEYCLOAK_ADMIN_PASSWORD</code> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set KEYCLOAK_ADMIN &lt;choose an admin username&gt;
clever env set KEYCLOAK_ADMIN_PASSWORD &lt;choose an admin password&gt;</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Déployer Keycloak sur Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Init a git repository
git init

# Add your files
git add .

# Create the first commit
git commit -m "clever init"

# Deploy the application
clever deploy

# Open Keycloak in your browser
clever open</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Vous pouvez suivre la documentation de Keycloak <a href="https://www.keycloak.org/getting-started/getting-started-zip#_create_a_realm" target="_blank" rel="noreferrer noopener">en commençant ici</a> pour vous assurer que Keycloak fonctionne comme prévu. Elle vous guidera à travers la création d'un realm (tenant), la création d'un utilisateur et la création/test d'un client.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Créer une configuration initiale de Keycloak</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans l'interface utilisateur de Keycloak, assurez-vous de créer un realm appelé "myrealm" (survolez "Master" dans le coin supérieur gauche). Assurez-vous que le realm "<code>myrealm</code>" est sélectionné.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, allez dans <strong><em>Utilisateurs &gt; Ajouter un utilisateur</em></strong>. Remplissez les champs Nom d'utilisateur, Email, Prénom et Nom de famille, puis cliquez sur Enregistrer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans l'onglet "credentials" de l'utilisateur, ajoutez le mot de passe de votre choix et <strong>désélectionnez "Temporary", le mot de passe défini</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est fait ! </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un scénario du monde réel</h2>
<!-- /wp:heading -->

<!-- wp:image {"align":"center","id":6184,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/04/giphy-1-1.webp" alt="" class="wp-image-6184"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Voyons comment nous pouvons utiliser Keycloak dans le monde réel : comme proxy SSO pour Grafana, en utilisant Oauth 2.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Grafana sur Clever Cloud</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Si vous avez besoin d'un guide détaillé sur la façon d'utiliser ou de déployer Grafana, veuillez lire <a href="https://stagingv6.cleverapps.io/fr/blog/features/2021/10/28/grafana-pour-des-metriques-d-applications/">cet article</a>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Utilisons <a href="https://github.com/CleverCloud/grafana-example">l'exemple Grafana</a> sur le dépôt Github de Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Clone the repository
git clone https://github.com/CleverCloud/grafana-example.git

# Enter the directory
cd grafana-example

# Create a NodeJS Application
clever create --type node grafana
export GRAFANA_DOMAIN=$(clever domain | xargs)

# Configure Grafana
clever env set GRAFANA_VERSION 8.5.2
clever env set GRAFANA_PLUGINS "grafana-worldmap-panel"
clever env set GF_PLUGIN_DIR ./data/plugins

clever env set GF_SERVER_HTTP_PORT 8080
clever env set GF_SERVER_ROOT_URL "https://$GRAFANA_DOMAIN"</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Dans cette section, vous devez définir vous-même la variable <code>GRAFANA_SHA_256</code>. Vous pouvez trouver la <code>SHA256SUM</code> nécessaire <a href="https://grafana.com/grafana/download/8.5.2?pg=get&amp;plcmt=selfmanaged-box1-cta1&amp;edition=oss" target="_blank" rel="noreferrer noopener">ici</a>, à côté de "Standalone Linux Binaries".</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set GRAFANA_SHA_256 &lt;SHA256SUM&gt;</code></pre>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Keycloak pour OAuth 2</h3>
<!-- /wp:heading -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : dans cette section, vous devez remplacer <code>$GRAFANA_DOMAIN</code> par la valeur que vous avez exportée dans la dernière section. Vous pouvez trouver cette valeur en exécutant la commande suivante : <code>clever domain</code>.</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Dans l'interface utilisateur de Keyloak, allez dans <strong><em>Configurer &gt; Clients &gt; Créer</em></strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Créez un nouveau client avec ces configurations :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">Client ID: $GRAFANA_DOMAIN
Client Protocol: openid-connect
Root URL: https://$GRAFANA_DOMAIN</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Effectuez ensuite ces configurations :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">Access Type: confidentials // The OAuth client must use a client id and secret.
Root URL: ${authBaseUrl}
Valid Redirect URIs: https://$GRAFANA_DOMAIN/login/generic_oauth
Base URL: /login/generic_oauth</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Effacez <strong>Admin URL</strong> et <strong>Web Origins</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cliquez sur enregistrer et ouvrez l'onglet <strong>Credentials</strong>. Copiez le secret dans une note séparée, nous en aurons besoin dans les deuxième et troisième parties de ce tutoriel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ouvrez l'onglet <strong>Rôles</strong> et cliquez sur <strong>Ajouter un rôle</strong>. Créez un nouveau rôle avec le nom admin. Ce rôle définit le niveau d'accès pour Grafana.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Allez sur l'onglet <strong>Scope</strong> et définissez <strong>Full Scope Allowed</strong> sur OFF. Nous ne voulons pas partager d'autres détails sur le royaume dans le jeton client.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, nous allons configurer un mappeur client pour la propriété roles. Nous devons nous assurer que Grafana peut extraire le rôle d'accès à partir du jeton JWT. Ouvrez l'onglet <strong>Mappers</strong> et cliquez sur <strong>Create</strong>. Créez une entrée avec ces options :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"> 
Nom : Roles
Mapper Type : Rôle client utilisateur
ID du client : $GRAFANA_DOMAIN
Nom de la réclamation token : roles
Type JSON de la réclamation : string
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Enfin, attribuez le rôle client à votre utilisateur Keycloak : <strong><em>Allez dans Utilisateurs &gt; Afficher tous les utilisateurs</em></strong> et cliquez sur l'ID de votre <strong>utilisateur</strong>. Cliquez sur l'onglet <strong>Role Mapping</strong>, puis dans le sélecteur <strong>Client Roles</strong>, sélectionnez <strong><code>$GRAFANA_DOMAIN</code></strong>. Dans la section <strong>Available Roles</strong>, sélectionnez admin et cliquez sur <strong>Add selected</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Grafana pour OAuth 2</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Configurez les variables d'environnement appropriées</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Configure appropriate env vars
clever env set GF_SERVER_DOMAIN $GRAFANA_DOMAIN
clever env set GF_SERVER_ROOT_URL "https://$GRAFANA_DOMAIN"
clever env set GF_AUTH_GENERIC_OAUTH_ENABLED true
clever env set GF_AUTH_GENERIC_OAUTH_NAME Keycloak
clever env set GF_AUTH_GENERIC_OAUTH_ALLOW_SIGN_UP true
clever env set GF_AUTH_GENERIC_OAUTH_CLIENT_ID $GRAFANA_DOMAIN

clever env set GF_AUTH_GENERIC_OAUTH_SCOPES profile
clever env set GF_AUTH_GENERIC_OAUTH_AUTH_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/auth"
clever env set GF_AUTH_GENERIC_OAUTH_TOKEN_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/token"
clever env set GF_AUTH_GENERIC_OAUTH_API_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/userinfo"
clever env set GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH "contains(roles[*], 'admin') &amp;&amp; 'Admin' || contains(roles[*], 'editor') &amp;&amp; 'Editor' || 'Viewer'"</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Dans cette section, vous devez définir vous-même <code>GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET</code>, en utilisant la valeur dans Keycloak UI, sous <code>Client &gt; $GRAFANA_URL &gt; Credentials</code></p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET &lt;KEYCLOAK_CLIENT_SECRET&gt;</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous pouvez maintenant déployer Grafana :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"> 
# Deploy grafana
clever deploy

# Open grafana and try the Login with Keycloak button !
clever open
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Maintenant, cliquez sur login with Keycloak, et utilisez le nom d'utilisateur et le mot de passe que vous avez définis pour l'utilisateur que vous avez créé plus tôt dans Keycloak.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En utilisant la même procédure décrite précédemment pour créer le premier utilisateur, vous pouvez maintenant créer d'autres utilisateurs et rôles. Créez les rôles "éditeur" et/ou "visualisateur" et attribuez-les à vos nouveaux utilisateurs dans Keycloak. Essayez de vous connecter avec ceux-ci sur Grafana et vous verrez que les rôles sont propagés à Grafana.</p>
<!-- /wp:paragraph -->

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

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://janikvonrotz.ch/2020/08/27/grafana-oauth-with-keycloak-and-how-to-validate-a-jwt-token/">https://janikvonrotz.ch/2020/08/27/grafana-oauth-with-keycloak-and-how-to-validate-a-jwt-token/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><span style="color: initial;"><a href="https://www.keycloak.org/getting-started/getting-started-zip">https://www.keycloak.org/getting-started/getting-started-zip</a></span></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banniere_keycloak" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/04/banniere-keycloak-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Keycloak est un moyen moderne et efficace de gérer les identités et les accès. Il permet l'authentification unique, la fédération d'utilisateurs à travers plusieurs annuaires d'utilisateurs. Il est également compatible avec les protocoles d'authentification standard comme OpenID Connect, OAuth2 ou SAML. Tous les détails sont disponibles <a href="https://www.keycloak.org/" target="_blank" rel="noreferrer noopener">sur son site</a>. Dans ce blogpost, nous verrons les étapes du déploiement de Keycloack et Grafana sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Comment déployer Keycloak ?</h2>
<!-- /wp:heading -->

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

<!-- wp:paragraph -->
<p>Keycloak est écrit en Java, et fournit un fichier JAR dans sa version, ce qui signifie que nous allons utiliser <a href="https://stagingv6.cleverapps.io/doc/deploy/application/java/java-jar/" target="_blank" rel="noreferrer noopener">un runtime JAVA avec un déploiement JAR</a>. Il nécessite également une <a href="https://www.postgresql.org/" target="_blank" rel="noreferrer noopener">base de données PostgreSQL</a>, ce qui signifie que nous allons déployer un <a href="https://stagingv6.cleverapps.io/doc/deploy/addon/postgresql/postgresql/">addon PostgreSQL</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Get lastest Keycloak release
wget https://github.com/keycloak/keycloak/releases/download/17.0.1/keycloak-17.0.1.zip

# Extract the archive
unzip keycloak-17.0.1.zip

# Go to the folder
cd keycloak-17.0.1

# Create the jar application
clever create --type jar keycloak-server
export KEYCLOAK_DOMAIN=$(clever domain | xargs)

# Create the PG addon
clever addon create postgresql-addon --plan s_sml --addon-version 10 keycloak-postgres

# Link the addon
clever service link-addon keycloak-postgres</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Pour l'instant, nous allons configurer Keycloak en utilisant des variables d'environnement. Notez que vous pouvez également configurer Keycloak via son CLI ou via un fichier, comme indiqué dans sa <a href="https://www.keycloak.org/server/configuration" target="_blank" rel="noreferrer noopener">documentation</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Pour la configuration via des variables d'environnement, le modèle à utiliser est <code>KC_</code> et le nom en majuscule de toute clé de configuration, séparés par des caractères de soulignement.</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Export env for templating purpose
export $(clever env | sed '/^#/d;s/\"//g')

clever env set CC_JAR_PATH lib/quarkus-run.jar
clever env set CC_JAVA_VERSION 11
clever env set CC_RUN_COMMAND "bin/kc.sh start --auto-build"

clever env set KC_DB postgres
clever env set KC_DB_USERNAME $POSTGRESQL_ADDON_USER
clever env set KC_DB_PASSWORD $POSTGRESQL_ADDON_PASSWORD
clever env set KC_DB_URL "jdbc:postgresql://$POSTGRESQL_ADDON_HOST:$POSTGRESQL_ADDON_PORT/$POSTGRESQL_ADDON_DB"
clever env set KC_HOSTNAME $KEYCLOAK_DOMAIN
clever env set KC_HTTP_ENABLED true
clever env set KC_PROXY passthrough
clever env set KC_PROXY_ADDRESS_FORWARDING true</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note: </strong>Envisagez de configurer KC_DB_POOL_MAX_SIZE (Le nombre maximum de connections parallèles a la base de donnée) avec une valeur basse (la valeur par défault est de 100) en fonction de la taille de la base de donnée que vous avez commandé plus tôt. Vous pouvez trouver les limites de connection par taille de base de donnée <a href="https://stagingv6.cleverapps.io/pricing/#databases">ici</a>. Si vous avez choisi la taille S_SML comme précisé plus tôt dans la commande fournie, vous pouvez ignorer ce message. vous pouvez aussi configurer plus finement le groupe de connection a la base de donnée en utilisant les variable DB_POOL_INITIAL_SIZE et KC_DB_POOL_MIN_SIZE</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Vous devez maintenant définir <code>KEYCLOAK_ADMIN</code> et <code>KEYCLOAK_ADMIN_PASSWORD</code> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set KEYCLOAK_ADMIN &lt;choose an admin username&gt;
clever env set KEYCLOAK_ADMIN_PASSWORD &lt;choose an admin password&gt;</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Déployer Keycloak sur Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Init a git repository
git init

# Add your files
git add .

# Create the first commit
git commit -m "clever init"

# Deploy the application
clever deploy

# Open Keycloak in your browser
clever open</code></pre>
<!-- /wp:html -->

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

<!-- wp:paragraph -->
<p>Vous pouvez suivre la documentation de Keycloak <a href="https://www.keycloak.org/getting-started/getting-started-zip#_create_a_realm" target="_blank" rel="noreferrer noopener">en commençant ici</a> pour vous assurer que Keycloak fonctionne comme prévu. Elle vous guidera à travers la création d'un realm (tenant), la création d'un utilisateur et la création/test d'un client.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Créer une configuration initiale de Keycloak</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans l'interface utilisateur de Keycloak, assurez-vous de créer un realm appelé "myrealm" (survolez "Master" dans le coin supérieur gauche). Assurez-vous que le realm "<code>myrealm</code>" est sélectionné.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, allez dans <strong><em>Utilisateurs &gt; Ajouter un utilisateur</em></strong>. Remplissez les champs Nom d'utilisateur, Email, Prénom et Nom de famille, puis cliquez sur Enregistrer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans l'onglet "credentials" de l'utilisateur, ajoutez le mot de passe de votre choix et <strong>désélectionnez "Temporary", le mot de passe défini</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est fait ! </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un scénario du monde réel</h2>
<!-- /wp:heading -->

<!-- wp:image {"align":"center","id":6184,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/04/giphy-1-1.webp" alt="" class="wp-image-6184"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Voyons comment nous pouvons utiliser Keycloak dans le monde réel : comme proxy SSO pour Grafana, en utilisant Oauth 2.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Grafana sur Clever Cloud</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Si vous avez besoin d'un guide détaillé sur la façon d'utiliser ou de déployer Grafana, veuillez lire <a href="https://stagingv6.cleverapps.io/fr/blog/features/2021/10/28/grafana-pour-des-metriques-d-applications/">cet article</a>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Utilisons <a href="https://github.com/CleverCloud/grafana-example">l'exemple Grafana</a> sur le dépôt Github de Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Clone the repository
git clone https://github.com/CleverCloud/grafana-example.git

# Enter the directory
cd grafana-example

# Create a NodeJS Application
clever create --type node grafana
export GRAFANA_DOMAIN=$(clever domain | xargs)

# Configure Grafana
clever env set GRAFANA_VERSION 8.5.2
clever env set GRAFANA_PLUGINS "grafana-worldmap-panel"
clever env set GF_PLUGIN_DIR ./data/plugins

clever env set GF_SERVER_HTTP_PORT 8080
clever env set GF_SERVER_ROOT_URL "https://$GRAFANA_DOMAIN"</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Dans cette section, vous devez définir vous-même la variable <code>GRAFANA_SHA_256</code>. Vous pouvez trouver la <code>SHA256SUM</code> nécessaire <a href="https://grafana.com/grafana/download/8.5.2?pg=get&amp;plcmt=selfmanaged-box1-cta1&amp;edition=oss" target="_blank" rel="noreferrer noopener">ici</a>, à côté de "Standalone Linux Binaries".</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set GRAFANA_SHA_256 &lt;SHA256SUM&gt;</code></pre>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Keycloak pour OAuth 2</h3>
<!-- /wp:heading -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : dans cette section, vous devez remplacer <code>$GRAFANA_DOMAIN</code> par la valeur que vous avez exportée dans la dernière section. Vous pouvez trouver cette valeur en exécutant la commande suivante : <code>clever domain</code>.</p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Dans l'interface utilisateur de Keyloak, allez dans <strong><em>Configurer &gt; Clients &gt; Créer</em></strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Créez un nouveau client avec ces configurations :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">Client ID: $GRAFANA_DOMAIN
Client Protocol: openid-connect
Root URL: https://$GRAFANA_DOMAIN</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Effectuez ensuite ces configurations :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">Access Type: confidentials // The OAuth client must use a client id and secret.
Root URL: ${authBaseUrl}
Valid Redirect URIs: https://$GRAFANA_DOMAIN/login/generic_oauth
Base URL: /login/generic_oauth</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Effacez <strong>Admin URL</strong> et <strong>Web Origins</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cliquez sur enregistrer et ouvrez l'onglet <strong>Credentials</strong>. Copiez le secret dans une note séparée, nous en aurons besoin dans les deuxième et troisième parties de ce tutoriel.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ouvrez l'onglet <strong>Rôles</strong> et cliquez sur <strong>Ajouter un rôle</strong>. Créez un nouveau rôle avec le nom admin. Ce rôle définit le niveau d'accès pour Grafana.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Allez sur l'onglet <strong>Scope</strong> et définissez <strong>Full Scope Allowed</strong> sur OFF. Nous ne voulons pas partager d'autres détails sur le royaume dans le jeton client.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, nous allons configurer un mappeur client pour la propriété roles. Nous devons nous assurer que Grafana peut extraire le rôle d'accès à partir du jeton JWT. Ouvrez l'onglet <strong>Mappers</strong> et cliquez sur <strong>Create</strong>. Créez une entrée avec ces options :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"> 
Nom : Roles
Mapper Type : Rôle client utilisateur
ID du client : $GRAFANA_DOMAIN
Nom de la réclamation token : roles
Type JSON de la réclamation : string
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Enfin, attribuez le rôle client à votre utilisateur Keycloak : <strong><em>Allez dans Utilisateurs &gt; Afficher tous les utilisateurs</em></strong> et cliquez sur l'ID de votre <strong>utilisateur</strong>. Cliquez sur l'onglet <strong>Role Mapping</strong>, puis dans le sélecteur <strong>Client Roles</strong>, sélectionnez <strong><code>$GRAFANA_DOMAIN</code></strong>. Dans la section <strong>Available Roles</strong>, sélectionnez admin et cliquez sur <strong>Add selected</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Configurer Grafana pour OAuth 2</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Configurez les variables d'environnement appropriées</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"># Configure appropriate env vars
clever env set GF_SERVER_DOMAIN $GRAFANA_DOMAIN
clever env set GF_SERVER_ROOT_URL "https://$GRAFANA_DOMAIN"
clever env set GF_AUTH_GENERIC_OAUTH_ENABLED true
clever env set GF_AUTH_GENERIC_OAUTH_NAME Keycloak
clever env set GF_AUTH_GENERIC_OAUTH_ALLOW_SIGN_UP true
clever env set GF_AUTH_GENERIC_OAUTH_CLIENT_ID $GRAFANA_DOMAIN

clever env set GF_AUTH_GENERIC_OAUTH_SCOPES profile
clever env set GF_AUTH_GENERIC_OAUTH_AUTH_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/auth"
clever env set GF_AUTH_GENERIC_OAUTH_TOKEN_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/token"
clever env set GF_AUTH_GENERIC_OAUTH_API_URL "https://$KEYCLOAK_DOMAIN/realms/myrealm/protocol/openid-connect/userinfo"
clever env set GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH "contains(roles[*], 'admin') &amp;&amp; 'Admin' || contains(roles[*], 'editor') &amp;&amp; 'Editor' || 'Viewer'"</code></pre>
<!-- /wp:html -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
<p><strong>Note</strong> : Dans cette section, vous devez définir vous-même <code>GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET</code>, en utilisant la valeur dans Keycloak UI, sous <code>Client &gt; $GRAFANA_URL &gt; Credentials</code></p>
<!-- /wp:paragraph --></blockquote>
<!-- /wp:quote -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash">clever env set GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET &lt;KEYCLOAK_CLIENT_SECRET&gt;</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Vous pouvez maintenant déployer Grafana :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="lang-bash"> 
# Deploy grafana
clever deploy

# Open grafana and try the Login with Keycloak button !
clever open
</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Maintenant, cliquez sur login with Keycloak, et utilisez le nom d'utilisateur et le mot de passe que vous avez définis pour l'utilisateur que vous avez créé plus tôt dans Keycloak.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En utilisant la même procédure décrite précédemment pour créer le premier utilisateur, vous pouvez maintenant créer d'autres utilisateurs et rôles. Créez les rôles "éditeur" et/ou "visualisateur" et attribuez-les à vos nouveaux utilisateurs dans Keycloak. Essayez de vous connecter avec ceux-ci sur Grafana et vous verrez que les rôles sont propagés à Grafana.</p>
<!-- /wp:paragraph -->

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

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://janikvonrotz.ch/2020/08/27/grafana-oauth-with-keycloak-and-how-to-validate-a-jwt-token/">https://janikvonrotz.ch/2020/08/27/grafana-oauth-with-keycloak-and-how-to-validate-a-jwt-token/</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><span style="color: initial;"><a href="https://www.keycloak.org/getting-started/getting-started-zip">https://www.keycloak.org/getting-started/getting-started-zip</a></span></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
