<?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>David Legrand, Author at Clever Cloud</title>
	<atom:link href="https://stagingv6.cleverapps.io/blog/author/david-legrandclever-cloud-com/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Thu, 07 Nov 2024 15:00:05 +0000</lastBuildDate>
	<language>en-GB</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>David Legrand, Author at Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Metabase on Clever Cloud: easily query and visualize your data</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/11/07/metabase-on-clever-cloud-easily-query-and-visualize-your-data/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Thu, 07 Nov 2024 15:00:04 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=14786</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-07-clever-cloud-banniere-blog-metabase-en-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Clever Cloud's promise is to deploy applications and services in an instant and maintain them in operational condition. But it also means offering you comprehensive tools to meet the needs of your teams: management interfaces, integrations, domains, backups, logs, metrics, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Provide reliable and sustainable solutions, production ready</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sometimes this involves complementary solutions, such as <a href="https://stagingv6.cleverapps.io/blog/company/2024/10/21/azimutt-on-clever-cloud-manage-your-databases-sql/">Azimutt</a>, <a href="https://stagingv6.cleverapps.io/blog/features/2022/05/11/how-to-deploy-keycloak-on-clever-cloud/">Keycloak</a>, MailPace or <a href="https://stagingv6.cleverapps.io/blog/engineering/2023/08/21/how-does-matomo-work-on-clever-cloud/">Matomo</a>, available as turnkey services that you can deploy like any other add-on via our <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">API</a>, the <a href="https://console.clever-cloud.com/">Console</a> or <a href="http://Clever Tools">Clever Tools</a>, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this field, the common approach is to let customers manage with a ‘1-click’ deployment of open source tools. Perfect for the demo effect and for having a minimal service to test. But what happens when you want to go further and use it on a day-to-day basis for your teams? What about the lifecycle of the application once deployed, updating it with the assurance of taking advantage of its new functions and the possibilities opened up by the synergies of the hosting platform?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is how we initially imagined our Marketplace strategy, which we have been implementing more actively in recent years: to continue to build Clever Cloud by looking for solutions for our customers, a way of supporting them while enabling them to benefit from our experience, our automation capacity… and our ecosystem. That's why we're developing it with partners.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our Marketplace is an offering that blends in with our native services, taking advantage of the strengths of our platform, our integrations and a unified payment system, but which is kept up to date by dedicated developers and teams who are experts in these solutions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Would you like to be one of them? Come and talk to us.</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/contact/">Contact us!</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Metabase: business intelligence (BI) brought to your team</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In the case of Metabase, we worked with <a href="https://david.sferruzza.fr/">David Sferruzza</a>, a long-time companion of Clever Cloud. David is a multi-entrepreneur (including <a href="https://www.hook0.com/" target="_blank" rel="noreferrer noopener">Hook0</a>, <a href="https://icilundi.fr" target="_blank" rel="noreferrer noopener">_icilundi</a> and <a href="https://www.wattflow.ai" target="_blank" rel="noreferrer noopener">Wattflow</a>), a trainer and a CTO who supports start-ups. When we had the opportunity to work with him on various add-on projects for our Marketplace, we said ‘Banco!’.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So, after a few weeks' work and an internal testing phase, <a href="https://www.metabase.com/">Metabase</a> in the Cloud is the first service available to all our customers. This open source solution connects to your <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a> and other databases! Any user can easily use it to create their own questions, and knowledge of SQL is not necessarily required. This means you can make your data available to all your employees.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>They can create graphs and dashboards, as well as reports that you will receive by e-mail or through tools such as Slack, and share these resources with third parties. You can also export this data in different formats, or use Metabase as a graphical interface for a read-only database. The possibilities are endless.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to use Metabase on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As with any add-on, it can be created using our <a href="https://github.com/CleverCloud/clever-tools">API</a>, <a href="https://console.clever-cloud.com/">Console</a> or <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">$ clever addon create metabase myMetabase
Add-on created successfully!
ID: addon_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Real ID: metabase_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Name: myMetabase

Your Metabase is starting:
 - Access it: https://xxxxxxxxxxxxxxxxxxxx-metabase.services.clever-cloud.com
 - Manage it: https://console.clever-cloud.com/addon_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>The Metabase Java application is now deployed with a PostgreSQL database, so there's nothing more to do. As soon as everything is ready, the management interface will display a configuration wizard asking you to create the administration account.You'll then be ready to add your first data sources, create Metabase questions and private and/or shared dashboards.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A service deployed the Clever Cloud way</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Naturally, you benefit from the simplicity of Clever Cloud: you can adapt the size and number of instances manually or via our automatic scalability parameters, opt for a larger database via our automatic migration tool, define which version or branch of Metabase you want to deploy, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you'd like to take advantage of a Metabase Enterprise Edition (EE) licence within our hosted infrastructure in Paris, that's also possible. Finally, we have facilitated integration with <a href="https://developers.clever-cloud.com/doc/addons/mailpace/">MailPace</a>, which is also available in our Marketplace. It can be linked to the application of your Metabase add-on and will be used automatically to send e-mails.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/metabase/">Metabase documentation on Clever Cloud</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>As we have always advocated an open approach to the Cloud, not locking customers into one supplier, this solution works whether or not the data sources are hosted by Clever Cloud. You can easily import a self-hosted Metabase into our <a href="https://stagingv6.cleverapps.io/infrastructure/">infrastructure</a>, and the reverse is also possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This add-on is currently available in beta to all our customers. This means that it is fully functional and can be used on a day-to-day basis without any loss of data or functionality, but that we are currently in the process of improving its experience and the way in which you can deploy and use it. Don't hesitate to give us your feedback in <a href="https://github.com/CleverCloud/Community/discussions/categories/metabase" target="_blank" rel="noreferrer noopener">our GitHub community</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Want to find out more? Feel free to deploy and use the service from our Console. A presentation by David and our chief DevRel Horacio will be held on <strong>Tuesday 12 November from 1:00 PM to 2:00 PM</strong> on <a href="https://www.twitch.tv/clevercloud">our Twitch channel</a>.</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-07-clever-cloud-banniere-blog-metabase-en-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/11/2024-11-07-clever-cloud-banniere-blog-metabase-en-1-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Clever Cloud's promise is to deploy applications and services in an instant and maintain them in operational condition. But it also means offering you comprehensive tools to meet the needs of your teams: management interfaces, integrations, domains, backups, logs, metrics, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Provide reliable and sustainable solutions, production ready</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sometimes this involves complementary solutions, such as <a href="https://stagingv6.cleverapps.io/blog/company/2024/10/21/azimutt-on-clever-cloud-manage-your-databases-sql/">Azimutt</a>, <a href="https://stagingv6.cleverapps.io/blog/features/2022/05/11/how-to-deploy-keycloak-on-clever-cloud/">Keycloak</a>, MailPace or <a href="https://stagingv6.cleverapps.io/blog/engineering/2023/08/21/how-does-matomo-work-on-clever-cloud/">Matomo</a>, available as turnkey services that you can deploy like any other add-on via our <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">API</a>, the <a href="https://console.clever-cloud.com/">Console</a> or <a href="http://Clever Tools">Clever Tools</a>, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this field, the common approach is to let customers manage with a ‘1-click’ deployment of open source tools. Perfect for the demo effect and for having a minimal service to test. But what happens when you want to go further and use it on a day-to-day basis for your teams? What about the lifecycle of the application once deployed, updating it with the assurance of taking advantage of its new functions and the possibilities opened up by the synergies of the hosting platform?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is how we initially imagined our Marketplace strategy, which we have been implementing more actively in recent years: to continue to build Clever Cloud by looking for solutions for our customers, a way of supporting them while enabling them to benefit from our experience, our automation capacity… and our ecosystem. That's why we're developing it with partners.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our Marketplace is an offering that blends in with our native services, taking advantage of the strengths of our platform, our integrations and a unified payment system, but which is kept up to date by dedicated developers and teams who are experts in these solutions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Would you like to be one of them? Come and talk to us.</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/contact/">Contact us!</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Metabase: business intelligence (BI) brought to your team</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In the case of Metabase, we worked with <a href="https://david.sferruzza.fr/">David Sferruzza</a>, a long-time companion of Clever Cloud. David is a multi-entrepreneur (including <a href="https://www.hook0.com/" target="_blank" rel="noreferrer noopener">Hook0</a>, <a href="https://icilundi.fr" target="_blank" rel="noreferrer noopener">_icilundi</a> and <a href="https://www.wattflow.ai" target="_blank" rel="noreferrer noopener">Wattflow</a>), a trainer and a CTO who supports start-ups. When we had the opportunity to work with him on various add-on projects for our Marketplace, we said ‘Banco!’.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So, after a few weeks' work and an internal testing phase, <a href="https://www.metabase.com/">Metabase</a> in the Cloud is the first service available to all our customers. This open source solution connects to your <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a> and other databases! Any user can easily use it to create their own questions, and knowledge of SQL is not necessarily required. This means you can make your data available to all your employees.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>They can create graphs and dashboards, as well as reports that you will receive by e-mail or through tools such as Slack, and share these resources with third parties. You can also export this data in different formats, or use Metabase as a graphical interface for a read-only database. The possibilities are endless.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to use Metabase on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As with any add-on, it can be created using our <a href="https://github.com/CleverCloud/clever-tools">API</a>, <a href="https://console.clever-cloud.com/">Console</a> or <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a> :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">$ clever addon create metabase myMetabase
Add-on created successfully!
ID: addon_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Real ID: metabase_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Name: myMetabase

Your Metabase is starting:
 - Access it: https://xxxxxxxxxxxxxxxxxxxx-metabase.services.clever-cloud.com
 - Manage it: https://console.clever-cloud.com/addon_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>The Metabase Java application is now deployed with a PostgreSQL database, so there's nothing more to do. As soon as everything is ready, the management interface will display a configuration wizard asking you to create the administration account.You'll then be ready to add your first data sources, create Metabase questions and private and/or shared dashboards.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A service deployed the Clever Cloud way</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Naturally, you benefit from the simplicity of Clever Cloud: you can adapt the size and number of instances manually or via our automatic scalability parameters, opt for a larger database via our automatic migration tool, define which version or branch of Metabase you want to deploy, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you'd like to take advantage of a Metabase Enterprise Edition (EE) licence within our hosted infrastructure in Paris, that's also possible. Finally, we have facilitated integration with <a href="https://developers.clever-cloud.com/doc/addons/mailpace/">MailPace</a>, which is also available in our Marketplace. It can be linked to the application of your Metabase add-on and will be used automatically to send e-mails.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/metabase/">Metabase documentation on Clever Cloud</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>As we have always advocated an open approach to the Cloud, not locking customers into one supplier, this solution works whether or not the data sources are hosted by Clever Cloud. You can easily import a self-hosted Metabase into our <a href="https://stagingv6.cleverapps.io/infrastructure/">infrastructure</a>, and the reverse is also possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This add-on is currently available in beta to all our customers. This means that it is fully functional and can be used on a day-to-day basis without any loss of data or functionality, but that we are currently in the process of improving its experience and the way in which you can deploy and use it. Don't hesitate to give us your feedback in <a href="https://github.com/CleverCloud/Community/discussions/categories/metabase" target="_blank" rel="noreferrer noopener">our GitHub community</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Want to find out more? Feel free to deploy and use the service from our Console. A presentation by David and our chief DevRel Horacio will be held on <strong>Tuesday 12 November from 1:00 PM to 2:00 PM</strong> on <a href="https://www.twitch.tv/clevercloud">our Twitch channel</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azimutt on Clever Cloud: easily view and manage your SQL databases</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/10/21/azimutt-on-clever-cloud-manage-your-databases-sql/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Mon, 21 Oct 2024 12:06:47 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=14313</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>While Clever Cloud makes it easy for you to deploy your applications, our platform is also highly appreciated for its managed databases. Using our  <a href="https://developers.clever-cloud.com/api/" target="_blank" rel="noreferrer noopener">API</a>, <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">CLI</a> or <a href="https://console.clever-cloud.com" target="_blank" rel="noreferrer noopener">Console</a>, you can create  <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a>, <a href="https://stagingv6.cleverapps.io/product/redis/">Redis</a>, <a href="https://stagingv6.cleverapps.io/product/elasticsearch/">ElasticSearch</a> and, of course, our <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">Materia KV</a> serverless offering.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Like all our other solutions, our databases are not only easy to configure, they also come with turnkey tooling, whether for association with one or more applications, logging, metrics, management interfaces, etc. This tooling is constantly being improved to better meet our customers' needs. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This sometimes leads to in-house developments, such as our “Explorer”, which we'll be talking about shortly. But we also seek to associate ourselves with partners offering services that correspond to our philosophy, bringing value and simplicity to our customers. And that's what <a href="https://azimutt.app/" target="_blank" rel="noreferrer noopener">Azimutt</a> offers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Azimutt: a new way to explore your SQL databases (among others)</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We've been following this startup, founded by Loïc Knuchel, for several years now. The engineer, who has also worked for Criteo, Zeenea and Doctolib, has created a tool for visualizing and exploring in detail the content of databases (tables, relations, constraints, etc.), especially for very large ones. But also to document them, to analyze them in order to identify possible problems and improve performance, and to carry out this work in a team in a pleasant interface, integrating AI functionalities.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":14467,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image alignwide size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2024/10/azimutt-ecommerce-9786c09ff2f036d8f3aaff34c341631d-1024x587.png" alt="Azimutt interface" class="wp-image-14467"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The tool is entirely <a href="https://github.com/azimuttapp/azimutt" target="_blank" rel="noreferrer noopener">open source</a>, and relies in part on its Gateway, launched as an external service, for all database connections. It can be launched on the user's machine or hosted on servers. As a result, <a href="https://azimutt.app/docs/data-privacy" target="_blank" rel="noreferrer noopener">nothing passes through Azimutt's infrastructure</a>, and local databases can be explored too. You can also import your schema with a SQL file or define it using <a href="https://azimutt.app/features/aml" target="_blank" rel="noreferrer noopener">Azimutt Markup Language</a> (AML).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Loïc decided a few months ago to devote himself fully to this project, so it was obvious for us<a href="https://stagingv6.cleverapps.io/blog/company/2024/09/17/clever-cloud-welcomes-the-first-startups-to-the-up-programme/" target="_blank" rel="noreferrer noopener"> to support him</a> when he applied for <a href="https://stagingv6.cleverapps.io/blog/company/2024/09/17/clever-cloud-welcomes-the-first-startups-to-the-up-programme/">our “UP” program</a>. It was also an opportunity for us to go one step further and integrate Azimutt into the Clever Cloud marketplace, enabling <a href="https://developers.clever-cloud.com/doc/marketplace/">everyone to distribute their services</a> within our platform, for certain organizations or all our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to use Azimutt on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>So we worked with Loïc to offer Azimutt on Clever Cloud. We host our own gateway, which you benefit from, when you create an Azimutt add-on (your data on Clever Cloud, stay on Clever Cloud). By default, you'll have access to the free offer for easy exploration of your databases.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> To collaborate as a team and improve understanding of your enterprise-wide data model, other plans are available. Payment will be made through your monthly invoice, like any other of our services.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As with any add-on, creation can be done via our API, the Console or Clever Tools :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create azimutt myAzimutt
clever console</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once the add-on has been created, you'll be presented with a page in which you simply type in the URI of a relational database to access it in the Azimutt interface. Your account will be created, your subscription configured, there's nothing more to do.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":14466,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/10/sans-titre-1024x512.png" alt="Azimutt on Clever Cloud" class="wp-image-14466"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>As we have always advocated for an open approach to the Cloud, not blocking customers to one provider, this solution works whether or not databases are hosted at Clever Cloud. This includes SQL databases an non-SQL databases such as MongoDB, MySQL PostgreSQL, AlloyDB, Amazon Aurora/SDS, Azure SQL, Big Query, Google Cloud SQL, Oracle, Snowflake, etc. The full list of connectors is available <a href="https://azimutt.app/connectors" target="_blank" rel="noreferrer noopener">on the Azimutt website</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is just the first step in the integration of Azimutt, which we'll further integrate into our platform and its managed database offering over the coming months. If you have any questions, comments or suggestions, please let us know in <a href="https://github.com/CleverCloud/Community/discussions/categories/dbaas">our GitHub community space</a>. This will help us to improve this product, both on the Clever Cloud side and on the Azimutt side.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Want to find out more? Feel free to deploy and use the service from <a href="https://console.clever-cloud.com/">our Console</a>. A presentation by Loïc and our head of DevRel Horacio will be held <strong>this thursday, October 24 from 1pm to 2 pm</strong> <a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener">on our Twitch channel</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="800" class="aligncenter" height="450" src="https://www.youtube-nocookie.com/embed/_wkS1B-krRw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en.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/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-21-clever-cloud-banniere-blog-azimutt-en-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>While Clever Cloud makes it easy for you to deploy your applications, our platform is also highly appreciated for its managed databases. Using our  <a href="https://developers.clever-cloud.com/api/" target="_blank" rel="noreferrer noopener">API</a>, <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">CLI</a> or <a href="https://console.clever-cloud.com" target="_blank" rel="noreferrer noopener">Console</a>, you can create  <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a>, <a href="https://stagingv6.cleverapps.io/product/redis/">Redis</a>, <a href="https://stagingv6.cleverapps.io/product/elasticsearch/">ElasticSearch</a> and, of course, our <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">Materia KV</a> serverless offering.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Like all our other solutions, our databases are not only easy to configure, they also come with turnkey tooling, whether for association with one or more applications, logging, metrics, management interfaces, etc. This tooling is constantly being improved to better meet our customers' needs. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This sometimes leads to in-house developments, such as our “Explorer”, which we'll be talking about shortly. But we also seek to associate ourselves with partners offering services that correspond to our philosophy, bringing value and simplicity to our customers. And that's what <a href="https://azimutt.app/" target="_blank" rel="noreferrer noopener">Azimutt</a> offers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Azimutt: a new way to explore your SQL databases (among others)</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We've been following this startup, founded by Loïc Knuchel, for several years now. The engineer, who has also worked for Criteo, Zeenea and Doctolib, has created a tool for visualizing and exploring in detail the content of databases (tables, relations, constraints, etc.), especially for very large ones. But also to document them, to analyze them in order to identify possible problems and improve performance, and to carry out this work in a team in a pleasant interface, integrating AI functionalities.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":14467,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image alignwide size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2024/10/azimutt-ecommerce-9786c09ff2f036d8f3aaff34c341631d-1024x587.png" alt="Azimutt interface" class="wp-image-14467"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The tool is entirely <a href="https://github.com/azimuttapp/azimutt" target="_blank" rel="noreferrer noopener">open source</a>, and relies in part on its Gateway, launched as an external service, for all database connections. It can be launched on the user's machine or hosted on servers. As a result, <a href="https://azimutt.app/docs/data-privacy" target="_blank" rel="noreferrer noopener">nothing passes through Azimutt's infrastructure</a>, and local databases can be explored too. You can also import your schema with a SQL file or define it using <a href="https://azimutt.app/features/aml" target="_blank" rel="noreferrer noopener">Azimutt Markup Language</a> (AML).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Loïc decided a few months ago to devote himself fully to this project, so it was obvious for us<a href="https://stagingv6.cleverapps.io/blog/company/2024/09/17/clever-cloud-welcomes-the-first-startups-to-the-up-programme/" target="_blank" rel="noreferrer noopener"> to support him</a> when he applied for <a href="https://stagingv6.cleverapps.io/blog/company/2024/09/17/clever-cloud-welcomes-the-first-startups-to-the-up-programme/">our “UP” program</a>. It was also an opportunity for us to go one step further and integrate Azimutt into the Clever Cloud marketplace, enabling <a href="https://developers.clever-cloud.com/doc/marketplace/">everyone to distribute their services</a> within our platform, for certain organizations or all our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to use Azimutt on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>So we worked with Loïc to offer Azimutt on Clever Cloud. We host our own gateway, which you benefit from, when you create an Azimutt add-on (your data on Clever Cloud, stay on Clever Cloud). By default, you'll have access to the free offer for easy exploration of your databases.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> To collaborate as a team and improve understanding of your enterprise-wide data model, other plans are available. Payment will be made through your monthly invoice, like any other of our services.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As with any add-on, creation can be done via our API, the Console or Clever Tools :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create azimutt myAzimutt
clever console</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once the add-on has been created, you'll be presented with a page in which you simply type in the URI of a relational database to access it in the Azimutt interface. Your account will be created, your subscription configured, there's nothing more to do.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":14466,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/10/sans-titre-1024x512.png" alt="Azimutt on Clever Cloud" class="wp-image-14466"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>As we have always advocated for an open approach to the Cloud, not blocking customers to one provider, this solution works whether or not databases are hosted at Clever Cloud. This includes SQL databases an non-SQL databases such as MongoDB, MySQL PostgreSQL, AlloyDB, Amazon Aurora/SDS, Azure SQL, Big Query, Google Cloud SQL, Oracle, Snowflake, etc. The full list of connectors is available <a href="https://azimutt.app/connectors" target="_blank" rel="noreferrer noopener">on the Azimutt website</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is just the first step in the integration of Azimutt, which we'll further integrate into our platform and its managed database offering over the coming months. If you have any questions, comments or suggestions, please let us know in <a href="https://github.com/CleverCloud/Community/discussions/categories/dbaas">our GitHub community space</a>. This will help us to improve this product, both on the Clever Cloud side and on the Azimutt side.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Want to find out more? Feel free to deploy and use the service from <a href="https://console.clever-cloud.com/">our Console</a>. A presentation by Loïc and our head of DevRel Horacio will be held <strong>this thursday, October 24 from 1pm to 2 pm</strong> <a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener">on our Twitch channel</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="text-align: center;"><iframe width="800" class="aligncenter" height="450" src="https://www.youtube-nocookie.com/embed/_wkS1B-krRw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
<!-- /wp:html -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>FrankenPHP, sessions in Materia KV, lifecycle: what will change in PHP on Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/10/09/news-php-on-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Wed, 09 Oct 2024 14:29:52 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[feature]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=14268</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en.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/10/2024-10-09-clever-cloud-banniere-blog-php-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>While we'll have a detailed look at all of this in future articles (you can get a glimpse of it in <a href="https://developers.clever-cloud.com/changelog/" target="_blank" rel="noreferrer noopener">our public changelog</a>), there's one subject that's close to our heart: our images.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Each time you deploy an add-on or application on our platform, our orchestrator provides you with a virtual machine based on Exherbo Linux, for which we have built the kernel and binaries specifically to guarantee a classic, high-performance, up-to-date and secure GNU/Linux environment. This environment is configured in a standard way, mainly via environment variables.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This minimal system, specific to our needs and ready to be configured, makes up what we call our images. Over the past few months, we've radically changed the way we design them. Until now, we had different images for each of our runtimes/languages, or almost all of them. Updating and testing images was sometimes complex and very manual. So we simplified and automated all of this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For several weeks now, we've had regularly-generated image, which differs very little according to needs, and which we put through a battery of drastic tests to ensure that any application will deploy smoothly as it evolves. Implementation has been smooth over the months, and we are now at the end of a process that has been transparent to all our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Why tell you about it today? Because i<strong>t's what will enable us to gradually review and improve the way you deploy applications on Clever Cloud</strong>. We've already laid a few building blocks here and there, like <a href="https://developers.clever-cloud.com/changelog/2024-10-01-python-image-changes/">the integration of uv for Python</a>, for example. But things are going to change much more significantly over the coming months and through 2025. One of our biggest runtimes is PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">PHP 8.4, sessions in Materia KV</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our discussions with the community at last year's PHP Forum gave us the opportunity to think about how we could improve things. One of the recurring requests was for us to be more responsive in our support for new versions of PHP. The changes we've made will enable us to test the move to PHP 8.4, expected at the end of November, more quickly. Once it's been validated and integrated into Clever Cloud, you'll be able to activate it via a simple environment variable update.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The flexibility of PHP sessions was also a recurring topic. <a href="https://developers.clever-cloud.com/doc/applications/php/#configure-the-session-storage">Currently</a>, they can rely on local persistent storage or a Redis database linked to your application. This summer, we worked to tailor our <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">Materia KV technology</a> to this need. A few days ago, we put <a href="https://developers.clever-cloud.com/changelog/2024-10-01-materia-kv-ttl-layer-update/">a new version into production</a>, with support for expiring keys and commands enabling it to be supported transparently for users.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/php-sessions-kv-example" target="_blank" rel="noreferrer noopener">Deploy a demo PHP application with sessions in Materia KV</a> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>This is quite simple: retrieve the above repository content with <code>git</code>,  <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, then create a PHP application as if it were to host its sessions on a Redis database, the code is identical:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t php --alias phpSessions
clever env set ENABLE_REDIS "true"
clever env set SESSION_TYPE "redis"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once done, create a Materia KV add-on and link it to the application you've just created:</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>After that, just deploy the application, and in a few seconds you'll have the expected result, taking advantage of everything that goes with the Clever Cloud platform: keeping it up and running, domains and TLS certificates management, logs, metrics, and so on.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>How did we achieve this? When we designed Materia KV, we set out to create a different kind of key-value database, complementary to our current offering. It is therefore distributed and highly resilient (the data is written in three of our data centers in Paris), but can be used almost seamlessly, since it is compatible with existing ecosystems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, it currently supports the protocol on which Redis is based, and can be used with similar commands or clients such as iredis, redis-cli, valkey-cli, graphical interfaces, etc. We will shortly be adding Dynamo DB and GraphQL.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/materia-kv/">Learn more about Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Franken PHP, better deployment</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another topic close to our hearts is the integration of <a href="https://frankenphp.dev/" target="_blank" rel="noreferrer noopener">Franken PHP</a>, developed by our friends and partners at <a href="https://les-tilleuls.coop">Les Tilleuls</a>. Mixing PHP with a Caddy web server in a rather elegant and unusual way, this solution allows us to think differently about the deployment and configuration of PHP applications, and is increasingly appealing in this ecosystem, which has largely regained vitality in recent years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We tested it on Clever Cloud, and explained to some customers <a href="https://github.com/CleverCloud/?q=franken&amp;type=all&amp;language=&amp;sort=" target="_blank" rel="noreferrer noopener">how to deploy it</a>, via Docker or natively. Above all, we wanted to go one step further and integrate it directly into our images, to simplify its use within our platform. This will soon be the case, thanks to our work on simplifying and redesigning our images. At the same time, we'll be gradually improving our deployment of PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At the moment, we're operating on the basis of the language's legacy, some of which dates back to versions 5.x or 7.x, which can sometimes hold us back in the developments we'd like to implement. After the release of PHP 8.4, we're going to stick to the “historical” operation of our PHP image, so that our customers can benefit from stability in the deployment of their applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But most of all, it will enable us to reinvent some areas by focusing on actively supported versions of PHP, with clear management of application and runtime lifecycles. We'll tell you more about this plan later in the year.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Let's discuss at PHP Forum</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As you may have gathered, the PHP community is very important to us. That's why we're partnering with AFUP again this year. We'll be present at <strong><a href="https://event.afup.org/">the 2024 PHP Forum</a> being held on October 10 and 11 at the New York Hotel in Disneyland Paris</strong>. Don't hesitate to come and chat with us, we'll have a few surprises and exclusives to show off on site. It will also be an opportunity for you to share your feedback and requests. Because that's how we want to build the future of Clever Cloud: together.</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/10/2024-10-09-clever-cloud-banniere-blog-php-en.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/10/2024-10-09-clever-cloud-banniere-blog-php-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-en-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>While we'll have a detailed look at all of this in future articles (you can get a glimpse of it in <a href="https://developers.clever-cloud.com/changelog/" target="_blank" rel="noreferrer noopener">our public changelog</a>), there's one subject that's close to our heart: our images.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>Each time you deploy an add-on or application on our platform, our orchestrator provides you with a virtual machine based on Exherbo Linux, for which we have built the kernel and binaries specifically to guarantee a classic, high-performance, up-to-date and secure GNU/Linux environment. This environment is configured in a standard way, mainly via environment variables.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This minimal system, specific to our needs and ready to be configured, makes up what we call our images. Over the past few months, we've radically changed the way we design them. Until now, we had different images for each of our runtimes/languages, or almost all of them. Updating and testing images was sometimes complex and very manual. So we simplified and automated all of this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For several weeks now, we've had regularly-generated image, which differs very little according to needs, and which we put through a battery of drastic tests to ensure that any application will deploy smoothly as it evolves. Implementation has been smooth over the months, and we are now at the end of a process that has been transparent to all our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Why tell you about it today? Because i<strong>t's what will enable us to gradually review and improve the way you deploy applications on Clever Cloud</strong>. We've already laid a few building blocks here and there, like <a href="https://developers.clever-cloud.com/changelog/2024-10-01-python-image-changes/">the integration of uv for Python</a>, for example. But things are going to change much more significantly over the coming months and through 2025. One of our biggest runtimes is PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">PHP 8.4, sessions in Materia KV</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our discussions with the community at last year's PHP Forum gave us the opportunity to think about how we could improve things. One of the recurring requests was for us to be more responsive in our support for new versions of PHP. The changes we've made will enable us to test the move to PHP 8.4, expected at the end of November, more quickly. Once it's been validated and integrated into Clever Cloud, you'll be able to activate it via a simple environment variable update.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The flexibility of PHP sessions was also a recurring topic. <a href="https://developers.clever-cloud.com/doc/applications/php/#configure-the-session-storage">Currently</a>, they can rely on local persistent storage or a Redis database linked to your application. This summer, we worked to tailor our <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">Materia KV technology</a> to this need. A few days ago, we put <a href="https://developers.clever-cloud.com/changelog/2024-10-01-materia-kv-ttl-layer-update/">a new version into production</a>, with support for expiring keys and commands enabling it to be supported transparently for users.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/php-sessions-kv-example" target="_blank" rel="noreferrer noopener">Deploy a demo PHP application with sessions in Materia KV</a> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>This is quite simple: retrieve the above repository content with <code>git</code>,  <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, then create a PHP application as if it were to host its sessions on a Redis database, the code is identical:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t php --alias phpSessions
clever env set ENABLE_REDIS "true"
clever env set SESSION_TYPE "redis"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once done, create a Materia KV add-on and link it to the application you've just created:</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>After that, just deploy the application, and in a few seconds you'll have the expected result, taking advantage of everything that goes with the Clever Cloud platform: keeping it up and running, domains and TLS certificates management, logs, metrics, and so on.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p>How did we achieve this? When we designed Materia KV, we set out to create a different kind of key-value database, complementary to our current offering. It is therefore distributed and highly resilient (the data is written in three of our data centers in Paris), but can be used almost seamlessly, since it is compatible with existing ecosystems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, it currently supports the protocol on which Redis is based, and can be used with similar commands or clients such as iredis, redis-cli, valkey-cli, graphical interfaces, etc. We will shortly be adding Dynamo DB and GraphQL.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/materia-kv/">Learn more about Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Franken PHP, better deployment</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another topic close to our hearts is the integration of <a href="https://frankenphp.dev/" target="_blank" rel="noreferrer noopener">Franken PHP</a>, developed by our friends and partners at <a href="https://les-tilleuls.coop">Les Tilleuls</a>. Mixing PHP with a Caddy web server in a rather elegant and unusual way, this solution allows us to think differently about the deployment and configuration of PHP applications, and is increasingly appealing in this ecosystem, which has largely regained vitality in recent years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We tested it on Clever Cloud, and explained to some customers <a href="https://github.com/CleverCloud/?q=franken&amp;type=all&amp;language=&amp;sort=" target="_blank" rel="noreferrer noopener">how to deploy it</a>, via Docker or natively. Above all, we wanted to go one step further and integrate it directly into our images, to simplify its use within our platform. This will soon be the case, thanks to our work on simplifying and redesigning our images. At the same time, we'll be gradually improving our deployment of PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At the moment, we're operating on the basis of the language's legacy, some of which dates back to versions 5.x or 7.x, which can sometimes hold us back in the developments we'd like to implement. After the release of PHP 8.4, we're going to stick to the “historical” operation of our PHP image, so that our customers can benefit from stability in the deployment of their applications.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But most of all, it will enable us to reinvent some areas by focusing on actively supported versions of PHP, with clear management of application and runtime lifecycles. We'll tell you more about this plan later in the year.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Let's discuss at PHP Forum</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As you may have gathered, the PHP community is very important to us. That's why we're partnering with AFUP again this year. We'll be present at <strong><a href="https://event.afup.org/">the 2024 PHP Forum</a> being held on October 10 and 11 at the New York Hotel in Disneyland Paris</strong>. Don't hesitate to come and chat with us, we'll have a few surprises and exclusives to show off on site. It will also be an opportunity for you to share your feedback and requests. Because that's how we want to build the future of Clever Cloud: together.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A minor update resulted in a cascade of errors: how it went wrong, what we’ve learnt</title>
		<link>https://stagingv6.cleverapps.io/blog/engineering/2024/08/14/a-minor-update-resulted-in-a-cascade-of-errors/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Wed, 14 Aug 2024 14:42:09 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[downtime]]></category>
		<category><![CDATA[postmortem]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=13738</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Incident" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:heading -->
<h2 class="wp-block-heading">Minor update, bigger consequences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The global incident started after we initiated a minor rolling maintenance upgrade of Apache Pulsar (3.3.1). It enabled a new balancer algorithm for bundles placement optimization which caused troubles. We quickly detected it, kept the 3.3.1 release and rolled back the defective configuration.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The initial problem, although fixed, resulted in a metadata conflict. We had to stop all messaging brokers to start only one, preventing metadata conflict between them, and succeeded in getting back to a nominal situation. But after that our infrastructure experienced I/O and memory pressure, causing some hypervisors to crash.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The unavailability of the Apache Pulsar messaging layer has led to the buffering of some telemetry agents on the virtual machines (VMs) running on hypervisors (HVs). They started to buffer in memory while messaging service endpoints weren’t available.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Reach the limits of our smaller VMs&nbsp;</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For small VMs it reached a memory limit which triggered a lot of pressure on the kernel. When it happens, the kernel tries to flush memory and caches, remove processes from memory to load them instruction per instruction from disk. This is generating a lot of I/O disk pressure on the underlying hypervisor. A few minutes after HVs load increased, we started to see kernel panics on some of them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Small VMs are spreaded globally among our Availability Zones, so we ended up having an overloaded server infrastructure. As we needed the scheduler to manage the situation, the control plane was performing suboptimally and the infrastructure struggled to provide available resources.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So we had to shut down all non critical services and our SRE team redeployed one by one the overloaded small VMs. Then we started to regain control over all hypervisors and were able to take our infrastructure back to its optimal state.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What’s next?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For non minor releases, we use a simulation process that emulates a full environment where we inject changes. This validates upgrades and changes by observing the infrastructure behavior before going to production. This process wasn’t used for minor maintenance upgrades or (apparently) small changes in the configuration profile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This incident taught us a lot and we identified some progress areas regarding our images, tools configuration and integration, or small VMs setup. We’ve taken some immediate actions and will work on more deep topics in the coming weeks.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>We sincerely apologize for any inconvenience this incident may have caused. Your trust is paramount to us, and we are committed to providing you with the highest level of service reliability.&nbsp;</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can learn more about the schedule and technical analysis of the incident in <a href="https://developers.clever-cloud.com/postmortem/2024-08-02/">our public postmortem</a>. If you have any questions or concerns, please don't hesitate to <a href="https://console.clever-cloud.com/ticket-center-choice">reach out to our support team</a>.</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/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Incident" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/08/2024-08-14-clever-cloud-banniere-blog-incident-2-aout-2024-en-1-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:heading -->
<h2 class="wp-block-heading">Minor update, bigger consequences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The global incident started after we initiated a minor rolling maintenance upgrade of Apache Pulsar (3.3.1). It enabled a new balancer algorithm for bundles placement optimization which caused troubles. We quickly detected it, kept the 3.3.1 release and rolled back the defective configuration.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The initial problem, although fixed, resulted in a metadata conflict. We had to stop all messaging brokers to start only one, preventing metadata conflict between them, and succeeded in getting back to a nominal situation. But after that our infrastructure experienced I/O and memory pressure, causing some hypervisors to crash.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The unavailability of the Apache Pulsar messaging layer has led to the buffering of some telemetry agents on the virtual machines (VMs) running on hypervisors (HVs). They started to buffer in memory while messaging service endpoints weren’t available.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Reach the limits of our smaller VMs&nbsp;</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For small VMs it reached a memory limit which triggered a lot of pressure on the kernel. When it happens, the kernel tries to flush memory and caches, remove processes from memory to load them instruction per instruction from disk. This is generating a lot of I/O disk pressure on the underlying hypervisor. A few minutes after HVs load increased, we started to see kernel panics on some of them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Small VMs are spreaded globally among our Availability Zones, so we ended up having an overloaded server infrastructure. As we needed the scheduler to manage the situation, the control plane was performing suboptimally and the infrastructure struggled to provide available resources.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So we had to shut down all non critical services and our SRE team redeployed one by one the overloaded small VMs. Then we started to regain control over all hypervisors and were able to take our infrastructure back to its optimal state.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What’s next?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For non minor releases, we use a simulation process that emulates a full environment where we inject changes. This validates upgrades and changes by observing the infrastructure behavior before going to production. This process wasn’t used for minor maintenance upgrades or (apparently) small changes in the configuration profile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This incident taught us a lot and we identified some progress areas regarding our images, tools configuration and integration, or small VMs setup. We’ve taken some immediate actions and will work on more deep topics in the coming weeks.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>We sincerely apologize for any inconvenience this incident may have caused. Your trust is paramount to us, and we are committed to providing you with the highest level of service reliability.&nbsp;</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can learn more about the schedule and technical analysis of the incident in <a href="https://developers.clever-cloud.com/postmortem/2024-08-02/">our public postmortem</a>. If you have any questions or concerns, please don't hesitate to <a href="https://console.clever-cloud.com/ticket-center-choice">reach out to our support team</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Materia KV: our easy-to-use serverless key-value database is available to all</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2024/06/11/materia-kv-our-easy-to-use-serverless-key-value-database-is-available-to-all/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Tue, 11 Jun 2024 11:37:46 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[release]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12497</guid>

					<description><![CDATA[<p><img width="1600" height="800" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV: our easy-to-use serverless key-value database is available to all" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1368x684.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>They “push” their code, and we deploy it, while ensuring that the environment in which they operate is kept up to date and secure, with one clear objective: maintaining it in operational condition. Whatever the situation, their service responds.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Designing simple, robust and innovative services</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We do this whilst minimizing the footprint on our servers, offering on-demand or automatic horizontal/vertical scaling. This means we can multiply instances or scale them up / down according to the load of your sites. This commitment to simplicity extends beyond applications, as we also offer a wide range of “as-a-service” database (DB) services, enabling you to deploy <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a> or <a href="https://stagingv6.cleverapps.io/product/redis/">Redis</a> environments in a matter of seconds, with the same tools and guarantees.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, over the past few years, we faced a number of recurring requests: not only did some of our customers wish to access other services, but they also regularly asked to take benefit of our infrastructure, spread over three datacenters, to obtain high-availability services. But when it comes to DB, this isn't always easy to implement while ensuring a high level of automation and data consistency. So we decided to develop our own range of products to achieve this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The “<a href="https://stagingv6.cleverapps.io/materia/">Materia</a>” project was born, based on the <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a> open-source transactional engine used, for example, by <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> for its iCloud services and by <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. We're contributing to it and adapting it to our needs, while taking advantage of its distributed and resilient aspect, notably due to its significant <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a> capacity. It allows us to imagine a whole universe of serverless services, very simple to use, invoiced on a pay-per-use basis, with compatibility layers we're developing to enable our customers to “talk” to it using existing protocols such as DynamoDB, GraphQL or PostgreSQL, for example.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV available to all</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We started with the Redis protocol to introduce Materia KV, <strong>currently in Alpha testing phase</strong>. It's a key-value database synchronously replicated across our three Paris datacenters. When our servers respond, your data has been written three times. Above all, it's very easy to use: go to our <a href="https://console.clever-cloud.com">Console</a>, create a Materia KV add-on, and you'll instantly obtain a token that can be used with any Redis client or by sending commands to our servers directly through the TCP protocol.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, you can now benefit from a high-availability, key-value data storage solution, without having to configure a single instance, and with no minimum monthly fee: you simply pay for what you use. Above all, we provide this service with compatibility to existing protocols. Today Redis, tomorrow DynamoDB and GraphQL. The list of supported commands is available <a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands">here</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Launched at <a href="https://stagingv6.cleverapps.io/blog/company/2024/04/16/materiadb-kv-materia-functions/">Devoxx France mid-April</a>, Materia KV made a big splash on site and during our demonstrations since then. We've therefore decided to make it available to all, to enable our customers and the interested public to give us feedback on how it works for them, and what their needs are. While billing will be on a per-use basis starting with the Beta phase, right now it's free! So give it a try and <a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener">let us know what you think</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">Create a Materia KV add-on</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">Materia KV documentation</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Already built-in our tools and interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV is of course available as an addon-provider in <a href="https://developers.clever-cloud.com/api/">our API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs" target="_blank" rel="noreferrer noopener">Terraform</a> (or OpenTofu, for example), but also in our CLI, <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>. To create an access token, simply run the following command:</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>This add-on can be linked directly to a Clever Cloud application, injecting its environment variables. But you can also use it from any third-party service, command-line client (CLI) or with graphical user interface (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While Materia KV and its various interfaces will be developed over time, we've started to think about integrating it into Clever Tools. A test branch, available <a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener">as a binary</a> and <a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener">documented</a>, offers a clever <code>kv command</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With it, you can directly send requests to Materia KV by having the environment variable configured locally, or by specifying an ID in your commands:</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>As this demo version doesn't handle all the commands managed by Materia KV, you can send a “raw” command and it will return the answer :</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>To demonstrate the possibilities of such integration, you also have the option of directly querying a JSON object stored in a key :</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>To show just how simple such implementations can be, we've written a Materia KV client <a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener">in Go</a> using Go-Redis. If you'd rather understand how you can send commands and receive responses from Materia KV directly in TCP, you'll find examples in both <a href="https://github.com/CleverCloud/mkv-raw-tcp-v" target="_blank" rel="noreferrer noopener">V</a> or <a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener">Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Feel free to create your own and let us know ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A demonstration of Materia KV on Twitch, a community space</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12691,"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--en-1024x576.png" alt="" class="wp-image-12691"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Want to find out more? Horacio González, our head of DevRel, will be giving a demonstration <a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener">on Twitch</a> on Tuesday June 18 at 13h15 (Paris Time). Pierre Zemb, creator of Materia at Clever Cloud, will also be discussing with our CTO Steven Le Roux in a video published at the end of June on <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">Clever Cloud's YouTube channel</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And to share your views, questions and requirements, go to the Materia-dedicated section of our <a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener">GitHub community space</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/materia-kv-alpha-publique-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV: our easy-to-use serverless key-value database is available to all" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/materia-kv-alpha-publique-en-1368x684.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>They “push” their code, and we deploy it, while ensuring that the environment in which they operate is kept up to date and secure, with one clear objective: maintaining it in operational condition. Whatever the situation, their service responds.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Designing simple, robust and innovative services</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We do this whilst minimizing the footprint on our servers, offering on-demand or automatic horizontal/vertical scaling. This means we can multiply instances or scale them up / down according to the load of your sites. This commitment to simplicity extends beyond applications, as we also offer a wide range of “as-a-service” database (DB) services, enabling you to deploy <a href="https://stagingv6.cleverapps.io/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/product/postgresql/">PostgreSQL</a> or <a href="https://stagingv6.cleverapps.io/product/redis/">Redis</a> environments in a matter of seconds, with the same tools and guarantees.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, over the past few years, we faced a number of recurring requests: not only did some of our customers wish to access other services, but they also regularly asked to take benefit of our infrastructure, spread over three datacenters, to obtain high-availability services. But when it comes to DB, this isn't always easy to implement while ensuring a high level of automation and data consistency. So we decided to develop our own range of products to achieve this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The “<a href="https://stagingv6.cleverapps.io/materia/">Materia</a>” project was born, based on the <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a> open-source transactional engine used, for example, by <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> for its iCloud services and by <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. We're contributing to it and adapting it to our needs, while taking advantage of its distributed and resilient aspect, notably due to its significant <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a> capacity. It allows us to imagine a whole universe of serverless services, very simple to use, invoiced on a pay-per-use basis, with compatibility layers we're developing to enable our customers to “talk” to it using existing protocols such as DynamoDB, GraphQL or PostgreSQL, for example.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV available to all</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We started with the Redis protocol to introduce Materia KV, <strong>currently in Alpha testing phase</strong>. It's a key-value database synchronously replicated across our three Paris datacenters. When our servers respond, your data has been written three times. Above all, it's very easy to use: go to our <a href="https://console.clever-cloud.com">Console</a>, create a Materia KV add-on, and you'll instantly obtain a token that can be used with any Redis client or by sending commands to our servers directly through the TCP protocol.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, you can now benefit from a high-availability, key-value data storage solution, without having to configure a single instance, and with no minimum monthly fee: you simply pay for what you use. Above all, we provide this service with compatibility to existing protocols. Today Redis, tomorrow DynamoDB and GraphQL. The list of supported commands is available <a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands">here</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Launched at <a href="https://stagingv6.cleverapps.io/blog/company/2024/04/16/materiadb-kv-materia-functions/">Devoxx France mid-April</a>, Materia KV made a big splash on site and during our demonstrations since then. We've therefore decided to make it available to all, to enable our customers and the interested public to give us feedback on how it works for them, and what their needs are. While billing will be on a per-use basis starting with the Beta phase, right now it's free! So give it a try and <a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener">let us know what you think</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">Create a Materia KV add-on</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">Materia KV documentation</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Already built-in our tools and interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV is of course available as an addon-provider in <a href="https://developers.clever-cloud.com/api/">our API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs" target="_blank" rel="noreferrer noopener">Terraform</a> (or OpenTofu, for example), but also in our CLI, <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>. To create an access token, simply run the following command:</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>This add-on can be linked directly to a Clever Cloud application, injecting its environment variables. But you can also use it from any third-party service, command-line client (CLI) or with graphical user interface (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While Materia KV and its various interfaces will be developed over time, we've started to think about integrating it into Clever Tools. A test branch, available <a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener">as a binary</a> and <a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener">documented</a>, offers a clever <code>kv command</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With it, you can directly send requests to Materia KV by having the environment variable configured locally, or by specifying an ID in your commands:</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>As this demo version doesn't handle all the commands managed by Materia KV, you can send a “raw” command and it will return the answer :</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>To demonstrate the possibilities of such integration, you also have the option of directly querying a JSON object stored in a key :</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>To show just how simple such implementations can be, we've written a Materia KV client <a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener">in Go</a> using Go-Redis. If you'd rather understand how you can send commands and receive responses from Materia KV directly in TCP, you'll find examples in both <a href="https://github.com/CleverCloud/mkv-raw-tcp-v" target="_blank" rel="noreferrer noopener">V</a> or <a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener">Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Feel free to create your own and let us know ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A demonstration of Materia KV on Twitch, a community space</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12691,"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--en-1024x576.png" alt="" class="wp-image-12691"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Want to find out more? Horacio González, our head of DevRel, will be giving a demonstration <a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener">on Twitch</a> on Tuesday June 18 at 13h15 (Paris Time). Pierre Zemb, creator of Materia at Clever Cloud, will also be discussing with our CTO Steven Le Roux in a video published at the end of June on <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">Clever Cloud's YouTube channel</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And to share your views, questions and requirements, go to the Materia-dedicated section of our <a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener">GitHub community space</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Materia KV, Functions: discover the future of Clever Cloud at Devoxx Paris 2024</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/04/16/materiadb-kv-materia-functions/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Tue, 16 Apr 2024 11:37:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Features]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12175</guid>

					<description><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="materia banner" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>Clever Cloud was founded nearly fifteen years ago, out of a desire to innovate in the field of web hosting and deployment, by offering a reliable range of services in a simple, straightforward way. As a result, we became Europe's leading provider of PaaS services, attracting developers and key accounts alike.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>More importantly, we are unique in offering these solutions on our own infrastructure, as well as on-premise or through various partners around the world. We now do this with <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/03/22/clever-cloud-iso-27001/" target="_blank" rel="noreferrer noopener">ISO 9001 and 27001:2022 certification</a>, with HDS and SecNumCloud as our next targets.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Over the years, our company and its product range evolved and expanded. But we've never compromised with our original vocation: innovation. That's why, alongside the continuous improvement of our services, interfaces and integrations, we are massively investing in the development of our future, in solutions that will meet our customers' needs ever more effectively, and over which we have full control.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is where the independence and sovereignty of our offering comes in. That's why we've decided to build our own infrastructures, to choose a GNU/Linux system to which we actively contribute, and to use it on both our servers and our network equipment. It's also why we've spent the last few years developing<strong> a range of serverless, easy-to-use, pay-as-you-go products</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/blog/company/2022/09/06/whats-clever-in-our-cloud/">What’s Clever in our cloud ?</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Functions: WASM stands for compatibility and efficiency</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To achieve this, we didn't hesitate to <strong>create our own</strong> low-level <strong>virtualization and function execution layer</strong>. We wanted to maintain our strong isolation criteria by setting up virtual machines that we activate as close as possible to the CPU. We also wanted to be able to achieve good performance while opening up to a wide range of languages, rather than simply relying on v8 at the risk of focusing almost exclusively on JavaScript.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So we opted instead for a solution that leverages the capabilities of the <a href="https://webassembly.org/" target="_blank" rel="noreferrer noopener">WebAssembly</a> standard (WASM/WASI), which can be used with a wide range of languages, from Go to Zig as well as C, Rust or AssemblyScript... and of course JavaScript.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>After a successful first demo of our Tech Preview in Barcelona at the WASM.io conference last month, we<strong>'ll be demonstrating again at Devoxx Paris</strong>, which takes place at the Palais des Congrès from April 17 to 19. Feel free to come and talk to us about it, and let us know if you're interested in taking part in the next stages of development of this product, which will be progressively opened up over the course of the year.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV: our distributed, multi-protocol, serverless revolution</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another major innovation from our team is the new Materia offering. To achieve this, <strong>we have designed our own serverless</strong> databases, built on the <a href="https://www.foundationdb.org/">F</a><a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">o</a><a href="https://www.foundationdb.org/">undationDB</a> open source transactional engine, used, for example, by Apple for its iCloud services. We are also an active member of its community, participating in the development of its ecosystem.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Distributed and robust, notably thanks to its high <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a> capacity, it has enabled us to design and build a whole range of services to meet the different needs expressed by our customers in recent years. Our approach is always open and resilient, with deployment across multiple availability zones, compatibility with existing protocols and clients, and pay-as-you-go billing.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The first to be publicly announced is <strong>Materia KV, which, as its name suggests, is a key-value</strong> database. To create one within your Clever Cloud account, you have no instance size to choose, no storage capacity to worry about. We simply provide you with a host address, a port and a token (based on the <a href="https://www.biscuitsec.org/">Biscuit</a> technology to which we actively contribute), and you're ready to go!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can then send us your keys and their contents. They will be synchronously replicated in our three Paris datacenters. So you don't have to set up any complex configurations to ensure high availability, or even activate any options. <strong>Materia KV is resilient by design</strong>! And it adapts to individual needs, as it's billed on a pay-as-you-go basis. It's the perfect solution for hobbyists, seasoned developers and key accounts alike.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Redis API compatibility… to start with</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We didn't want this innovation to come at the cost of complex configuration, requiring the use of special clients and ORMs. That's why we'<strong>ve developed Materia KV's own compatibility layers</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To "talk" to it, you don't need a special API or tools specific to Clever Cloud. <strong>You can use it with existing solutions for DynamoDB, GraphQL or Redis</strong>. The latter is the first of the compatibility layers available in our test phase. It enables customers using a Redis instance for their application to migrate to Materia KV with just a few clicks in their interface or via <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This solution will be <strong>publicly demonstrated for the first time at Devoxx Paris</strong>, which takes place at the Palais des Congrès from April 17 to 19. It will then be rapidly made available to all our customers in alpha. Feel free to come and talk to us about it, and the other serverless services we'll be offering later this year.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll also be demonstrating other upcoming new features, such as our <strong>Keycloak-as-a-Service</strong> solution in partnership with <a href="https://please-open.it/" target="_blank" rel="noreferrer noopener">Please Open It</a>, and celebrating the release of <strong><a href="https://github.com/sozu-proxy/sozu/releases/tag/1.0.0">version 1.0</a> of our in-house, open source load balancer, developed in Rust: SŌZU!</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To keep up to date with our regular developments, be sure to follow <a href="https://developers.clever-cloud.com/changelog" target="_blank" rel="noreferrer noopener">our Changelog</a> (via <a href="https://developers.clever-cloud.com/changelog/index.xml" target="_blank" rel="noreferrer noopener">its RSS feed</a>), or this <a href="https://stagingv6.cleverapps.io/blog/" rel="noreferrer noopener">blog</a>. But also follow us on <a href="https://www.linkedin.com/company/clever-cloud/mycompany/" target="_blank" rel="noreferrer noopener">LinkedIn</a> or <a href="https://twitter.com/clever_cloud" target="_blank" rel="noreferrer noopener">X/Twitter</a>.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="materia banner" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/materia-en-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>Clever Cloud was founded nearly fifteen years ago, out of a desire to innovate in the field of web hosting and deployment, by offering a reliable range of services in a simple, straightforward way. As a result, we became Europe's leading provider of PaaS services, attracting developers and key accounts alike.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>More importantly, we are unique in offering these solutions on our own infrastructure, as well as on-premise or through various partners around the world. We now do this with <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/03/22/clever-cloud-iso-27001/" target="_blank" rel="noreferrer noopener">ISO 9001 and 27001:2022 certification</a>, with HDS and SecNumCloud as our next targets.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Over the years, our company and its product range evolved and expanded. But we've never compromised with our original vocation: innovation. That's why, alongside the continuous improvement of our services, interfaces and integrations, we are massively investing in the development of our future, in solutions that will meet our customers' needs ever more effectively, and over which we have full control.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is where the independence and sovereignty of our offering comes in. That's why we've decided to build our own infrastructures, to choose a GNU/Linux system to which we actively contribute, and to use it on both our servers and our network equipment. It's also why we've spent the last few years developing<strong> a range of serverless, easy-to-use, pay-as-you-go products</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/blog/company/2022/09/06/whats-clever-in-our-cloud/">What’s Clever in our cloud ?</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Functions: WASM stands for compatibility and efficiency</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To achieve this, we didn't hesitate to <strong>create our own</strong> low-level <strong>virtualization and function execution layer</strong>. We wanted to maintain our strong isolation criteria by setting up virtual machines that we activate as close as possible to the CPU. We also wanted to be able to achieve good performance while opening up to a wide range of languages, rather than simply relying on v8 at the risk of focusing almost exclusively on JavaScript.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So we opted instead for a solution that leverages the capabilities of the <a href="https://webassembly.org/" target="_blank" rel="noreferrer noopener">WebAssembly</a> standard (WASM/WASI), which can be used with a wide range of languages, from Go to Zig as well as C, Rust or AssemblyScript... and of course JavaScript.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>After a successful first demo of our Tech Preview in Barcelona at the WASM.io conference last month, we<strong>'ll be demonstrating again at Devoxx Paris</strong>, which takes place at the Palais des Congrès from April 17 to 19. Feel free to come and talk to us about it, and let us know if you're interested in taking part in the next stages of development of this product, which will be progressively opened up over the course of the year.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV: our distributed, multi-protocol, serverless revolution</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another major innovation from our team is the new Materia offering. To achieve this, <strong>we have designed our own serverless</strong> databases, built on the <a href="https://www.foundationdb.org/">F</a><a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">o</a><a href="https://www.foundationdb.org/">undationDB</a> open source transactional engine, used, for example, by Apple for its iCloud services. We are also an active member of its community, participating in the development of its ecosystem.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Distributed and robust, notably thanks to its high <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a> capacity, it has enabled us to design and build a whole range of services to meet the different needs expressed by our customers in recent years. Our approach is always open and resilient, with deployment across multiple availability zones, compatibility with existing protocols and clients, and pay-as-you-go billing.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The first to be publicly announced is <strong>Materia KV, which, as its name suggests, is a key-value</strong> database. To create one within your Clever Cloud account, you have no instance size to choose, no storage capacity to worry about. We simply provide you with a host address, a port and a token (based on the <a href="https://www.biscuitsec.org/">Biscuit</a> technology to which we actively contribute), and you're ready to go!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can then send us your keys and their contents. They will be synchronously replicated in our three Paris datacenters. So you don't have to set up any complex configurations to ensure high availability, or even activate any options. <strong>Materia KV is resilient by design</strong>! And it adapts to individual needs, as it's billed on a pay-as-you-go basis. It's the perfect solution for hobbyists, seasoned developers and key accounts alike.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Redis API compatibility… to start with</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We didn't want this innovation to come at the cost of complex configuration, requiring the use of special clients and ORMs. That's why we'<strong>ve developed Materia KV's own compatibility layers</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To "talk" to it, you don't need a special API or tools specific to Clever Cloud. <strong>You can use it with existing solutions for DynamoDB, GraphQL or Redis</strong>. The latter is the first of the compatibility layers available in our test phase. It enables customers using a Redis instance for their application to migrate to Materia KV with just a few clicks in their interface or via <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This solution will be <strong>publicly demonstrated for the first time at Devoxx Paris</strong>, which takes place at the Palais des Congrès from April 17 to 19. It will then be rapidly made available to all our customers in alpha. Feel free to come and talk to us about it, and the other serverless services we'll be offering later this year.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll also be demonstrating other upcoming new features, such as our <strong>Keycloak-as-a-Service</strong> solution in partnership with <a href="https://please-open.it/" target="_blank" rel="noreferrer noopener">Please Open It</a>, and celebrating the release of <strong><a href="https://github.com/sozu-proxy/sozu/releases/tag/1.0.0">version 1.0</a> of our in-house, open source load balancer, developed in Rust: SŌZU!</strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To keep up to date with our regular developments, be sure to follow <a href="https://developers.clever-cloud.com/changelog" target="_blank" rel="noreferrer noopener">our Changelog</a> (via <a href="https://developers.clever-cloud.com/changelog/index.xml" target="_blank" rel="noreferrer noopener">its RSS feed</a>), or this <a href="https://stagingv6.cleverapps.io/blog/" rel="noreferrer noopener">blog</a>. But also follow us on <a href="https://www.linkedin.com/company/clever-cloud/mycompany/" target="_blank" rel="noreferrer noopener">LinkedIn</a> or <a href="https://twitter.com/clever_cloud" target="_blank" rel="noreferrer noopener">X/Twitter</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Our new logs interface is available in public beta</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/04/15/our-new-logs-interface/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Mon, 15 Apr 2024 11:37:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[feature]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12112</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banner logs interface" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>When you deploy an application with Clever Cloud, it's not just delivered online and maintained in operational condition. It also comes with a range of services and dedicated features to help you operate it all along its lifecycle. One of these is <strong>our log stack</strong>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We upgraded it last year to rely on Vector for emission, Apache Pulsar for ingestion and consumption, while ensuring isolation between each user (multi-tenant) and each application. The previous solution had shown its limitations and prevented us from delivering some enhancements. Our main objective was to improve our users' experience on many different levels.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A new Logs experience at Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We've been using it successfully in our <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a> command line interface (CLI) for several months now. You can view your logs live, download those for a given time window, or even filter them, with the results available in a variety of formats. Documentation is available<a href="https://github.com/CleverCloud/clever-tools/blob/master/docs/applications-deployment-lifecycle.md#logs" target="_blank" rel="noreferrer noopener"> here</a>. Of course, this feature is based on our APIv4, which is also documented <a href="https://developers.clever-cloud.com/api/v4/#logs" target="_blank" rel="noreferrer noopener">there</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The next step was to <strong>integrate this new technical brick into the <a href="https://console.clever-cloud.com/" target="_blank" rel="noreferrer noopener">Console</a></strong>. This was an opportunity for us to rethink the section dedicated to logs so that it exploited <a href="https://stagingv6.cleverapps.io/doc/clever-components/?path=/docs/readme--docs" target="_blank" rel="noreferrer noopener">our Web Components</a> and met our criteria in terms of usability, functionality and accessibility. Our team spent several months rethinking it from top to bottom.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":12108,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image alignwide size-large"><a href="https://cdn.clever-cloud.com/uploads/2024/04/new-logs-1.webp" target="_blank" rel="noreferrer noopener"><img src="https://cdn.clever-cloud.com/uploads/2024/04/new-logs-1-1024x616.webp" alt="The Clever Cloud new Logs interface" class="wp-image-12108"/></a></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>After an internal testing phase, it is now available in beta to all our customers. They can choose it by clicking on a simple link in the interface, and return to the old one whenever they want. Our objective is to continuously improve this section, and then gradually extend it to all our services. To share your feedback, we've created a community space on GitHub for the purpose:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://console.clever-cloud.com/" target="_blank" rel="noreferrer noopener">Go to the Clever Cloud Console</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/Community/discussions/categories/new-logs-interface" target="_blank" rel="noreferrer noopener">Give your opinion on our new Logs interface</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A myriad of details…</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The previous interface allowed you to browse your latest deployments and their various instances one by one. The new interface goes one step further, listing by default all deployments and instances of an application over the last 7 days. The logs of the most recent deployment will be loaded, but you can also add or remove those of the instance of your choice. Each deployment is identified by the hash of the related code commit, with instances numbered (in the case of horizontal scalability).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can reduce the time window to a few days or a few hours, or even manually indicate start and end times, which is useful when you're looking for specific information, for example, when tracking down a bug. You also have a text filter above the main area. It will evolve with the introduction of an indexing mechanism that will open up new possibilities in this area.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Of course, you can also follow the publication of your logs live. This will be the section displayed by default when a deployment is in progress.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">... and of features</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The main area lets you<strong> select one or more lines with the keyboard and mouse</strong> via the gutter on the left, with the option of copying the result to the clipboard just as simply by pressing CTRL+C/Cmd+C. At the top right you'll find a button to set the area to full screen, another to return to the bottom of your logs and a settings area.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Although it's still new, it's already quite complete and uses our new API for user settings. It lets you <strong>choose between different light/dark themes, remove colors and ANSI codes, line wrap or not, define a format for date and time, choose whether to display in your time zone or in UTC, distinguish instances by name</strong>, etc. Of course, this is subject to change, so don't hesitate to make suggestions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll keep you posted on future improvements in <a href="https://stagingv6.cleverapps.io/blog/" target="_blank" rel="noreferrer noopener">our Changelog</a> (via <a href="https://developers.clever-cloud.com/changelog/index.xml" target="_blank" rel="noreferrer noopener">its RSS feed</a>), or on this <a href="https://stagingv6.cleverapps.io/blog/">blog</a> for the next big steps between now and general availability. Don't forget to follow us on <a href="https://www.linkedin.com/company/clever-cloud/mycompany/" target="_blank" rel="noreferrer noopener">LinkedIn</a> or <a href="https://twitter.com/clever_cloud" target="_blank" rel="noreferrer noopener">X/Twitter</a> to keep up to date.</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/04/2-4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banner logs interface" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/04/2-4-1368x607.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>When you deploy an application with Clever Cloud, it's not just delivered online and maintained in operational condition. It also comes with a range of services and dedicated features to help you operate it all along its lifecycle. One of these is <strong>our log stack</strong>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We upgraded it last year to rely on Vector for emission, Apache Pulsar for ingestion and consumption, while ensuring isolation between each user (multi-tenant) and each application. The previous solution had shown its limitations and prevented us from delivering some enhancements. Our main objective was to improve our users' experience on many different levels.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A new Logs experience at Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We've been using it successfully in our <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a> command line interface (CLI) for several months now. You can view your logs live, download those for a given time window, or even filter them, with the results available in a variety of formats. Documentation is available<a href="https://github.com/CleverCloud/clever-tools/blob/master/docs/applications-deployment-lifecycle.md#logs" target="_blank" rel="noreferrer noopener"> here</a>. Of course, this feature is based on our APIv4, which is also documented <a href="https://developers.clever-cloud.com/api/v4/#logs" target="_blank" rel="noreferrer noopener">there</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The next step was to <strong>integrate this new technical brick into the <a href="https://console.clever-cloud.com/" target="_blank" rel="noreferrer noopener">Console</a></strong>. This was an opportunity for us to rethink the section dedicated to logs so that it exploited <a href="https://stagingv6.cleverapps.io/doc/clever-components/?path=/docs/readme--docs" target="_blank" rel="noreferrer noopener">our Web Components</a> and met our criteria in terms of usability, functionality and accessibility. Our team spent several months rethinking it from top to bottom.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":12108,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image alignwide size-large"><a href="https://cdn.clever-cloud.com/uploads/2024/04/new-logs-1.webp" target="_blank" rel="noreferrer noopener"><img src="https://cdn.clever-cloud.com/uploads/2024/04/new-logs-1-1024x616.webp" alt="The Clever Cloud new Logs interface" class="wp-image-12108"/></a></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>After an internal testing phase, it is now available in beta to all our customers. They can choose it by clicking on a simple link in the interface, and return to the old one whenever they want. Our objective is to continuously improve this section, and then gradually extend it to all our services. To share your feedback, we've created a community space on GitHub for the purpose:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://console.clever-cloud.com/" target="_blank" rel="noreferrer noopener">Go to the Clever Cloud Console</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/Community/discussions/categories/new-logs-interface" target="_blank" rel="noreferrer noopener">Give your opinion on our new Logs interface</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A myriad of details…</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The previous interface allowed you to browse your latest deployments and their various instances one by one. The new interface goes one step further, listing by default all deployments and instances of an application over the last 7 days. The logs of the most recent deployment will be loaded, but you can also add or remove those of the instance of your choice. Each deployment is identified by the hash of the related code commit, with instances numbered (in the case of horizontal scalability).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can reduce the time window to a few days or a few hours, or even manually indicate start and end times, which is useful when you're looking for specific information, for example, when tracking down a bug. You also have a text filter above the main area. It will evolve with the introduction of an indexing mechanism that will open up new possibilities in this area.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Of course, you can also follow the publication of your logs live. This will be the section displayed by default when a deployment is in progress.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">... and of features</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The main area lets you<strong> select one or more lines with the keyboard and mouse</strong> via the gutter on the left, with the option of copying the result to the clipboard just as simply by pressing CTRL+C/Cmd+C. At the top right you'll find a button to set the area to full screen, another to return to the bottom of your logs and a settings area.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Although it's still new, it's already quite complete and uses our new API for user settings. It lets you <strong>choose between different light/dark themes, remove colors and ANSI codes, line wrap or not, define a format for date and time, choose whether to display in your time zone or in UTC, distinguish instances by name</strong>, etc. Of course, this is subject to change, so don't hesitate to make suggestions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll keep you posted on future improvements in <a href="https://stagingv6.cleverapps.io/blog/" target="_blank" rel="noreferrer noopener">our Changelog</a> (via <a href="https://developers.clever-cloud.com/changelog/index.xml" target="_blank" rel="noreferrer noopener">its RSS feed</a>), or on this <a href="https://stagingv6.cleverapps.io/blog/">blog</a> for the next big steps between now and general availability. Don't forget to follow us on <a href="https://www.linkedin.com/company/clever-cloud/mycompany/" target="_blank" rel="noreferrer noopener">LinkedIn</a> or <a href="https://twitter.com/clever_cloud" target="_blank" rel="noreferrer noopener">X/Twitter</a> to keep up to date.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Object storage: simply import/export your data, free of charge</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2024/01/31/object-storage-data-free-of-charge/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Wed, 31 Jan 2024 13:00:29 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[company]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=11626</guid>

					<description><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="objectif storage bannier charge" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>While Clever Cloud offers its customers solutions that are quick and easy to implement, we have always been attached to the respect of standards and of an open Web, where customers don't suffer any "lock-in". Developing an application for our platform requires no particular customization. Just a few parameters to configure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, it's easy to deploy an existing service on Clever Cloud, or to leave it. Our approach is not to hold our users captive by gimmicks, but rather to ensure their well-being. This responsible approach to PaaS and to the Cloud is winning over a growing number of customers and players alike, inspiring legislators to reconsider the legislation in this area.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Simplicity without lock-in</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In recent months, egress fees have been under the spotlights. These outgoing traffic charges are sometimes used, among other mechanisms, to discourage customers from leaving a Cloud services offering that was sometimes generously free at the beginning.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We've made no secret of our position on this issue: such fees should never be used to retain customers. They should be able to leave a provider or any of its services whenever they want, without undue hindrance. That's why we've always been in favor of limiting such fees, with identical rules for all players offering their services on the French and/or European market.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our vision is similar when it comes to free "coupons", sometimes excessively offered, leading <a href="https://www.autoritedelaconcurrence.fr/en/press-release/cloud-computing-autorite-de-la-concurrence-issues-its-market-study-competition-cloud" target="_blank" rel="noreferrer noopener">to a distortion of the market</a> to keep customers captive, as we've been seeing for years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That's why we've always been careful to avoid any entry or exit fees on our services, and to guarantee our customers total freedom. The sole exception is our <a href="https://stagingv6.cleverapps.io/product/cellar-object-storage/">Cellar</a> object storage (S3 compatible) offering, where we apply outgoing traffic fees. While this offer is currently being overhauled to better meet our customers' needs, with pricing changes in the process, we have decided to implement a simplified exit procedure until then.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Come (or go) as you please</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Any customer will be able to request to leave Cellar or Clever Cloud, via our support or a form that will be available on our website, and not be charged with outgoing traffic fees. The details of this procedure will be set out in our general terms and conditions in the coming days, and will then apply to any customer who requests it.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On the other hand, those who want to benefit from our services, hosted in France, can be supported in their migration from a third-party. In addition to the tools already available on the market, we have also developed <a href="https://github.com/CleverCloud/cellar-migration" target="_blank" rel="noreferrer noopener">our own massive data import solution</a> for some of our customers. And of course, our sales team is always ready to listen to your specific needs.</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">Contact us</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></description>
										<content:encoded><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="objectif storage bannier charge" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/1-1-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>While Clever Cloud offers its customers solutions that are quick and easy to implement, we have always been attached to the respect of standards and of an open Web, where customers don't suffer any "lock-in". Developing an application for our platform requires no particular customization. Just a few parameters to configure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, it's easy to deploy an existing service on Clever Cloud, or to leave it. Our approach is not to hold our users captive by gimmicks, but rather to ensure their well-being. This responsible approach to PaaS and to the Cloud is winning over a growing number of customers and players alike, inspiring legislators to reconsider the legislation in this area.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Simplicity without lock-in</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In recent months, egress fees have been under the spotlights. These outgoing traffic charges are sometimes used, among other mechanisms, to discourage customers from leaving a Cloud services offering that was sometimes generously free at the beginning.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We've made no secret of our position on this issue: such fees should never be used to retain customers. They should be able to leave a provider or any of its services whenever they want, without undue hindrance. That's why we've always been in favor of limiting such fees, with identical rules for all players offering their services on the French and/or European market.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our vision is similar when it comes to free "coupons", sometimes excessively offered, leading <a href="https://www.autoritedelaconcurrence.fr/en/press-release/cloud-computing-autorite-de-la-concurrence-issues-its-market-study-competition-cloud" target="_blank" rel="noreferrer noopener">to a distortion of the market</a> to keep customers captive, as we've been seeing for years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That's why we've always been careful to avoid any entry or exit fees on our services, and to guarantee our customers total freedom. The sole exception is our <a href="https://stagingv6.cleverapps.io/product/cellar-object-storage/">Cellar</a> object storage (S3 compatible) offering, where we apply outgoing traffic fees. While this offer is currently being overhauled to better meet our customers' needs, with pricing changes in the process, we have decided to implement a simplified exit procedure until then.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Come (or go) as you please</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Any customer will be able to request to leave Cellar or Clever Cloud, via our support or a form that will be available on our website, and not be charged with outgoing traffic fees. The details of this procedure will be set out in our general terms and conditions in the coming days, and will then apply to any customer who requests it.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On the other hand, those who want to benefit from our services, hosted in France, can be supported in their migration from a third-party. In addition to the tools already available on the market, we have also developed <a href="https://github.com/CleverCloud/cellar-migration" target="_blank" rel="noreferrer noopener">our own massive data import solution</a> for some of our customers. And of course, our sales team is always ready to listen to your specific needs.</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">Contact us</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Get Static on Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2024/01/25/get-static-on-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Thu, 25 Jan 2024 09:33:11 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=11606</guid>

					<description><![CDATA[<p><img width="1556" height="600" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Banner of the &quot;Get static&quot; post." decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static.png 1556w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1536x592.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1368x528.png 1368w" sizes="auto, (max-width: 1556px) 100vw, 1556px" /></p><!-- wp:paragraph -->
<p>Clever Cloud’s mission has always been to provide its customers a quick and easy way to deploy applications, based on the more standards tools.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Your partner for efficient hosting</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>They can also benefit of our horizontal and vertical scaling capabilities to ensure that resources are allocated as closely as possible to their load, automatically if needed, billed per second.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>All of this can be done from <a href="https://stagingv6.cleverapps.io/infrastructure/">our own dense infrastructure in Paris</a> or from our partners' datacenters such as OVHcloud and <a href="https://stagingv6.cleverapps.io/blog/press/2023/01/17/clever-cloud-and-scaleway-join-forces-to-unveil-a-sovereign-european-paas-offering/">Scaleway</a>. Thus, you can ensure that you reduce your need for IT ressources, by design.  But some are looking for even more efficient solutions for their websites. In recent years, a trend has emerged to satisfy such demand: Static Site Generators (<a href="https://en.wikipedia.org/wiki/Static_site_generator" target="_blank" rel="noreferrer noopener">SSG</a>). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Of course, you can deploy them on Clever Cloud!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploy any static website on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>They require very few ressources as they don’t rely on complexe software stack: no database nor server side calculations once deployed. In most cases, it’s pure HTML, CSS an client-side JavaScript, generated from <a href="https://en.wikipedia.org/wiki/Markdown" target="_blank" rel="noreferrer noopener">Markdown</a> content, with a theme/template applied.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There are lots of open source SSG on the market you can use for blogs, documentation or marketing websites for example. We can build them for you and then only deploy and serve the generated files on the Internet. No GitHub Actions or others external CI/CD is needed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To help you in this journey, we’ve published tutorials with examples on how to deploy static website through <a href="https://developers.clever-cloud.com/guides/astro">Astro</a>, <a href="https://developers.clever-cloud.com/guides/docusaurus">Docusaurus</a>, <a href="https://developers.clever-cloud.com/guides/eleventy">Eleventy (11ty)</a>, <a href="https://developers.clever-cloud.com/guides/hexo">Hexo</a>, <a href="https://developers.clever-cloud.com/guides/hugo">Hugo</a>, <a href="https://developers.clever-cloud.com/guides/lume-deno">Lume (Deno)</a>, <a href="https://developers.clever-cloud.com/guides/mkdocs">MkDocs</a>, <a href="https://developers.clever-cloud.com/guides/mdbook">mdBook</a> or <a href="https://developers.clever-cloud.com/guides/nuxt">Nuxt</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/guides/#static-site-generator-ssg">Read our guides to deploy static websites on Clever Cloud</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>But others are also compatible! You want more guides or help on other SSG ? Just fill <a href="https://github.com/CleverCloud/documentation/issues" target="_blank" rel="noreferrer noopener">an issue</a>: our documentation is open source, static, based on Hugo with <a href="https://github.com/imfing/hextra" target="_blank" rel="noreferrer noopener">Hextra theme</a>. You can even <a href="https://github.com/CleverCloud/documentation" target="_blank" rel="noreferrer noopener">contribute</a> ;)</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1556" height="600" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Banner of the &quot;Get static&quot; post." decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static.png 1556w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1536x592.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/01/get-static-1368x528.png 1368w" sizes="auto, (max-width: 1556px) 100vw, 1556px" /></p><!-- wp:paragraph -->
<p>Clever Cloud’s mission has always been to provide its customers a quick and easy way to deploy applications, based on the more standards tools.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Your partner for efficient hosting</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>They can also benefit of our horizontal and vertical scaling capabilities to ensure that resources are allocated as closely as possible to their load, automatically if needed, billed per second.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>All of this can be done from <a href="https://stagingv6.cleverapps.io/infrastructure/">our own dense infrastructure in Paris</a> or from our partners' datacenters such as OVHcloud and <a href="https://stagingv6.cleverapps.io/blog/press/2023/01/17/clever-cloud-and-scaleway-join-forces-to-unveil-a-sovereign-european-paas-offering/">Scaleway</a>. Thus, you can ensure that you reduce your need for IT ressources, by design.  But some are looking for even more efficient solutions for their websites. In recent years, a trend has emerged to satisfy such demand: Static Site Generators (<a href="https://en.wikipedia.org/wiki/Static_site_generator" target="_blank" rel="noreferrer noopener">SSG</a>). </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Of course, you can deploy them on Clever Cloud!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploy any static website on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>They require very few ressources as they don’t rely on complexe software stack: no database nor server side calculations once deployed. In most cases, it’s pure HTML, CSS an client-side JavaScript, generated from <a href="https://en.wikipedia.org/wiki/Markdown" target="_blank" rel="noreferrer noopener">Markdown</a> content, with a theme/template applied.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There are lots of open source SSG on the market you can use for blogs, documentation or marketing websites for example. We can build them for you and then only deploy and serve the generated files on the Internet. No GitHub Actions or others external CI/CD is needed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To help you in this journey, we’ve published tutorials with examples on how to deploy static website through <a href="https://developers.clever-cloud.com/guides/astro">Astro</a>, <a href="https://developers.clever-cloud.com/guides/docusaurus">Docusaurus</a>, <a href="https://developers.clever-cloud.com/guides/eleventy">Eleventy (11ty)</a>, <a href="https://developers.clever-cloud.com/guides/hexo">Hexo</a>, <a href="https://developers.clever-cloud.com/guides/hugo">Hugo</a>, <a href="https://developers.clever-cloud.com/guides/lume-deno">Lume (Deno)</a>, <a href="https://developers.clever-cloud.com/guides/mkdocs">MkDocs</a>, <a href="https://developers.clever-cloud.com/guides/mdbook">mdBook</a> or <a href="https://developers.clever-cloud.com/guides/nuxt">Nuxt</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/guides/#static-site-generator-ssg">Read our guides to deploy static websites on Clever Cloud</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>But others are also compatible! You want more guides or help on other SSG ? Just fill <a href="https://github.com/CleverCloud/documentation/issues" target="_blank" rel="noreferrer noopener">an issue</a>: our documentation is open source, static, based on Hugo with <a href="https://github.com/imfing/hextra" target="_blank" rel="noreferrer noopener">Hextra theme</a>. You can even <a href="https://github.com/CleverCloud/documentation" target="_blank" rel="noreferrer noopener">contribute</a> ;)</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Our journey to a better Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2023/12/21/our-journey-to-a-better-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Thu, 21 Dec 2023 12:49:24 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[company]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=11458</guid>

					<description><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="journey to a better cloud bannier" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>Over two years ago, we decided to strengthen the Clever Cloud team. At that time, our goal was to better support our customers in their growth, respond to their requests and complete the development of new products more efficiently.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Since then, we've grown from around fifteen people to almost sixty, with a "remote first" approach, but still with several offices in France: Brest, Nantes, Lille, Lyon, Paris, with others in the pipeline. Most of our staff are developers and engineers, organized into teams to deal with all our activities, the cloud being quite broad in scope. An organizational challenge, managed by our CTO Steven Le Roux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have also made a major change to our infrastructure: we no longer rent our servers, we own them. We have direct contracts with the datacenters (DC) where we are present in Paris and with various service providers, with greater control over our network.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have also taken advantage of this period to initiate a major certification and qualification program of our practices and processes. We have been ISO 9001 certified since last year, and have just passed the audit for ISO 27001, which should be confirmed in the coming weeks. The next steps have already been defined: the health data hosting certification (HDS), followed by the <a href="https://stagingv6.cleverapps.io/secnumcloud-trusted-cloud/">SecNumCloud</a> qualification, which has already begun.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Making all these changes has been a long and sometimes difficult process. We have learned along the way, and sometimes made mistakes. Some of our customers in particular have noticed this since the back to school period, when we carried out a major migration of our entire infrastructure. While we'll be covering some topics in greater detail in future posts, here's a first progress report on everything that's been achieved and what's gone (more or less) smoothly.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Three new datacenters</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Last year we announced the first step in our plan: <a href="https://stagingv6.cleverapps.io/blog/company/2022/06/16/amd-epyc-7003-open-compute-datacenters-stuff-whats-up-clever-cloud/">the installation of new servers</a>, based on the open <a href="https://www.opencompute.org" target="_blank" rel="noreferrer noopener">OCP</a> format and AMD EPYC processors at Green Data in Nanterre. Besides setting up processes and contractual aspects, our goal here was to rethink the way we deploy and manage our servers and part of our network. A project on which we collaborated with NVIDIA/Mellanox.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, all our "Top of Rack" (ToR) switches are not powered by an off-the-shelf operating system, with its myriad features and licenses. We install our own OS, based on Exherbo Linux and the ONIE standard, where we deploy our own software stack. All of this is accelerated by <a href="https://docs.kernel.org/networking/switchdev.html" target="_blank" rel="noreferrer noopener">switchdev</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":11474,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/12/fuqvpafwaaqs36f-edited-1-1024x576.jpeg" alt="Capri OCP servers used in our Nanterre datacenter" class="wp-image-11474"/><figcaption class="wp-element-caption">Capri OCP servers used in our Nanterre datacenter</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Brought into production in September 2022, this site has enabled us to sustain our growth. But it has also led us to experience some problems, and to learn how to manage and correct them. From time to time, some of our hypervisors ended up in "kernel panic" for no reason, which was corrected with release 6.0 of the Linux kernel. We also had some network instabilities, not on our ToRs but on a component linking our datacenters together, which delayed the ramp-up on this site. This was only resolved before the summer, once everything had been understood and corrected.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Confident in our ability to handle these issues, we decided in December 2022 to duplicate this experience in two new DCs, to replace the two where we were historically present. The contract with our service provider was due to expire around a year later, and we were facing major disagreements over the terms of its renewal. Since then, we've been hard at work qualifying and ordering the equipment, selecting sites where it should be installed, and setting it up.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Several months of work led to the installation of these two new datacenters this summer, followed by their interconnection and configuration, with yet another important milestone: we now announce our own IPs there, working both with our long-standing network partner and with transit operators under direct contract.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We've also redesigned our entire DNS stack to make it more resilient, with faster resolution and updates. In case of unavailability (e.g. following a DDoS attack), other regions are no longer impacted regarding access to existing records. Each region now has a copy of the entire DNS configuration locally, so it can respond directly. We've also revised the record creation and update model, which now takes less than a second.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Migration time</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Then came the migration. As simple as it sounds, it was a massive task: moving all our customers from our two historic sites in Paris to our three new sites.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We had to enhance our tooling to provide the necessary level of automation and customer information. But above all, we had to identify everything that had been done manually for some customers over the years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This led to a preparation phase, which explains the emails and notifications you may have received starting this summer. Each of the customers concerned was able to move their services whenever they wanted, before a deadline by which our teams would take charge of the operation.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We worked closely with a large number of our users to support them during this period, so that their services were (almost) uninterrupted. This work was orchestrated by our Head of Operations, Cédric Biron.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While this went well overall, we have since noticed that in some cases it wasn't enough, as these alerts sent out several times by e-mail were not always seen. Over the coming weeks, we will be looking into the reasons for this, reviewing and improving our processes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Load balancers: significant changes for Sōzu (and a few snags)</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>But since October, we've noticed an increasing and unusual number of instabilities on the platform, involving a critical and usually stable brick: our load balancer, <a href="https://github.com/sozu-proxy/sozu" target="_blank" rel="noreferrer noopener">Sōzu</a>. Over the past few weeks, our teams have been investigating to understand not only the problem, but the problems encountered by some customers, which occurred in conjunction with the migration but were not necessarily linked to it. These have now all been resolved.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>First of all, we took advantage of this period to make a major leap forward for Sōzu, which went from its 0.13.x branch to 0.15.x, with numerous improvements, including its ability to provide us with metrics, prepare for new features such as HTTP/2 support, and so on.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our original intention was to prepare for some of the problems we expected to encounter with increased traffic loads or growth in encrypted traffic, but also to strengthen the security of the tool.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On this last point in particular, we had initially decided to move from 2048-bit to 4096-bit RSA keys, to provide stronger encryption with no impact on compatibility for our customers. But once this improvement was implemented, the resources consumed and the time taken to process requests exploded. By the time we found the source of the problem and returned to the initial configuration, the damage had been done.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have since reworked this point and plan to switch to <a href="https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm">ECDSA</a> keys.Their support is already active in Sōzu, but will only be deployed across our services after an impact study and notification of our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Other changes may have had an impact when, for example, certain headers contained characters that did not meet the standard. During this upgrade, we encountered a "double bug" which took us a long time to understand and correct, and we sometimes experienced hitches in our release processes which may have impacted our customers excessively against our regular quality standards.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have since strengthened our processes in this area too, both in terms of preparing for the release of new versions and informing customers of new features that could potentially impact them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The exhaustive monitoring implemented during this period has confirmed over the last few weeks that all issues have been resolved, and that even if there are still a few improvements to be made, no further incidents have been reported.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll now be able to focus on what's next, including the API rollout of a number of new features for managing domains and access to your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>A new stack of logs</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Those paying close attention may have noticed that other elements evolved in recent months in a more or less visible way, thanks to the work of our teams to modernize entire parts of our infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, a new Pulsar cluster has been put into production, enabling us to completely overhaul our logging experience.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For some time now, this functionality has been introduced in our CLI, the <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, with logs now displayed in a sorted way, color and emoji management, and the ability to filter by date/time. Further improvements are still in progress, and a new console interface is being prepared to give you better access to your application logs.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":11478,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/12/capture-decran-2023-12-21-a-15-28-03-1-1024x545.png" alt="Clever Tools" class="wp-image-11478"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The same will apply to access logs later on, as an upgrade of Sōzu's workflow is in progress to handle them with a high performance level ( using Protobuf).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Setting up this new cluster will also enable us to take Pulsar out of its "Beta" status. We'll be detailing the plan for its general availability as a final version in the coming weeks.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>New foundation for our data</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another background topic, barely visible but with real significance: the production release of our first serverless cluster based on <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It took over from HBase, whom we thanked at a farewell ceremony held in our Brest offices on a rainy October evening.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Until then, our metrics and billing data relied on this storage technology, which required around a hundred machines. During discussions with the SenX team, behind the <a href="https://github.com/senx/warp10-platform" target="_blank" rel="noreferrer noopener">Warp 10 open source project</a>, we realized that they were facing similar problems. We then worked together, which led to Warp 10 version 3.0, enabling us to successfully build a storage backend that worked hand-in-hand with our new cluster.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB will be at the heart of some of our new products. It is already being used for demonstrators of our future Key/Value store offers (Redis compatible) and secrets storage (Vault compatible)... among others.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These solutions are currently being tested internally and with some customers. We will gradually open the doors to those interested in testing these products during 2024, with demonstrations planned at the various shows where we will be present.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Better Clever Tools</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A cloud offering is nothing without its interfaces. In addition to the continuous improvement work done by our Console team, who have just upgraded their <a href="https://github.com/CleverCloud/clever-components">Web Components to v12</a>, we have re-established a team responsible for the evolution and documentation of our CLI, the Clever Tools.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A new deployment process has just been finalized and will be used for their next release, with many new features planned for early 2024. This new structure will enable us to deliver more regular enhancements, in line with customer feedback, and to better manage external contributions (issues, PR, etc.).</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Fine-tuning everywhere</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We also completely overhauled our website after the summer, with a new interface for <a href="https://developers.clever-cloud.com/" target="_blank" rel="noreferrer noopener">our documentation</a>, which will gradually be completely reworked, including guides and tutorials.Our images team also carried out a thorough overhaul of their design process, to simplify updates. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our team in charge of images has also reviewed the creation process in depth, in order to simplify updating, but more importantly to have a common base for all our runtimes, enabling us to make them more flexible and offer new ones in the months to come. We have also reviewed the organization of our teams and lifecycle management, so that each runtime is now handled by a designated member of staff, who will act as a link between the way we deploy applications and the communities involved.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>An increasing part of our APIs are migrating to /v4, for internal use, but also to meet the needs of our customers integrating Clever Cloud into their products and interfaces. Documentation of the new endpoints is underway. This year, we also began supporting <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest" target="_blank" rel="noreferrer noopener">Terraform</a>, with a view to going further in the field of Infrastructure-as-Code and the management of such tools in the coming year.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In recent months, we have also delivered preliminary support for <a href="https://developers.clever-cloud.com/doc/reference/reference-environment-variables/#tailscale-support">Tailscale</a>, a Clever Edge 4G/5G offering to some customers, started to embed others on our WASM-based FaaS offering, and so on.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>What’s Next ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our plans remain unchanged, and now that migration and restructuring are behind us, we'll be able to accelerate : keep iterating to improve our platform, make progress on the delivery of products currently in development, deliver a preliminary version of our Networks Groups, prepare the ground for the arrival of IaaS and Kubernetes "by Clever Cloud", and continue to take the best possible care of our customers, our first partner.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By the way, we're recording <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2023/12/05/maci-fete-lepisode-100/">episode 100 of our podcast Message à caractère informatique</a> (MACI) on January 16 at the Palace in Nantes, in public. You are cordially invited to come and chat with our teams about the future of our platform and how it can better meet your needs. Just as we'll be present at a number of trade shows in the first weeks of 2024.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1800" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="journey to a better cloud bannier" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud.png 1800w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-300x118.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1024x404.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-768x303.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1536x606.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/12/journeybettercloud-1368x540.png 1368w" sizes="auto, (max-width: 1800px) 100vw, 1800px" /></p><!-- wp:paragraph -->
<p>Over two years ago, we decided to strengthen the Clever Cloud team. At that time, our goal was to better support our customers in their growth, respond to their requests and complete the development of new products more efficiently.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Since then, we've grown from around fifteen people to almost sixty, with a "remote first" approach, but still with several offices in France: Brest, Nantes, Lille, Lyon, Paris, with others in the pipeline. Most of our staff are developers and engineers, organized into teams to deal with all our activities, the cloud being quite broad in scope. An organizational challenge, managed by our CTO Steven Le Roux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have also made a major change to our infrastructure: we no longer rent our servers, we own them. We have direct contracts with the datacenters (DC) where we are present in Paris and with various service providers, with greater control over our network.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have also taken advantage of this period to initiate a major certification and qualification program of our practices and processes. We have been ISO 9001 certified since last year, and have just passed the audit for ISO 27001, which should be confirmed in the coming weeks. The next steps have already been defined: the health data hosting certification (HDS), followed by the <a href="https://stagingv6.cleverapps.io/secnumcloud-trusted-cloud/">SecNumCloud</a> qualification, which has already begun.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Making all these changes has been a long and sometimes difficult process. We have learned along the way, and sometimes made mistakes. Some of our customers in particular have noticed this since the back to school period, when we carried out a major migration of our entire infrastructure. While we'll be covering some topics in greater detail in future posts, here's a first progress report on everything that's been achieved and what's gone (more or less) smoothly.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Three new datacenters</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Last year we announced the first step in our plan: <a href="https://stagingv6.cleverapps.io/blog/company/2022/06/16/amd-epyc-7003-open-compute-datacenters-stuff-whats-up-clever-cloud/">the installation of new servers</a>, based on the open <a href="https://www.opencompute.org" target="_blank" rel="noreferrer noopener">OCP</a> format and AMD EPYC processors at Green Data in Nanterre. Besides setting up processes and contractual aspects, our goal here was to rethink the way we deploy and manage our servers and part of our network. A project on which we collaborated with NVIDIA/Mellanox.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, all our "Top of Rack" (ToR) switches are not powered by an off-the-shelf operating system, with its myriad features and licenses. We install our own OS, based on Exherbo Linux and the ONIE standard, where we deploy our own software stack. All of this is accelerated by <a href="https://docs.kernel.org/networking/switchdev.html" target="_blank" rel="noreferrer noopener">switchdev</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","id":11474,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/12/fuqvpafwaaqs36f-edited-1-1024x576.jpeg" alt="Capri OCP servers used in our Nanterre datacenter" class="wp-image-11474"/><figcaption class="wp-element-caption">Capri OCP servers used in our Nanterre datacenter</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Brought into production in September 2022, this site has enabled us to sustain our growth. But it has also led us to experience some problems, and to learn how to manage and correct them. From time to time, some of our hypervisors ended up in "kernel panic" for no reason, which was corrected with release 6.0 of the Linux kernel. We also had some network instabilities, not on our ToRs but on a component linking our datacenters together, which delayed the ramp-up on this site. This was only resolved before the summer, once everything had been understood and corrected.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Confident in our ability to handle these issues, we decided in December 2022 to duplicate this experience in two new DCs, to replace the two where we were historically present. The contract with our service provider was due to expire around a year later, and we were facing major disagreements over the terms of its renewal. Since then, we've been hard at work qualifying and ordering the equipment, selecting sites where it should be installed, and setting it up.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Several months of work led to the installation of these two new datacenters this summer, followed by their interconnection and configuration, with yet another important milestone: we now announce our own IPs there, working both with our long-standing network partner and with transit operators under direct contract.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We've also redesigned our entire DNS stack to make it more resilient, with faster resolution and updates. In case of unavailability (e.g. following a DDoS attack), other regions are no longer impacted regarding access to existing records. Each region now has a copy of the entire DNS configuration locally, so it can respond directly. We've also revised the record creation and update model, which now takes less than a second.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Migration time</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Then came the migration. As simple as it sounds, it was a massive task: moving all our customers from our two historic sites in Paris to our three new sites.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We had to enhance our tooling to provide the necessary level of automation and customer information. But above all, we had to identify everything that had been done manually for some customers over the years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This led to a preparation phase, which explains the emails and notifications you may have received starting this summer. Each of the customers concerned was able to move their services whenever they wanted, before a deadline by which our teams would take charge of the operation.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We worked closely with a large number of our users to support them during this period, so that their services were (almost) uninterrupted. This work was orchestrated by our Head of Operations, Cédric Biron.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While this went well overall, we have since noticed that in some cases it wasn't enough, as these alerts sent out several times by e-mail were not always seen. Over the coming weeks, we will be looking into the reasons for this, reviewing and improving our processes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Load balancers: significant changes for Sōzu (and a few snags)</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>But since October, we've noticed an increasing and unusual number of instabilities on the platform, involving a critical and usually stable brick: our load balancer, <a href="https://github.com/sozu-proxy/sozu" target="_blank" rel="noreferrer noopener">Sōzu</a>. Over the past few weeks, our teams have been investigating to understand not only the problem, but the problems encountered by some customers, which occurred in conjunction with the migration but were not necessarily linked to it. These have now all been resolved.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>First of all, we took advantage of this period to make a major leap forward for Sōzu, which went from its 0.13.x branch to 0.15.x, with numerous improvements, including its ability to provide us with metrics, prepare for new features such as HTTP/2 support, and so on.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our original intention was to prepare for some of the problems we expected to encounter with increased traffic loads or growth in encrypted traffic, but also to strengthen the security of the tool.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On this last point in particular, we had initially decided to move from 2048-bit to 4096-bit RSA keys, to provide stronger encryption with no impact on compatibility for our customers. But once this improvement was implemented, the resources consumed and the time taken to process requests exploded. By the time we found the source of the problem and returned to the initial configuration, the damage had been done.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have since reworked this point and plan to switch to <a href="https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm">ECDSA</a> keys.Their support is already active in Sōzu, but will only be deployed across our services after an impact study and notification of our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Other changes may have had an impact when, for example, certain headers contained characters that did not meet the standard. During this upgrade, we encountered a "double bug" which took us a long time to understand and correct, and we sometimes experienced hitches in our release processes which may have impacted our customers excessively against our regular quality standards.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We have since strengthened our processes in this area too, both in terms of preparing for the release of new versions and informing customers of new features that could potentially impact them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The exhaustive monitoring implemented during this period has confirmed over the last few weeks that all issues have been resolved, and that even if there are still a few improvements to be made, no further incidents have been reported.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We'll now be able to focus on what's next, including the API rollout of a number of new features for managing domains and access to your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>A new stack of logs</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Those paying close attention may have noticed that other elements evolved in recent months in a more or less visible way, thanks to the work of our teams to modernize entire parts of our infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, a new Pulsar cluster has been put into production, enabling us to completely overhaul our logging experience.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For some time now, this functionality has been introduced in our CLI, the <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, with logs now displayed in a sorted way, color and emoji management, and the ability to filter by date/time. Further improvements are still in progress, and a new console interface is being prepared to give you better access to your application logs.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"wide","lightbox":{"enabled":true},"id":11478,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image alignwide size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/12/capture-decran-2023-12-21-a-15-28-03-1-1024x545.png" alt="Clever Tools" class="wp-image-11478"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The same will apply to access logs later on, as an upgrade of Sōzu's workflow is in progress to handle them with a high performance level ( using Protobuf).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Setting up this new cluster will also enable us to take Pulsar out of its "Beta" status. We'll be detailing the plan for its general availability as a final version in the coming weeks.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>New foundation for our data</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Another background topic, barely visible but with real significance: the production release of our first serverless cluster based on <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It took over from HBase, whom we thanked at a farewell ceremony held in our Brest offices on a rainy October evening.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Until then, our metrics and billing data relied on this storage technology, which required around a hundred machines. During discussions with the SenX team, behind the <a href="https://github.com/senx/warp10-platform" target="_blank" rel="noreferrer noopener">Warp 10 open source project</a>, we realized that they were facing similar problems. We then worked together, which led to Warp 10 version 3.0, enabling us to successfully build a storage backend that worked hand-in-hand with our new cluster.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB will be at the heart of some of our new products. It is already being used for demonstrators of our future Key/Value store offers (Redis compatible) and secrets storage (Vault compatible)... among others.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These solutions are currently being tested internally and with some customers. We will gradually open the doors to those interested in testing these products during 2024, with demonstrations planned at the various shows where we will be present.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Better Clever Tools</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A cloud offering is nothing without its interfaces. In addition to the continuous improvement work done by our Console team, who have just upgraded their <a href="https://github.com/CleverCloud/clever-components">Web Components to v12</a>, we have re-established a team responsible for the evolution and documentation of our CLI, the Clever Tools.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A new deployment process has just been finalized and will be used for their next release, with many new features planned for early 2024. This new structure will enable us to deliver more regular enhancements, in line with customer feedback, and to better manage external contributions (issues, PR, etc.).</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Fine-tuning everywhere</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We also completely overhauled our website after the summer, with a new interface for <a href="https://developers.clever-cloud.com/" target="_blank" rel="noreferrer noopener">our documentation</a>, which will gradually be completely reworked, including guides and tutorials.Our images team also carried out a thorough overhaul of their design process, to simplify updates. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our team in charge of images has also reviewed the creation process in depth, in order to simplify updating, but more importantly to have a common base for all our runtimes, enabling us to make them more flexible and offer new ones in the months to come. We have also reviewed the organization of our teams and lifecycle management, so that each runtime is now handled by a designated member of staff, who will act as a link between the way we deploy applications and the communities involved.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>An increasing part of our APIs are migrating to /v4, for internal use, but also to meet the needs of our customers integrating Clever Cloud into their products and interfaces. Documentation of the new endpoints is underway. This year, we also began supporting <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest" target="_blank" rel="noreferrer noopener">Terraform</a>, with a view to going further in the field of Infrastructure-as-Code and the management of such tools in the coming year.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In recent months, we have also delivered preliminary support for <a href="https://developers.clever-cloud.com/doc/reference/reference-environment-variables/#tailscale-support">Tailscale</a>, a Clever Edge 4G/5G offering to some customers, started to embed others on our WASM-based FaaS offering, and so on.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>What’s Next ?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our plans remain unchanged, and now that migration and restructuring are behind us, we'll be able to accelerate : keep iterating to improve our platform, make progress on the delivery of products currently in development, deliver a preliminary version of our Networks Groups, prepare the ground for the arrival of IaaS and Kubernetes "by Clever Cloud", and continue to take the best possible care of our customers, our first partner.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By the way, we're recording <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2023/12/05/maci-fete-lepisode-100/">episode 100 of our podcast Message à caractère informatique</a> (MACI) on January 16 at the Palace in Nantes, in public. You are cordially invited to come and chat with our teams about the future of our platform and how it can better meet your needs. Just as we'll be present at a number of trade shows in the first weeks of 2024.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
