<?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>cloud Archives | Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/blog/tag/cloud/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.clever.cloud/blog/tag/cloud/</link>
	<description>From Code to Product</description>
	<lastBuildDate>Thu, 09 Apr 2026 08:04:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>cloud Archives | Clever Cloud</title>
	<link>https://www.clever.cloud/blog/tag/cloud/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>What makes Clever Cloud unique</title>
		<link>https://www.clever.cloud/blog/company/2026/04/08/what-makes-clever-cloud-unique/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 15:32:31 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=23906</guid>

					<description><![CDATA[<p><img width="2400" height="1065" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 04 08 clever cloud banniere blog ce qui rend clever cloud unique fr 2" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2.png 2400w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1368x607.png 1368w" sizes="(max-width: 2400px) 100vw, 2400px" /></p><!-- wp:paragraph -->
<p>Over the past 15 years, we built Clever Cloud to avoid that trade-off, to offer a versatile European platform with managed services, on <a href="https://clever.cloud/infrastructure/">infrastructure we control</a>, from partners or yours. Where your application always runs the way you designed it.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A complete platform, not a compute layer</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>What sets Clever Cloud apart is not any single feature — it is the breadth of what runs natively on the platform, managed by our team, on our infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Deploy applications in 18 runtimes: Node.js, Bun, Python (with uv), Java (Gradle, Maven, WAR), PHP, FrankenPHP, Ruby, Go, Rust, .NET, Elixir, Scala, Haskell, V, Meteor.js, Docker, and two static runtimes — one based on Static Web Server/Caddy with automatic SSG detection (Hugo, Astro, Docusaurus, Zola, VitePress, Nuxt, MkDocs, mdBook, Storybook), the other on Apache with <code>.htaccess</code> support for SPAs and rewrite rules. If none of these fit, push a Dockerfile — full filesystem, TCP/UDP ports, multiple processes, your rules.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But compute is only the beginning. The platform includes managed <a href="https://clever.cloud/product/postgresql/">PostgreSQL</a> (versions 14–18, 40+ extensions, replicas, Pgpool-II), MySQL, MongoDB, Redis, Elastic Stack, and <a href="https://clever.cloud/materia/materia-kv/">Materia KV</a> — a serverless key-value store built on FoundationDB, replicated across three datacenters, with a Redis-compatible API. S3-compatible object storage with <a href="https://clever.cloud/product/cellar-object-storage/">Cellar</a>. Persistent filesystem with FS Buckets. Distributed pub/sub messaging with <a href="https://clever.cloud/product/pulsar/">Apache Pulsar</a>. An API gateway with <a href="https://clever.cloud/product/otoroshi-with-llm/">Otoroshi</a>. Identity management with <a href="https://clever.cloud/product/managed-keycloak-as-a-service/">Keycloak</a>. Business intelligence with <a href="https://clever.cloud/product/metabase/">Metabase</a>. Privacy-respecting analytics with Matomo. Git hosting with Heptapod. Transactional email with Mailpace. Easy ways to deploy preview applications <a href="https://www.clever.cloud/developers/doc/ci-cd/">from GitLab or GitHub</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Every database can be encrypted at rest with LUKS2/AES-XTS. Every service is provisioned as a managed add-on — one click, environment variables injected, integrated with your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Co-built with open-source partners, integrated as managed services</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Several of these services — Otoroshi, Keycloak, Metabase — are not just products we bundle. We co-build them with their respective communities, contribute, and operate them as fully managed offerings on our infrastructure. When we add a feature to Otoroshi or work on Keycloak's deployment model, that work benefits the open-source project and every Clever Cloud customer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This approach extends beyond software. We are building an <a href="https://clever.cloud/partners-and-ecosystems/">ecosystem of partners</a> — resellers, system integrators, and technology partners — who bring domain expertise on top of the platform. <a href="https://academy.clever.cloud/?lang=en">Our academy</a> trains teams to operate confidently on Clever Cloud, from onboarding to production. The goal is not to lock anyone in, but to create a network of people and organisations who know how to build well on European infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Request flow: a programmable middleware chain</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>HTTP traffic on Clever Cloud does not go straight from the internet to your application. It passes through our Rust-based load balancer <a href="https://sozu.io/">Sōzu</a> and you can configure a chain of middleware — the Request Flow — that you control with a single environment variable.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Set <code>CC_REQUEST_FLOW</code> to compose a pipeline from built-in services: <strong>Varnish</strong> for HTTP caching, <strong>Redirection.io</strong> for URL rewrites and SEO-friendly redirects, <strong>OAuth2-Proxy</strong> for authentication, <strong>Otoroshi Challenge</strong> for request verification. Or plug in your own reverse proxy with <code>CC_REQUEST_FLOW_CUSTOM</code>, the platform handles port allocation automatically.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Need to cut public HTTP access entirely while keeping private networking alive? Set the flow to <code>block</code>. The platform returns a <code>200 OK</code> to health checks while refusing all other traffic. Your application stays reachable through <a href="https://clever.cloud/product/network-groups/">Network Groups</a>, but invisible from the internet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is not a feature you find on most PaaS. Typically, you either get a fixed reverse proxy you cannot configure, or you set up your own Nginx/Caddy/HAProxy and manage it alongside your application. On Clever Cloud, the middleware layer is a first-class platform service.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Mise: one config file for tools, tasks, and environments</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Every Clever Cloud runtime comes with <a href="https://mise.jdx.dev">Mise</a> and can automatically add tools before the build phase. Drop a <code>mise.toml</code> at the root of your project, and Mise handles tool versions, environment variables, and build/run tasks declaratively.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This means you can install Deno on a Node.js runtime, get Bazel to build your project, pin a specific Hugo version on a Static runtime, or define build commands that work identically on your laptop and in production — without writing shell scripts or customising buildpacks. On the Linux runtime, Mise tasks are first-class: the platform checks for <code>CC_BUILD_COMMAND</code>/<code>CC_RUN_COMMAND</code> first, then Mise tasks, then Makefile targets.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Private networking with WireGuard and Tailscale</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/product/network-groups/">Network Groups</a> create encrypted WireGuard overlay networks between your applications, add-ons, and external peers. Each member gets internal DNS resolution (<code>&lt;memberID&gt;.m.&lt;ngID&gt;.cc-ng.cloud</code>), all ports are accessible within the private network, and traffic never touches the public internet. Build microservice topologies where services communicate privately and only the API gateway faces the public.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For teams already using Tailscale, the integration is native: set <code>TAILSCALE_AUTH_KEY</code> and each application instance joins your Tailscale network as <code>CC-&lt;NAME&gt;-&lt;INSTANCE_NUMBER&gt;</code>. Use <code>TAILSCALE_LOGIN_SERVER</code> to point at a self-hosted Headscale control server. Accept DNS settings, advertise routes — it works the way you expect.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We also support IPSec and OpenVPN for environments that require them. Dedicated outgoing IP addresses are available for firewall whitelisting. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">API first, AI ready</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud is exposed as an API, built with Infrastructure-as-Code in minde. We built our own integrations on top of it. From the web Console to Terraform provider and major tools such as Kubernetes Operator, the Clever Tools CLI and its amazing AI Skills. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To ease AI usage, we provide LLMs.txt documentation summary, all pages are provided in Markdown format when requested by your favorite tools. Want to explore a deployed application ? <code>clever ssh</code> gives you a shell on your production instances, but you can also use <code>clever ssh --command 'any command'</code> and directly get the results. A great feature when you need Claude Code, Codex, Gemini or OpenCode to debug a running application.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Observability: Grafana, Warp 10, and custom metrics built in</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Every service comes with a <a href="https://clever.cloud/cloud-observability/">Grafana dashboard</a>. CPU, RAM, disk, network, and requests per second are collected automatically. Pre-configured dashboards live in a "Clever Cloud" directory, and you can create your own, including alerts that notify you when consumption crosses a threshold.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Under the hood, metrics are stored in Warp 10, a geospatial time-series database with microsecond precision you can query with WarpScript — a stack-based language.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For custom instrumentation, push to StatsD on port <code>8125</code> or expose a Prometheus endpoint on <code>localhost:9100</code>. The platform collects over 170 Telegraf metric classes, all labelled with <code>owner_id</code>, <code>app_id</code>, <code>host</code>, and <code>deployment_id</code>. Blackfire profiling and New Relic integration are available for deeper application-level analysis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Most platforms charge extra for observability, limit retention to hours or days, or require you to set up external tooling from day one. On Clever Cloud, logs are retained for 7 days with regex search, access logs come in multiple formats (CLF, JSON with geolocation and TLS version), and log drains forward to Syslog, Elasticsearch, Datadog, or New Relic without per-gigabyte surcharges.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Otoroshi: API gateway, WAF, and LLM gateway in one</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/product/otoroshi-with-llm/">Otoroshi</a> is not just a reverse proxy. It is a managed API gateway that includes a <strong>Coraza WAF</strong> running OWASP Core Rule Set in WebAssembly — detection or prevention mode, custom rules per domain, audit logs for compliance. No "Enterprise tier required" caveat.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The <a href="https://clever.cloud/clever-ai/">LLM extension</a> turns Otoroshi into a unified gateway for large language models, exposing an OpenAI-compatible API that routes multiple providers: OpenAI, Anthropic, Mistral, Cloud Temple, DeepSeek, Gemini, Groq, HuggingFace, Ollama, OVHcloud, Scaleway and others. Semantic caching reduces redundant calls. Quota management controls costs. Automatic failover switches providers transparently when one is down. Prompt fencing prevents sensitive information leakage. MCP (Model Context Protocol) support lets you build tool-using agents.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This runs as a managed service on your Clever Cloud account — no separate vendor, no per-token markup. It's the tool we chose to build the technology at the core of <a href="https://clever.cloud/ai/">Clever AI</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Tasks: run, pay, stop</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Not every workload is a web server. Clever Tasks are applications that execute a command and shut down. Define any application as a Task, set <code>CC_RUN_COMMAND="python manage.py migrate"</code>, trigger with <code>git push</code> or <code>clever restart</code>, and the scaler runs for exactly as long as the command takes. You pay for build and execution time, per second.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Use them for database migrations, test suites, file conversions, data processing, compilation jobs — anything that should not run on an always-on instance. Chain multiple commands with <code>&amp;&amp;</code> or wrap them in a script. Every environment variable from your application is available.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is fundamentally different from cron-based schedulers with 10-minute minimum intervals, 5-task limits, and "execution is expected but not guaranteed" disclaimers. A Clever Task runs when you tell it to, for as long as it needs to, and stops when it is done.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">European infrastructure, real sovereignty</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud runs on <a href="https://clever.cloud/infrastructure/">infrastructure we operate</a> across many regions: Paris, Gravelines, Roubaix, London, Warsaw, Montreal, Singapore, and Sydney. We partner with European providers — OVHCloud, Scaleway — and do not depend on a single US hyperscaler. Our approach to <a href="https://clever.cloud/our-expertises/">sovereignty</a> is structural: 100% French capital, European-only hosting, no exposure to extra-territorial legislation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Several regions carry <a href="https://clever.cloud/security/"><strong>HDS certification</strong></a> (Hebergement de Données de Santé), the French regulatory standard for hosting health data. This applies to all managed databases in those regions — PostgreSQL, MySQL, MongoDB, Redis, Elastic Stack — not just a subset. It is not an add-on with a monthly surcharge; it is built into the infrastructure. For organisations requiring the highest level of qualification, we also offer <a href="https://clever.cloud/our-cloud-offers/">SecNumCloud-grade options</a> within our cloud offer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Data stays in the region you choose. There is no "default to us-east-1" behaviour, no background replication to a jurisdiction you did not select, no fine print about processing data in another country for operational purposes.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/pricing/">Billing</a> is per second, based on instance size and runtime duration. Not per invocation. Not per request. Not per edge cache hit. Not per million operations on a key-value store. Your monthly bill varies by roughly ±5%, because it tracks actual compute usage — not traffic spikes multiplied by unit rates you did not notice in the pricing page.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Log drains do not cost per gigabyte. Grafana dashboards and Warp 10 metrics are included. Databases backups are included. Observability is included. You do not need to budget for six line items just to see how your application is performing.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What we are building next</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We know where the platform needs to grow and listen to market needs <a href="https://clever.cloud/product/kubernetes/">Clever Kubernetes Engine</a> is our current development priority. But we also work on <a href="https://github.com/orgs/CleverCloud/projects/9/views/1" target="_blank" rel="noreferrer noopener">many new features and services</a>. Feel free to tell us what you expect the most.</p>
<!-- /wp:paragraph -->

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

<!-- 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://github.com/CleverCloud/Community/discussions" target="_blank" rel="noreferrer noopener"><strong>Tell us what you expect most!</strong></a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2400" height="1065" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2026 04 08 clever cloud banniere blog ce qui rend clever cloud unique fr 2" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2.png 2400w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1536x682.png 1536w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-2048x909.png 2048w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-08-clever-cloud-banniere-blog-ce-qui-rend-clever-cloud-unique-fr-2-1368x607.png 1368w" sizes="(max-width: 2400px) 100vw, 2400px" /></p><!-- wp:paragraph -->
<p>Over the past 15 years, we built Clever Cloud to avoid that trade-off, to offer a versatile European platform with managed services, on <a href="https://clever.cloud/infrastructure/">infrastructure we control</a>, from partners or yours. Where your application always runs the way you designed it.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A complete platform, not a compute layer</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>What sets Clever Cloud apart is not any single feature — it is the breadth of what runs natively on the platform, managed by our team, on our infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Deploy applications in 18 runtimes: Node.js, Bun, Python (with uv), Java (Gradle, Maven, WAR), PHP, FrankenPHP, Ruby, Go, Rust, .NET, Elixir, Scala, Haskell, V, Meteor.js, Docker, and two static runtimes — one based on Static Web Server/Caddy with automatic SSG detection (Hugo, Astro, Docusaurus, Zola, VitePress, Nuxt, MkDocs, mdBook, Storybook), the other on Apache with <code>.htaccess</code> support for SPAs and rewrite rules. If none of these fit, push a Dockerfile — full filesystem, TCP/UDP ports, multiple processes, your rules.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But compute is only the beginning. The platform includes managed <a href="https://clever.cloud/product/postgresql/">PostgreSQL</a> (versions 14–18, 40+ extensions, replicas, Pgpool-II), MySQL, MongoDB, Redis, Elastic Stack, and <a href="https://clever.cloud/materia/materia-kv/">Materia KV</a> — a serverless key-value store built on FoundationDB, replicated across three datacenters, with a Redis-compatible API. S3-compatible object storage with <a href="https://clever.cloud/product/cellar-object-storage/">Cellar</a>. Persistent filesystem with FS Buckets. Distributed pub/sub messaging with <a href="https://clever.cloud/product/pulsar/">Apache Pulsar</a>. An API gateway with <a href="https://clever.cloud/product/otoroshi-with-llm/">Otoroshi</a>. Identity management with <a href="https://clever.cloud/product/managed-keycloak-as-a-service/">Keycloak</a>. Business intelligence with <a href="https://clever.cloud/product/metabase/">Metabase</a>. Privacy-respecting analytics with Matomo. Git hosting with Heptapod. Transactional email with Mailpace. Easy ways to deploy preview applications <a href="https://www.clever.cloud/developers/doc/ci-cd/">from GitLab or GitHub</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Every database can be encrypted at rest with LUKS2/AES-XTS. Every service is provisioned as a managed add-on — one click, environment variables injected, integrated with your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Co-built with open-source partners, integrated as managed services</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Several of these services — Otoroshi, Keycloak, Metabase — are not just products we bundle. We co-build them with their respective communities, contribute, and operate them as fully managed offerings on our infrastructure. When we add a feature to Otoroshi or work on Keycloak's deployment model, that work benefits the open-source project and every Clever Cloud customer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This approach extends beyond software. We are building an <a href="https://clever.cloud/partners-and-ecosystems/">ecosystem of partners</a> — resellers, system integrators, and technology partners — who bring domain expertise on top of the platform. <a href="https://academy.clever.cloud/?lang=en">Our academy</a> trains teams to operate confidently on Clever Cloud, from onboarding to production. The goal is not to lock anyone in, but to create a network of people and organisations who know how to build well on European infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Request flow: a programmable middleware chain</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>HTTP traffic on Clever Cloud does not go straight from the internet to your application. It passes through our Rust-based load balancer <a href="https://sozu.io/">Sōzu</a> and you can configure a chain of middleware — the Request Flow — that you control with a single environment variable.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Set <code>CC_REQUEST_FLOW</code> to compose a pipeline from built-in services: <strong>Varnish</strong> for HTTP caching, <strong>Redirection.io</strong> for URL rewrites and SEO-friendly redirects, <strong>OAuth2-Proxy</strong> for authentication, <strong>Otoroshi Challenge</strong> for request verification. Or plug in your own reverse proxy with <code>CC_REQUEST_FLOW_CUSTOM</code>, the platform handles port allocation automatically.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Need to cut public HTTP access entirely while keeping private networking alive? Set the flow to <code>block</code>. The platform returns a <code>200 OK</code> to health checks while refusing all other traffic. Your application stays reachable through <a href="https://clever.cloud/product/network-groups/">Network Groups</a>, but invisible from the internet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is not a feature you find on most PaaS. Typically, you either get a fixed reverse proxy you cannot configure, or you set up your own Nginx/Caddy/HAProxy and manage it alongside your application. On Clever Cloud, the middleware layer is a first-class platform service.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Mise: one config file for tools, tasks, and environments</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Every Clever Cloud runtime comes with <a href="https://mise.jdx.dev">Mise</a> and can automatically add tools before the build phase. Drop a <code>mise.toml</code> at the root of your project, and Mise handles tool versions, environment variables, and build/run tasks declaratively.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This means you can install Deno on a Node.js runtime, get Bazel to build your project, pin a specific Hugo version on a Static runtime, or define build commands that work identically on your laptop and in production — without writing shell scripts or customising buildpacks. On the Linux runtime, Mise tasks are first-class: the platform checks for <code>CC_BUILD_COMMAND</code>/<code>CC_RUN_COMMAND</code> first, then Mise tasks, then Makefile targets.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Private networking with WireGuard and Tailscale</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/product/network-groups/">Network Groups</a> create encrypted WireGuard overlay networks between your applications, add-ons, and external peers. Each member gets internal DNS resolution (<code>&lt;memberID&gt;.m.&lt;ngID&gt;.cc-ng.cloud</code>), all ports are accessible within the private network, and traffic never touches the public internet. Build microservice topologies where services communicate privately and only the API gateway faces the public.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For teams already using Tailscale, the integration is native: set <code>TAILSCALE_AUTH_KEY</code> and each application instance joins your Tailscale network as <code>CC-&lt;NAME&gt;-&lt;INSTANCE_NUMBER&gt;</code>. Use <code>TAILSCALE_LOGIN_SERVER</code> to point at a self-hosted Headscale control server. Accept DNS settings, advertise routes — it works the way you expect.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We also support IPSec and OpenVPN for environments that require them. Dedicated outgoing IP addresses are available for firewall whitelisting. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">API first, AI ready</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud is exposed as an API, built with Infrastructure-as-Code in minde. We built our own integrations on top of it. From the web Console to Terraform provider and major tools such as Kubernetes Operator, the Clever Tools CLI and its amazing AI Skills. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To ease AI usage, we provide LLMs.txt documentation summary, all pages are provided in Markdown format when requested by your favorite tools. Want to explore a deployed application ? <code>clever ssh</code> gives you a shell on your production instances, but you can also use <code>clever ssh --command 'any command'</code> and directly get the results. A great feature when you need Claude Code, Codex, Gemini or OpenCode to debug a running application.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Observability: Grafana, Warp 10, and custom metrics built in</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Every service comes with a <a href="https://clever.cloud/cloud-observability/">Grafana dashboard</a>. CPU, RAM, disk, network, and requests per second are collected automatically. Pre-configured dashboards live in a "Clever Cloud" directory, and you can create your own, including alerts that notify you when consumption crosses a threshold.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Under the hood, metrics are stored in Warp 10, a geospatial time-series database with microsecond precision you can query with WarpScript — a stack-based language.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For custom instrumentation, push to StatsD on port <code>8125</code> or expose a Prometheus endpoint on <code>localhost:9100</code>. The platform collects over 170 Telegraf metric classes, all labelled with <code>owner_id</code>, <code>app_id</code>, <code>host</code>, and <code>deployment_id</code>. Blackfire profiling and New Relic integration are available for deeper application-level analysis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Most platforms charge extra for observability, limit retention to hours or days, or require you to set up external tooling from day one. On Clever Cloud, logs are retained for 7 days with regex search, access logs come in multiple formats (CLF, JSON with geolocation and TLS version), and log drains forward to Syslog, Elasticsearch, Datadog, or New Relic without per-gigabyte surcharges.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Otoroshi: API gateway, WAF, and LLM gateway in one</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/product/otoroshi-with-llm/">Otoroshi</a> is not just a reverse proxy. It is a managed API gateway that includes a <strong>Coraza WAF</strong> running OWASP Core Rule Set in WebAssembly — detection or prevention mode, custom rules per domain, audit logs for compliance. No "Enterprise tier required" caveat.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The <a href="https://clever.cloud/clever-ai/">LLM extension</a> turns Otoroshi into a unified gateway for large language models, exposing an OpenAI-compatible API that routes multiple providers: OpenAI, Anthropic, Mistral, Cloud Temple, DeepSeek, Gemini, Groq, HuggingFace, Ollama, OVHcloud, Scaleway and others. Semantic caching reduces redundant calls. Quota management controls costs. Automatic failover switches providers transparently when one is down. Prompt fencing prevents sensitive information leakage. MCP (Model Context Protocol) support lets you build tool-using agents.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This runs as a managed service on your Clever Cloud account — no separate vendor, no per-token markup. It's the tool we chose to build the technology at the core of <a href="https://clever.cloud/ai/">Clever AI</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Tasks: run, pay, stop</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Not every workload is a web server. Clever Tasks are applications that execute a command and shut down. Define any application as a Task, set <code>CC_RUN_COMMAND="python manage.py migrate"</code>, trigger with <code>git push</code> or <code>clever restart</code>, and the scaler runs for exactly as long as the command takes. You pay for build and execution time, per second.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Use them for database migrations, test suites, file conversions, data processing, compilation jobs — anything that should not run on an always-on instance. Chain multiple commands with <code>&amp;&amp;</code> or wrap them in a script. Every environment variable from your application is available.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is fundamentally different from cron-based schedulers with 10-minute minimum intervals, 5-task limits, and "execution is expected but not guaranteed" disclaimers. A Clever Task runs when you tell it to, for as long as it needs to, and stops when it is done.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">European infrastructure, real sovereignty</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud runs on <a href="https://clever.cloud/infrastructure/">infrastructure we operate</a> across many regions: Paris, Gravelines, Roubaix, London, Warsaw, Montreal, Singapore, and Sydney. We partner with European providers — OVHCloud, Scaleway — and do not depend on a single US hyperscaler. Our approach to <a href="https://clever.cloud/our-expertises/">sovereignty</a> is structural: 100% French capital, European-only hosting, no exposure to extra-territorial legislation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Several regions carry <a href="https://clever.cloud/security/"><strong>HDS certification</strong></a> (Hebergement de Données de Santé), the French regulatory standard for hosting health data. This applies to all managed databases in those regions — PostgreSQL, MySQL, MongoDB, Redis, Elastic Stack — not just a subset. It is not an add-on with a monthly surcharge; it is built into the infrastructure. For organisations requiring the highest level of qualification, we also offer <a href="https://clever.cloud/our-cloud-offers/">SecNumCloud-grade options</a> within our cloud offer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Data stays in the region you choose. There is no "default to us-east-1" behaviour, no background replication to a jurisdiction you did not select, no fine print about processing data in another country for operational purposes.</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p><a href="https://clever.cloud/pricing/">Billing</a> is per second, based on instance size and runtime duration. Not per invocation. Not per request. Not per edge cache hit. Not per million operations on a key-value store. Your monthly bill varies by roughly ±5%, because it tracks actual compute usage — not traffic spikes multiplied by unit rates you did not notice in the pricing page.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Log drains do not cost per gigabyte. Grafana dashboards and Warp 10 metrics are included. Databases backups are included. Observability is included. You do not need to budget for six line items just to see how your application is performing.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What we are building next</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We know where the platform needs to grow and listen to market needs <a href="https://clever.cloud/product/kubernetes/">Clever Kubernetes Engine</a> is our current development priority. But we also work on <a href="https://github.com/orgs/CleverCloud/projects/9/views/1" target="_blank" rel="noreferrer noopener">many new features and services</a>. Feel free to tell us what you expect the most.</p>
<!-- /wp:paragraph -->

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

<!-- 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://github.com/CleverCloud/Community/discussions" target="_blank" rel="noreferrer noopener"><strong>Tell us what you expect most!</strong></a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>One Framework a Day keeps the Boredom Away: step 0</title>
		<link>https://www.clever.cloud/blog/features/2017/10/09/1fdba-step0/</link>
		
		<dc:creator><![CDATA[Laurent Doguin]]></dc:creator>
		<pubDate>Mon, 09 Oct 2017 14:25:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[1fdba]]></category>
		<category><![CDATA[clevercloud]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[cloud]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2017/10/09/1fdba-step0/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="1fdba step0 1" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-1368x528.jpg 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>Welcome to the first edition of <em>One Framework a Day keeps the Boredom Away</em>. In this series I will show you how to deploy a particular framework on Clever Cloud.</p>
<span id="more-2905"></span>

<p>This post 0 is a little different as its goal is to explain you how Clever Cloud works and to help you get setup. If you already know Clever Cloud and have the CLI installed, wait for the next post tomorrow :)</p>
<h2 id="what-is-clever-cloud">What is Clever Cloud?</h2>
<p>Clever Cloud is a Platform as a Service. We like to say we provide IT Automation and Application Sustainability. That and additional sleeping hours and serenity for our users.</p>
<h3 id="it-automation">IT Automation</h3>
<p>What we mean by IT Automation is that we automate things. Beyond this obvious statement, what is important is that we do it, so you don&#39;t have to. You should be able to focus on writing code because it is what brings value to your organization. Anything else than code is infrastructure. It&#39;s a cost. We&#39;ll manage it.</p>
<p>To make it work you just have to agree with a couple of loose rules (well, <a href="https://12factor.net/">12 actually</a>) and everything will be fine. If you use a build tool, just add a json file telling us which build tool goal we have to run, push your code and we do the rest.</p>
<p>From now on your application is up and running on Clever Cloud. That&#39;s where Application Sustainability kicks in.</p>
<h3 id="application-sustainability">Application Sustainability</h3>
<p>What we mean by Application Sustainability is making sure your application stays in production. To do so we provide hardware monitoring out of the box. Even better, since you are usually using a build tool we know what runtime you are using so we know how to monitor it. We automatically integrate with Java&#39;s JMX or Haskell&#39;s EKG for instance.</p>
<p>This monitoring allow* us to give you additional features like self-healing: If your application crashes or does not answer we restart it automatically. We also bring automatic scalability both vertically and horizontally. And everything happens without downtime because we do blue/green deployment. Meaning, when we need to update a VM (say for an OS update or a security fix), we don&#39;t update it per se. We restart the same cycle on a brand new, updated VM. Once it&#39;s up, our reverse proxy simply redirects traffic to the new one(s). In that way, we decorelate service uptime from server uptime.</p>
<p>We can do all that because we embraced Immutable Infrastructure. This concept appeared somewhere around 2010 and is a full paradigm shift. Basically, not a single part of your infrastructure will ever be updated in place. It will either be created or removed, never modified. Modifying something creates uncertainty and possibly an inability to be reproduced. Immutable Infrastructure ensures reproducibility.</p>
<h3 id="applications-or-add-ons">Applications or add-ons?</h3>
<p>To support this, we manage two different concepts: Application and Add-on. Applications are stateless. They are represented by a runtime and sometimes a build tool. For example a Wordpress website does not need a build tool, just a runtime: a web server. As developers, application is where we spend the most time on. This is where we create value. All applications instances (VMs) are immutable. So you need to make sure your deployments are stateless. You have to store state in a database, object store or filesystem.</p>
<p>Which is where add-ons come in handy. They are not yet managed as Immutable Infrastructure (it is however part of our plan). They  all our DBaaS (which all have automatic and on-demand backups), our shared filesystem, object storage like S3 etc… It also includes stuff like Jenkins, Artifactory, GitHub Enteprise, Gitlab and more.</p>
<p>Hopefuly this gave you a much better idea of what is Clever Cloud. We could go on longer but I will assume you are bored already. So moving on to practical things :D</p>
<h2 id="deploy-your-first-application">Deploy your first Application</h2>
<p>To create an account, simply go to our <a href="https://www.clever.cloud/">website</a> and click on &#39;Sign UP and Try&#39;. If you do not have a GitHub account you can signup manually <a href="https://www.clever.cloud/#regular-signup">here</a>. Once you have an account you can start playing around with your free credits. Take a look at some of the videos we made on our <a href="https://www.youtube.com/channel/UC-Fl-rLmJ-Xv1nZHVPBzUkQ">YouTube channel</a>.</p>
<h3 id="setup-the-cli">Setup the CLI</h3>
<p>After you have setup your accout you can install our CLI. It will be heavily used on most posts of the <em>One Framework a Day</em> series. There are a couple of ways you can install it. First you can checkout the <a href="https://github.com/CleverCloud/clever-tools">GitHub project</a> and build it from source. It&#39;s Node.js app so you will need npm, node and a couple of other dependencies described in the Readme.</p>
<p>You can also use a package manager or installer. Head over to our <a href="https://www.clever.cloud/developers/clever-tools/getting_started/">documentation</a> to get the details for MacOS and homebrew, Windows and chocolatey or Linux and its prebuilt binaries.</p>
<h3 id="test-the-cli">Test the CLI</h3>
<p>If you have an account and installed the CLI, you should be able to test your first application. First thing to do is to link your account to the CLI. Simply type <code>clever login</code>. This will get you through a login prompt to retrieve your newly created identification tokens.</p>
<p>Create a new directory called <code>hello-world-app</code> and inside create an <code>index.html</code> file containing the string <code>Hello World</code>. Then initiate a new git repository and commit the html file. Here are the steps you need to follow if you have a Unix system:</p>
<pre><code class="language-bash">mkdir hello-world-app
cd hello-world-app
touch index.html
echo &#39;Hello World&#39; &gt; index.html
git init
git add index.html
git commit -m &quot;my new website&quot;
</code></pre>
<p>You now have a static website ready to be deployed to Clever Cloud. First you need to create an application of type static, then deploy the content of your site to the newly created application. Once it&#39;s done, open the website in your default browser:</p>
<pre><code class="language-bash">clever create --type static-apache hello
clever deploy
clever open
</code></pre>
<h2 id="conclusion">Conclusion</h2>
<p>Now you should know more about Clever Cloud and you have deployed your first application. Please note that if you don&#39;t like command line, you can also do all of this from our web console or our API. Actually, both the CLI and the console use our API :) This also means you can script whatever you want! And now remember that all the next posts will be dedicated to deploying a particular framework on Clever Cloud. See you soon :)</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="1fdba step0 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-step0-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Welcome to the first edition of <em>One Framework a Day keeps the Boredom Away</em>. In this series I will show you how to deploy a particular framework on Clever Cloud.</p>
<span id="more-2905"></span>

<p>This post 0 is a little different as its goal is to explain you how Clever Cloud works and to help you get setup. If you already know Clever Cloud and have the CLI installed, wait for the next post tomorrow :)</p>
<h2 id="what-is-clever-cloud">What is Clever Cloud?</h2>
<p>Clever Cloud is a Platform as a Service. We like to say we provide IT Automation and Application Sustainability. That and additional sleeping hours and serenity for our users.</p>
<h3 id="it-automation">IT Automation</h3>
<p>What we mean by IT Automation is that we automate things. Beyond this obvious statement, what is important is that we do it, so you don&#39;t have to. You should be able to focus on writing code because it is what brings value to your organization. Anything else than code is infrastructure. It&#39;s a cost. We&#39;ll manage it.</p>
<p>To make it work you just have to agree with a couple of loose rules (well, <a href="https://12factor.net/">12 actually</a>) and everything will be fine. If you use a build tool, just add a json file telling us which build tool goal we have to run, push your code and we do the rest.</p>
<p>From now on your application is up and running on Clever Cloud. That&#39;s where Application Sustainability kicks in.</p>
<h3 id="application-sustainability">Application Sustainability</h3>
<p>What we mean by Application Sustainability is making sure your application stays in production. To do so we provide hardware monitoring out of the box. Even better, since you are usually using a build tool we know what runtime you are using so we know how to monitor it. We automatically integrate with Java&#39;s JMX or Haskell&#39;s EKG for instance.</p>
<p>This monitoring allow* us to give you additional features like self-healing: If your application crashes or does not answer we restart it automatically. We also bring automatic scalability both vertically and horizontally. And everything happens without downtime because we do blue/green deployment. Meaning, when we need to update a VM (say for an OS update or a security fix), we don&#39;t update it per se. We restart the same cycle on a brand new, updated VM. Once it&#39;s up, our reverse proxy simply redirects traffic to the new one(s). In that way, we decorelate service uptime from server uptime.</p>
<p>We can do all that because we embraced Immutable Infrastructure. This concept appeared somewhere around 2010 and is a full paradigm shift. Basically, not a single part of your infrastructure will ever be updated in place. It will either be created or removed, never modified. Modifying something creates uncertainty and possibly an inability to be reproduced. Immutable Infrastructure ensures reproducibility.</p>
<h3 id="applications-or-add-ons">Applications or add-ons?</h3>
<p>To support this, we manage two different concepts: Application and Add-on. Applications are stateless. They are represented by a runtime and sometimes a build tool. For example a Wordpress website does not need a build tool, just a runtime: a web server. As developers, application is where we spend the most time on. This is where we create value. All applications instances (VMs) are immutable. So you need to make sure your deployments are stateless. You have to store state in a database, object store or filesystem.</p>
<p>Which is where add-ons come in handy. They are not yet managed as Immutable Infrastructure (it is however part of our plan). They  all our DBaaS (which all have automatic and on-demand backups), our shared filesystem, object storage like S3 etc… It also includes stuff like Jenkins, Artifactory, GitHub Enteprise, Gitlab and more.</p>
<p>Hopefuly this gave you a much better idea of what is Clever Cloud. We could go on longer but I will assume you are bored already. So moving on to practical things :D</p>
<h2 id="deploy-your-first-application">Deploy your first Application</h2>
<p>To create an account, simply go to our <a href="https://www.clever.cloud/">website</a> and click on &#39;Sign UP and Try&#39;. If you do not have a GitHub account you can signup manually <a href="https://www.clever.cloud/#regular-signup">here</a>. Once you have an account you can start playing around with your free credits. Take a look at some of the videos we made on our <a href="https://www.youtube.com/channel/UC-Fl-rLmJ-Xv1nZHVPBzUkQ">YouTube channel</a>.</p>
<h3 id="setup-the-cli">Setup the CLI</h3>
<p>After you have setup your accout you can install our CLI. It will be heavily used on most posts of the <em>One Framework a Day</em> series. There are a couple of ways you can install it. First you can checkout the <a href="https://github.com/CleverCloud/clever-tools">GitHub project</a> and build it from source. It&#39;s Node.js app so you will need npm, node and a couple of other dependencies described in the Readme.</p>
<p>You can also use a package manager or installer. Head over to our <a href="https://www.clever.cloud/developers/clever-tools/getting_started/">documentation</a> to get the details for MacOS and homebrew, Windows and chocolatey or Linux and its prebuilt binaries.</p>
<h3 id="test-the-cli">Test the CLI</h3>
<p>If you have an account and installed the CLI, you should be able to test your first application. First thing to do is to link your account to the CLI. Simply type <code>clever login</code>. This will get you through a login prompt to retrieve your newly created identification tokens.</p>
<p>Create a new directory called <code>hello-world-app</code> and inside create an <code>index.html</code> file containing the string <code>Hello World</code>. Then initiate a new git repository and commit the html file. Here are the steps you need to follow if you have a Unix system:</p>
<pre><code class="language-bash">mkdir hello-world-app
cd hello-world-app
touch index.html
echo &#39;Hello World&#39; &gt; index.html
git init
git add index.html
git commit -m &quot;my new website&quot;
</code></pre>
<p>You now have a static website ready to be deployed to Clever Cloud. First you need to create an application of type static, then deploy the content of your site to the newly created application. Once it&#39;s done, open the website in your default browser:</p>
<pre><code class="language-bash">clever create --type static-apache hello
clever deploy
clever open
</code></pre>
<h2 id="conclusion">Conclusion</h2>
<p>Now you should know more about Clever Cloud and you have deployed your first application. Please note that if you don&#39;t like command line, you can also do all of this from our web console or our API. Actually, both the CLI and the console use our API :) This also means you can script whatever you want! And now remember that all the next posts will be dedicated to deploying a particular framework on Clever Cloud. See you soon :)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Let your logs help you</title>
		<link>https://www.clever.cloud/blog/engineering/2016/05/23/let-your-logs-help-you/</link>
		
		<dc:creator><![CDATA[Geoffroy Couprie]]></dc:creator>
		<pubDate>Mon, 23 May 2016 14:12:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[cloud]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2016/05/23/let-your-logs-help-you/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="logs help 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>We use logs for everything, to track errors, measure performance, keep a journal of how our software runs, or even debug code in production. Since we use it so much, we should be good at it by now, right?</p>
<span id="more-2805"></span>

<p>Surprisingly, well written, useful logs are not frequent. The norm is logs full of garbage, old debug statements (&quot;I was here&quot;), unhandled exceptions, and non actionable information.</p>
<p>You read the file, looking for that one word, that should be followed by another word, but two threads are performing the same task and each will output the two log messages. Maybe, if you look at the timing, you&#39;ll know which is which.</p>
<p>You try to make sense of multiple interleaving messages, but they come from two machines with desynchronized clocks, and one of them is sending batches of messages every second instead of sending them as they are generated. You wonder if the code is executing in the right order and write essays about causality and determinism.</p>
<p>I have a hundred stories like those, and there&#39;s a common theme, a root cause for the way we write logs. As a developer, we think of them first as a developer&#39;s tool, not as the main interface to check your app&#39;s health in production. They are meant to be read with <code>tail</code> while the application runs on small workloads, for a limited time.</p>
<h2 id="developer-logs-vs-ops-logs">Developer logs VS ops logs</h2>
<p>Managing software in production means detecting when something is wrong, but knowing every bit of the program&#39;s state is a counterproductive way of doing it.</p>
<p>You want to know the important metrics:</p>
<ul>
<li>someone consulted a web page: leave that to your web analytics software</li>
<li>someone consulted a web page, but the app failed to answer: log it</li>
<li>someone consulted a web page, and the page&#39;s size is larger than the buffer:
don&#39;t log it, it&#39;s useless most of the time</li>
<li>someone bought something: log it, even if you have a backend to see that</li>
<li>someone bought something and the server failed: log it and send an email to
the dev team to fix it right now</li>
</ul>
<p>More generally, here is a scale from ops log to developer log:</p>
<ul>
<li>a transaction has been performed, successfully or not =&gt; ops logs</li>
<li>individual steps of that transaction failed =&gt; ops logs</li>
<li>individual steps of that transaction succeeded =&gt; dev logs</li>
<li>value of variable X at point Y in code =&gt; definitely developer logs</li>
</ul>
<p>Here is an example (from code I wrote) of developer centric logs:</p>
<script src="https://gist.github.com/cnivolle/3bf213c8f22c88dbd23f2ae550d175d7.js"></script>

<p>I am not saying developer info should not appear in logs. Just that it is best hidden under &quot;debug&quot; or &quot;trace&quot; levels, if your logging system supports levels (most do). It is fine to have useless messages in there, as long as they are not used in production/ It is fine to use &quot;printf debugging&quot; in development, but it should never appear in production.</p>
<p>Your goal in writing logs is to spare time for the person that will read them. It may be a sysadmin in your company, a client using your software, or yourself, six months from now, trying to put the app back online at 2 AM. Please think of your future self.</p>
<h2 id="making-the-logs-more-ops-friendly">Making the logs more ops friendly</h2>
<p>To make the life of the journal&#39;s reader easier, you need to optimize for two reading engines:</p>
<ul>
<li>filtering software, like grep</li>
<li>the human eye</li>
</ul>
<p>Why the human eye?</p>
<p>Because we are good at detecting patterns, and filtering out the useless parts of an image. If a sequence of three lines appears regularly, we will see it easily. If we only care about the message part of the log, not the prefix (time, PID, etc), we will focus our attention on it and ignore the rest.</p>
<p>The consequence is that everything that will break the brain&#39;s flow will make your logs harder to read. if the user id appears at the beginning of one message, but at the end of another one, it will be much harder to see which messages are related.</p>
<p>Fortunately, what works well for the human eye also works for filtering tools. Standardized, common prefixes are easy to search for, and easy to recognize. Related information should have identifying information, always stored in the same place.</p>
<h2 id="practical-advice">Practical advice</h2>
<p>How can you apply those principles right now? You begin by making a small wrapper over your logging library to automatically insert useful information, in a fixed format:</p>
<ul>
<li><em>a timestamp, preferably in ISO8601</em> (easier to read) at UTC (no timezone conversion
when reading). By the way, make sure your servers are all set up to use the same
timezone, this will save headaches</li>
<li><em>a timestamp from a monotonic clock</em> if your application is time critical</li>
<li>identify the current instance: add a <em>server identifier</em> (name, IP, whatever)
and an <em>instance identifier</em> (process id, thread id)</li>
<li><em>the running code&#39;s version</em> (commit id or version number)</li>
<li>the file&#39;s name, line number, class and function names are useful for debugging,
so add them for the &quot;debug&quot; and &quot;trace&quot; levels (but don&#39;t activate those levels in
production unless you have a good reason)</li>
<li>add some correlation information: the <em>user id</em>, a <em>request id</em>, anything that
will let you track which action resulted in which messages</li>
<li><em>code status</em>: are we in the middle of an error? Is something pending?</li>
<li>then, at the end, you can put a written message. You can use structured logging
instead of raw text if you want to track data with more automated tools</li>
</ul>
<p>This is a lot of information to put on one line, but we have great tools at our disposal. We can filter on one of these fields and remove it from the output. We can use terminals larger than 80 characters. We can even color parts of those logs to let the eye separate them easily.</p>
<p>If I had to rewrite the previous example logs that way:</p>
<script src="https://gist.github.com/cnivolle/2486db9d0c73a9986146d85f4fcbf1bc.js"></script>

<p>Side note: beware exceptions. It is fine to display an exception&#39;s stack trace while debugging the code, but an exception in production means two things:</p>
<ul>
<li>you forgot to replace the stacktrace with a proper error message for an exception
you handled</li>
<li>there&#39;s an exception that you do not handle in your code</li>
</ul>
<p>In both cases, it is a signal that something wrong happened and that it should be fixed soon. Also, it usually messes up the log&#39;s format, and fills up the log with useless information. I once heard about an app that needed to run on machines with big disks and big CPUs, because there were so many exceptions logged that the machine could not keep up.</p>
<p>Anyway, The goal of that approach is to have a common format for every message, simple to parse and filter. Make sure that those common parts have the same length, and that you use the same separators everywhere. Tabs are usually better than spaces, since we rarely use them in log messages. This will make the logs easier to read, and much easier to filter for.</p>
<p>With a good logging discipline, you will soon see non conforming messages as bugs, and you will be much more efficient when debugging and operating your application.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="logs help 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/logs-help-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>We use logs for everything, to track errors, measure performance, keep a journal of how our software runs, or even debug code in production. Since we use it so much, we should be good at it by now, right?</p>
<span id="more-2805"></span>

<p>Surprisingly, well written, useful logs are not frequent. The norm is logs full of garbage, old debug statements (&quot;I was here&quot;), unhandled exceptions, and non actionable information.</p>
<p>You read the file, looking for that one word, that should be followed by another word, but two threads are performing the same task and each will output the two log messages. Maybe, if you look at the timing, you&#39;ll know which is which.</p>
<p>You try to make sense of multiple interleaving messages, but they come from two machines with desynchronized clocks, and one of them is sending batches of messages every second instead of sending them as they are generated. You wonder if the code is executing in the right order and write essays about causality and determinism.</p>
<p>I have a hundred stories like those, and there&#39;s a common theme, a root cause for the way we write logs. As a developer, we think of them first as a developer&#39;s tool, not as the main interface to check your app&#39;s health in production. They are meant to be read with <code>tail</code> while the application runs on small workloads, for a limited time.</p>
<h2 id="developer-logs-vs-ops-logs">Developer logs VS ops logs</h2>
<p>Managing software in production means detecting when something is wrong, but knowing every bit of the program&#39;s state is a counterproductive way of doing it.</p>
<p>You want to know the important metrics:</p>
<ul>
<li>someone consulted a web page: leave that to your web analytics software</li>
<li>someone consulted a web page, but the app failed to answer: log it</li>
<li>someone consulted a web page, and the page&#39;s size is larger than the buffer:
don&#39;t log it, it&#39;s useless most of the time</li>
<li>someone bought something: log it, even if you have a backend to see that</li>
<li>someone bought something and the server failed: log it and send an email to
the dev team to fix it right now</li>
</ul>
<p>More generally, here is a scale from ops log to developer log:</p>
<ul>
<li>a transaction has been performed, successfully or not =&gt; ops logs</li>
<li>individual steps of that transaction failed =&gt; ops logs</li>
<li>individual steps of that transaction succeeded =&gt; dev logs</li>
<li>value of variable X at point Y in code =&gt; definitely developer logs</li>
</ul>
<p>Here is an example (from code I wrote) of developer centric logs:</p>
<script src="https://gist.github.com/cnivolle/3bf213c8f22c88dbd23f2ae550d175d7.js"></script>

<p>I am not saying developer info should not appear in logs. Just that it is best hidden under &quot;debug&quot; or &quot;trace&quot; levels, if your logging system supports levels (most do). It is fine to have useless messages in there, as long as they are not used in production/ It is fine to use &quot;printf debugging&quot; in development, but it should never appear in production.</p>
<p>Your goal in writing logs is to spare time for the person that will read them. It may be a sysadmin in your company, a client using your software, or yourself, six months from now, trying to put the app back online at 2 AM. Please think of your future self.</p>
<h2 id="making-the-logs-more-ops-friendly">Making the logs more ops friendly</h2>
<p>To make the life of the journal&#39;s reader easier, you need to optimize for two reading engines:</p>
<ul>
<li>filtering software, like grep</li>
<li>the human eye</li>
</ul>
<p>Why the human eye?</p>
<p>Because we are good at detecting patterns, and filtering out the useless parts of an image. If a sequence of three lines appears regularly, we will see it easily. If we only care about the message part of the log, not the prefix (time, PID, etc), we will focus our attention on it and ignore the rest.</p>
<p>The consequence is that everything that will break the brain&#39;s flow will make your logs harder to read. if the user id appears at the beginning of one message, but at the end of another one, it will be much harder to see which messages are related.</p>
<p>Fortunately, what works well for the human eye also works for filtering tools. Standardized, common prefixes are easy to search for, and easy to recognize. Related information should have identifying information, always stored in the same place.</p>
<h2 id="practical-advice">Practical advice</h2>
<p>How can you apply those principles right now? You begin by making a small wrapper over your logging library to automatically insert useful information, in a fixed format:</p>
<ul>
<li><em>a timestamp, preferably in ISO8601</em> (easier to read) at UTC (no timezone conversion
when reading). By the way, make sure your servers are all set up to use the same
timezone, this will save headaches</li>
<li><em>a timestamp from a monotonic clock</em> if your application is time critical</li>
<li>identify the current instance: add a <em>server identifier</em> (name, IP, whatever)
and an <em>instance identifier</em> (process id, thread id)</li>
<li><em>the running code&#39;s version</em> (commit id or version number)</li>
<li>the file&#39;s name, line number, class and function names are useful for debugging,
so add them for the &quot;debug&quot; and &quot;trace&quot; levels (but don&#39;t activate those levels in
production unless you have a good reason)</li>
<li>add some correlation information: the <em>user id</em>, a <em>request id</em>, anything that
will let you track which action resulted in which messages</li>
<li><em>code status</em>: are we in the middle of an error? Is something pending?</li>
<li>then, at the end, you can put a written message. You can use structured logging
instead of raw text if you want to track data with more automated tools</li>
</ul>
<p>This is a lot of information to put on one line, but we have great tools at our disposal. We can filter on one of these fields and remove it from the output. We can use terminals larger than 80 characters. We can even color parts of those logs to let the eye separate them easily.</p>
<p>If I had to rewrite the previous example logs that way:</p>
<script src="https://gist.github.com/cnivolle/2486db9d0c73a9986146d85f4fcbf1bc.js"></script>

<p>Side note: beware exceptions. It is fine to display an exception&#39;s stack trace while debugging the code, but an exception in production means two things:</p>
<ul>
<li>you forgot to replace the stacktrace with a proper error message for an exception
you handled</li>
<li>there&#39;s an exception that you do not handle in your code</li>
</ul>
<p>In both cases, it is a signal that something wrong happened and that it should be fixed soon. Also, it usually messes up the log&#39;s format, and fills up the log with useless information. I once heard about an app that needed to run on machines with big disks and big CPUs, because there were so many exceptions logged that the machine could not keep up.</p>
<p>Anyway, The goal of that approach is to have a common format for every message, simple to parse and filter. Make sure that those common parts have the same length, and that you use the same separators everywhere. Tabs are usually better than spaces, since we rarely use them in log messages. This will make the logs easier to read, and much easier to filter for.</p>
<p>With a good logging discipline, you will soon see non conforming messages as bugs, and you will be much more efficient when debugging and operating your application.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Security is a process, not a reaction</title>
		<link>https://www.clever.cloud/blog/company/2016/04/04/security-is-a-process/</link>
		
		<dc:creator><![CDATA[Geoffroy Couprie]]></dc:creator>
		<pubDate>Mon, 04 Apr 2016 15:32:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2016/04/04/security-is-a-process/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/security-link-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="security link 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/security-link-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p>Wake up. Check the news. There is a new OpenSSL vulnerability, the world is on fire. That vulnerability was published a week ago. Panic. Patch everything in a hurry. Break production. Panic^2.

<span id="more-2746"></span>

If this sounds familiar, you are probably running a web application of some kind. Maybe your whole business depends on it. Maybe you didn't hear about the latest world-on-fire vulnerability. Panic.

How do you keep up with security issues when everything is happening so fast? Which parts of your technical stack are the most at risk? Is the customer data safe? Do you really need to care?

At Clever Cloud, we support many languages and databases, running on hundreds of machines. And our core business is to execute code we didn't write, on our infrastructure.

This has an interesting effect on security management: there is always an issue somewhere. Vulnerabilities appear every day. You are lucky if they are not "0 day vulnerabilities". Those are flaws published without notifying the developers. This means there is no solution available at publication time. How do we handle our security calmly when we should actually run around screaming?

Our approach to security comes from the way we run our systems. You cannot manage hundreds of machines without automation and well defined processes. Every action on our infrastructure must be cheap to perform, or have a great impact.

People see security as a huge cost because of the work it implies:
<ul>
 	<li>unclear risk and impact on the business</li>
 	<li>time spent tracking new vulnerabilities for various applications</li>
 	<li>unclear result of updating code (will it stop working? Will it break other applications on the same machine?)</li>
</ul>
You want to reduce that cost, make security management easier and easier, until it is just a part of a day's job.
<h2 id="defining-your-risk-budget">Defining your risk budget</h2>
Calculating the risk requires some time at first, to teach your team how a threat model works, and how to update it. The threat model is a description of your system used to evaluate the cost of an attack:
<ul>
 	<li>targets: user data, intellectual property, machines</li>
 	<li>entry points: web server, internal WiFi</li>
 	<li>weaknesses: unpatched application, SQL injection, key employees victims of phishing</li>
</ul>
With this model, you calculate the difficulty of exploiting one weakness, which access level you obtain, where you can go from there. At the end, you get a list of issues in your system, ordered by impact on your system and ease of exploitation. Typically, if an automated script can steal your whole database, fix it immediately.

That model is the baseline everybody will use to evaluate security issues. It makes the risk real, not something you can just handwave with saying "we can take that risk". It is something you can plan for and budget for.
<h2 id="staying-up-to-date-with-security-news">Staying up to date with security news</h2>
Once you have a model, you need to keep it up to date with current news. Maybe requiring Java applets in your client's browsers is not such a good idea anymore. Maybe your advertisement network is now serving malware (as a side note, to drastically reduce malware infection at your company, install ad blockers everywhere, trust me on this).

Following security news can look like a daunting task, but you can simplify it with good sources:
<ul>
 	<li>avoid news websites. They write long articles, they want you to panic and they rarely provide usable solutions</li>
 	<li>Follow security mailing lists. There are generalist ones, like <a href="mailto:oss-security@lists.openwall.com">oss-security@lists.openwall.com</a> and <a href="mailto:cve-assign@mitre.org">cve-assign@mitre.org</a>. There are more specific ones, like <a href="mailto:debian-security@lists.debian.org">debian-security@lists.debian.org</a> (translate to your specific distribution), or <a href="mailto:rubyonrails-security@googlegroups.com">rubyonrails-security@googlegroups.com</a> and <a href="mailto:ruby-security-ann@googlegroups.com">ruby-security-ann@googlegroups.com</a>. There is also <a href="mailto:fulldisclosure@seclists.org">fulldisclosure@seclists.org</a>, where 0-day vulnerabilities are sometimes published</li>
 	<li>Twitter is still a good source of information on vulnerabilities, since people easily share. If you see security people suddenly buzzing in your timeline, you should pay attention. There are good lists of people to follow to get you started <a href="http://www.securityinnovationeurope.com/blog/87-security-experts-you-need-to-be-following-on-twitter">here</a> and <a href="http://www.marblesecurity.com/2013/11/20/100-security-experts-follow-twitter/">there</a>. They each have their own focus, though, so you may not be interested in everything</li>
 	<li>keep up with new versions of your software and their dependencies. Use your package manager, project specific mailing lists, subscribe to their github feed</li>
</ul>
Tracking security news becomes a simple process:
<ul>
 	<li>check the mailing lists, see if you use any of the applications mentioned</li>
 	<li>check your dependencies: anything new? Any security issues mentioned?</li>
 	<li>check Twitter: is the world on fire?</li>
</ul>
Be careful, though. Twitter is often on fire, and security experts like to jump on the new vulnerability and dissect it at length. Even when there is no information available. Not every vulnerability needs attention right now, some of them may not even apply to your particular usage of the software. Don't panic (yet).

Taking the time to verify security issues regularly makes security part of your daily/weekly process. Applying a security patch is just another item to raise at your morning stand up meeting (or whatever other process).

Note that the person tracking the vulnerability might not be the one fixing it. When I first learned about the <a href="https://weakdh.org/">Logjam flaw</a>, I was about to enter a plane for 10 hours. Notify the team by SMS/Slack, get an acknowledgment from someone, then go to sleep.
<h2 id="reducing-the-risk-of-code-updates">Reducing the risk of code updates</h2>
Here lies the huge cost of security: any code change in production is a potential liability. It brings no value to the customer, can introduce bugs or even crash the whole system (please make backups and test them regularly).

But this cost is not limited to security. It applies to your whole business. If modifying the production environment is complex and error prone, bugfixes come rarely. New versions come in huge chunks of code that <em>will</em> break things. Huge list of changes may even require some service downtime.

The point of our job at Clever Cloud is to make new deployments fast and painless. It has influenced our whole approaches to security. If you can start and remove a new instance of your application in seconds, you get huge benefits:
<ul>
 	<li>staging environments to test updates</li>
 	<li>replacing huge, risky updates with small increments</li>
 	<li>applications can be completely independent. Updating the company's WordPress blog will not affect the SaaS application</li>
</ul>
This is how we do code updates now: when a project's dependency gets a new version to fix a security issue, just redeploy the application. When there's a security patch for the Linux kernel, apply the patch, redeploy all the virtual machines, move on.
<figure><img id="img" src="https://cdn.clever-cloud.com/uploads/2021/08/redeploy-vm-1.jpg" /></figure>
We do not run around with our hair on fire. It is just a basic loop of:
<ul>
 	<li>get notified of a vulnerability</li>
 	<li>see if it applies</li>
 	<li>see if there's a patch (or if you can develop one quickly)</li>
 	<li>apply the patch</li>
 	<li>redeploy the applications</li>
 	<li>go make yourself a nice tea</li>
</ul>
We have good examples of this:
<ul>
 	<li>The recent CVE-2016-0728 is a privilege escalation in Linux, something we need to take seriously. We took a look at <a href="http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/">the advisory</a>, wrote a patch, tested it and deployed it in a few hours. Most Linux distributions took days to publish updated packages.</li>
 	<li>In the same way, the infamous <a href="http://heartbleed.com/">Heartbleed bug</a> was fixed quickly. One of our clients came to us hours later asking if we knew about it: "oh, that's the reason my applications were redeployed in the middle of the night"</li>
</ul>
When deploying new versions of an application is easy, it suddenly reduces the cost of code changes. The operational risk gets tiny, compared to the security risk. And you can update everything fast. You have no more excuse to keep unpatched systems.

Following those tips to set up your security process will improve your operations as well. With a systematic approach, you know your application better, you can see the cost of managing issues and take action.

There is still a lot to talk about, like training for incidents, defining operations procedures, or how to set up your infrastructure for easy deployments. But that last item, we can handle it for you <a href="https://www.clever.cloud/contact/">right now</a>.]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/security-link-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="security link 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/security-link-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/security-link-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p>Wake up. Check the news. There is a new OpenSSL vulnerability, the world is on fire. That vulnerability was published a week ago. Panic. Patch everything in a hurry. Break production. Panic^2.

<span id="more-2746"></span>

If this sounds familiar, you are probably running a web application of some kind. Maybe your whole business depends on it. Maybe you didn't hear about the latest world-on-fire vulnerability. Panic.

How do you keep up with security issues when everything is happening so fast? Which parts of your technical stack are the most at risk? Is the customer data safe? Do you really need to care?

At Clever Cloud, we support many languages and databases, running on hundreds of machines. And our core business is to execute code we didn't write, on our infrastructure.

This has an interesting effect on security management: there is always an issue somewhere. Vulnerabilities appear every day. You are lucky if they are not "0 day vulnerabilities". Those are flaws published without notifying the developers. This means there is no solution available at publication time. How do we handle our security calmly when we should actually run around screaming?

Our approach to security comes from the way we run our systems. You cannot manage hundreds of machines without automation and well defined processes. Every action on our infrastructure must be cheap to perform, or have a great impact.

People see security as a huge cost because of the work it implies:
<ul>
 	<li>unclear risk and impact on the business</li>
 	<li>time spent tracking new vulnerabilities for various applications</li>
 	<li>unclear result of updating code (will it stop working? Will it break other applications on the same machine?)</li>
</ul>
You want to reduce that cost, make security management easier and easier, until it is just a part of a day's job.
<h2 id="defining-your-risk-budget">Defining your risk budget</h2>
Calculating the risk requires some time at first, to teach your team how a threat model works, and how to update it. The threat model is a description of your system used to evaluate the cost of an attack:
<ul>
 	<li>targets: user data, intellectual property, machines</li>
 	<li>entry points: web server, internal WiFi</li>
 	<li>weaknesses: unpatched application, SQL injection, key employees victims of phishing</li>
</ul>
With this model, you calculate the difficulty of exploiting one weakness, which access level you obtain, where you can go from there. At the end, you get a list of issues in your system, ordered by impact on your system and ease of exploitation. Typically, if an automated script can steal your whole database, fix it immediately.

That model is the baseline everybody will use to evaluate security issues. It makes the risk real, not something you can just handwave with saying "we can take that risk". It is something you can plan for and budget for.
<h2 id="staying-up-to-date-with-security-news">Staying up to date with security news</h2>
Once you have a model, you need to keep it up to date with current news. Maybe requiring Java applets in your client's browsers is not such a good idea anymore. Maybe your advertisement network is now serving malware (as a side note, to drastically reduce malware infection at your company, install ad blockers everywhere, trust me on this).

Following security news can look like a daunting task, but you can simplify it with good sources:
<ul>
 	<li>avoid news websites. They write long articles, they want you to panic and they rarely provide usable solutions</li>
 	<li>Follow security mailing lists. There are generalist ones, like <a href="mailto:oss-security@lists.openwall.com">oss-security@lists.openwall.com</a> and <a href="mailto:cve-assign@mitre.org">cve-assign@mitre.org</a>. There are more specific ones, like <a href="mailto:debian-security@lists.debian.org">debian-security@lists.debian.org</a> (translate to your specific distribution), or <a href="mailto:rubyonrails-security@googlegroups.com">rubyonrails-security@googlegroups.com</a> and <a href="mailto:ruby-security-ann@googlegroups.com">ruby-security-ann@googlegroups.com</a>. There is also <a href="mailto:fulldisclosure@seclists.org">fulldisclosure@seclists.org</a>, where 0-day vulnerabilities are sometimes published</li>
 	<li>Twitter is still a good source of information on vulnerabilities, since people easily share. If you see security people suddenly buzzing in your timeline, you should pay attention. There are good lists of people to follow to get you started <a href="http://www.securityinnovationeurope.com/blog/87-security-experts-you-need-to-be-following-on-twitter">here</a> and <a href="http://www.marblesecurity.com/2013/11/20/100-security-experts-follow-twitter/">there</a>. They each have their own focus, though, so you may not be interested in everything</li>
 	<li>keep up with new versions of your software and their dependencies. Use your package manager, project specific mailing lists, subscribe to their github feed</li>
</ul>
Tracking security news becomes a simple process:
<ul>
 	<li>check the mailing lists, see if you use any of the applications mentioned</li>
 	<li>check your dependencies: anything new? Any security issues mentioned?</li>
 	<li>check Twitter: is the world on fire?</li>
</ul>
Be careful, though. Twitter is often on fire, and security experts like to jump on the new vulnerability and dissect it at length. Even when there is no information available. Not every vulnerability needs attention right now, some of them may not even apply to your particular usage of the software. Don't panic (yet).

Taking the time to verify security issues regularly makes security part of your daily/weekly process. Applying a security patch is just another item to raise at your morning stand up meeting (or whatever other process).

Note that the person tracking the vulnerability might not be the one fixing it. When I first learned about the <a href="https://weakdh.org/">Logjam flaw</a>, I was about to enter a plane for 10 hours. Notify the team by SMS/Slack, get an acknowledgment from someone, then go to sleep.
<h2 id="reducing-the-risk-of-code-updates">Reducing the risk of code updates</h2>
Here lies the huge cost of security: any code change in production is a potential liability. It brings no value to the customer, can introduce bugs or even crash the whole system (please make backups and test them regularly).

But this cost is not limited to security. It applies to your whole business. If modifying the production environment is complex and error prone, bugfixes come rarely. New versions come in huge chunks of code that <em>will</em> break things. Huge list of changes may even require some service downtime.

The point of our job at Clever Cloud is to make new deployments fast and painless. It has influenced our whole approaches to security. If you can start and remove a new instance of your application in seconds, you get huge benefits:
<ul>
 	<li>staging environments to test updates</li>
 	<li>replacing huge, risky updates with small increments</li>
 	<li>applications can be completely independent. Updating the company's WordPress blog will not affect the SaaS application</li>
</ul>
This is how we do code updates now: when a project's dependency gets a new version to fix a security issue, just redeploy the application. When there's a security patch for the Linux kernel, apply the patch, redeploy all the virtual machines, move on.
<figure><img id="img" src="https://cdn.clever-cloud.com/uploads/2021/08/redeploy-vm-1.jpg" /></figure>
We do not run around with our hair on fire. It is just a basic loop of:
<ul>
 	<li>get notified of a vulnerability</li>
 	<li>see if it applies</li>
 	<li>see if there's a patch (or if you can develop one quickly)</li>
 	<li>apply the patch</li>
 	<li>redeploy the applications</li>
 	<li>go make yourself a nice tea</li>
</ul>
We have good examples of this:
<ul>
 	<li>The recent CVE-2016-0728 is a privilege escalation in Linux, something we need to take seriously. We took a look at <a href="http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/">the advisory</a>, wrote a patch, tested it and deployed it in a few hours. Most Linux distributions took days to publish updated packages.</li>
 	<li>In the same way, the infamous <a href="http://heartbleed.com/">Heartbleed bug</a> was fixed quickly. One of our clients came to us hours later asking if we knew about it: "oh, that's the reason my applications were redeployed in the middle of the night"</li>
</ul>
When deploying new versions of an application is easy, it suddenly reduces the cost of code changes. The operational risk gets tiny, compared to the security risk. And you can update everything fast. You have no more excuse to keep unpatched systems.

Following those tips to set up your security process will improve your operations as well. With a systematic approach, you know your application better, you can see the cost of managing issues and take action.

There is still a lot to talk about, like training for incidents, defining operations procedures, or how to set up your infrastructure for easy deployments. But that last item, we can handle it for you <a href="https://www.clever.cloud/contact/">right now</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Devs are just like other workers</title>
		<link>https://www.clever.cloud/blog/company/2013/07/17/devs-are-just-like-other-workers/</link>
		
		<dc:creator><![CDATA[Adrien Cretté]]></dc:creator>
		<pubDate>Wed, 17 Jul 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[PaaS]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/07/17/devs-are-just-like-other-workers/</guid>

					<description><![CDATA[Lire la version française Devs are just like other workers. They waste a lot of time with non-productive (and often boring) tasks. A recently published article from ICT Journal (original report done by Zero Turnaround &#34;Developer Productivity Report 2012&#34;) said that developers dedicate only 1/3 of their time to writing code. It represents only an [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><em><a href="#fr">Lire la version française</a></em></p>
<p>Devs are just like other workers. They waste a lot of time with non-productive (and often boring) tasks.</p>
<p>A recently published article from <a href="http://www.ictjournal.ch/fr-CH/News/2013/07/15/Les-developpeurs-ne-passent-quun-tiers-de-leur-temps-a-creer-du-code.aspx" rel="noopener noreferrer" target="_blank">ICT Journal</a> (original report done by <a href="http://zeroturnaround.com/rebellabs/developer-productivity-report-part-1-developer-timesheet/" rel="noopener noreferrer" target="_blank">Zero Turnaround</a> &quot;Developer Productivity Report 2012&quot;) said that developers dedicate only 1/3 of their time to writing code. It represents only an average of 15 hours per week.</p>
<p><span id="more-2728"></span></p>
<div class="center" style="margin: 0 auto 20px; width: 400px">
  <a href="http://zeroturnaround.com/rebellabs/developer-productivity-report-part-1-developer-timesheet/" rel="noopener noreferrer" target="_blank"><br />
    <img decoding="async" alt="developer typical week"  src="https://www2.cleverapps.io/app/uploads/2021/08/dev-week.png"/><br />
  </a>
</div>
<p>As you can see on the graph above, &quot;Overhead tasks&quot; like deployment take 4 hours per week.</p>
<p>Clever Cloud can improve these time consuming tasks and give developers much more time to do what they like (amongst others): working on the codebase.</p>
<p>For example, you can check out the video tutorial we made for deploying a Play! application:</p>
<div style="display: block; margin: 0 auto; ">
  <iframe style="width:500px;display: block; margin: 0 auto;" height="281" src="http://www.youtube.com/embed/HL366BhWFMw" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
</div>
<p>Pretty fast right?</p>
<p>Now just imagine how much time can be saved with this solution.</p>
<div class="center" style="margin: 0 auto 20px; width: 400px">
  <img decoding="async" alt="magic" src="https://www2.cleverapps.io/app/uploads/2021/08/magic.gif"/>
</div>
<p>Using a PaaS (Platform as a Service, for instance Clever Cloud) also allows you to save much time by not doing maintenance on an infrastructure (either your own or an IaaS &#8211; Infrastucture as a Service).</p>
<p>You haven&#39;t tried Clever Cloud? <a href="https://console.clever-cloud.com/auth/signup" rel="noopener noreferrer" target="_blank">Do it for free</a>.</p>
<hr id="fr"/>
<p><em>Version française</em></p>
<p>Les développeurs sont comme les autres travailleurs. Ils perdent un temps fou avec des tâches non productives (et souvent ennuyeuses).</p>
<p>Une étude récement publiée de <a href="http://www.ictjournal.ch/fr-CH/News/2013/07/15/Les-developpeurs-ne-passent-quun-tiers-de-leur-temps-a-creer-du-code.aspx" rel="noopener noreferrer" target="_blank">ICT Journal</a> (« Developer Productivity Report 2012 », <a href="http://zeroturnaround.com/rebellabs/developer-productivity-report-part-1-developer-timesheet/" rel="noopener noreferrer" target="_blank">Zero Turnaround</a>, 1 800 développeurs, principalement Java, sondés en ligne) annonce que les développeurs ne passent que 33% de leur temps à coder. Cela représente environ 15 heures par semaine.  </p>
<p>Comme vous pouvez le voir sur le graphique plus haut, les &quot;tâches annexes&quot; représentent 4 heures de travail hebdomadaire.  </p>
<p>Clever Cloud peut améliorer le temps perdu avec ces tâches et donner aux développeurs plus temps pour faire ce qu&#39;ils aiment (entre autres) : travailler sur le produit.</p>
<p>Vous pouvez  par exemple jeter un œil sur le tutorial vidéo du déploiement d&#39;une application Play! :</p>
<div style="display: block; margin: 0 auto; ">
  <iframe style="width:500px;display: block; margin: 0 auto;" height="281" src="http://www.youtube.com/embed/HL366BhWFMw" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
</div>
<p>Rapide, non ?</p>
<p>Maintenant, imaginez combien de temps il est possible de gagner avec cette solution.</p>
<p>Utiliser un PaaS (Platform as a Service &#8211; exactement ce que fait Clever Cloud) permet aussi d&#39;économiser beaucoup de temps normalement alloué à la maintenance lorsque vous possédez votre propre infrastrucuture (ou un IaaS &#8211; Infrastucture as a Service).</p>
<p>Vous n&#39;avez pas encore essayé Clever Cloud ? <a href="https://console.clever-cloud.com/auth/signup" rel="noopener noreferrer" target="_blank">Faites le gratuitement</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pay with credit card on Clever Cloud</title>
		<link>https://www.clever.cloud/blog/company/2013/07/04/pay-with-credit-card-on-clever-cloud/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Thu, 04 Jul 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Hosting]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/07/04/pay-with-credit-card-on-clever-cloud/</guid>

					<description><![CDATA[Version française Until last week, it was not possible to use a credit card to pay on Clever Cloud. But now, it is! Our new payment method works with MasterCard and Visa. Currently we only accept Euros. Dollars will come soon. Our CB payment method is powered by Paymill. For more informations, do not hesitate [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><em><a href="#fr">Version française</a></em>  </p>
<p>Until last week, it was not possible to use a credit card to pay on Clever Cloud. But now, it is!</p>
<p>Our new payment method works with MasterCard and Visa. Currently we only accept Euros. Dollars will come soon.</p>
<p><span id="more-2726"></span></p>
<p>Our CB payment method is powered by <a href="https://www.paymill.com/fr-fr/?gclid=CIWooMLvkLgCFc3HtAod2VMAow" rel="noopener noreferrer" target="_blank">Paymill</a>.</p>
<p>For more informations, do not hesitate to <a href="mailto:contact@clever-cloud.com">contact us</a>.</p>
<p><a id="fr"></p>
<hr>
<p></a></p>
<p><em>French version</em></p>
<p>Jusqu&#39;à la semaine dernière, il n&#39;était pas possible d&#39;utiliser une carte de crédit pour payer sur Clever Cloud. Maintenant si !</p>
<p>Notre nouvelle méthode de paiement fonctionne avec MasterCard et Visa. Pour le moment, il n&#39;est possible de ne payer qu&#39;en Euros. Les Dollars arriveront bientôt.</p>
<p>Le paiement par carte bancaire sur Clever Cloud est rendu possible grâce à <a href="https://www.paymill.com/fr-fr/?gclid=CIWooMLvkLgCFc3HtAod2VMAow" rel="noopener noreferrer" target="_blank">Paymill</a>.</p>
<p>Pour plus d&#39;informations, n&#39;hésitez pas à <a href="mailto:contact@clever-cloud.com">nous contacter</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Why Clever Cloud can say &#8220;NO&#8221; to PRISM ?</title>
		<link>https://www.clever.cloud/blog/company/2013/06/20/why-clever-cloud-can-say-no-to-prism/</link>
		
		<dc:creator><![CDATA[Adrien Cretté]]></dc:creator>
		<pubDate>Thu, 20 Jun 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[NSA]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/06/20/why-clever-cloud-can-say-no-to-prism/</guid>

					<description><![CDATA[Lire la version française Since the beginning of Clever Cloud, we never went back on our beliefs. Europe needs a cloud hosting offer made by Europeans, to avoid the constraints imposed by the US. Recently, PRISM program was unveiled to the public by Edward Snowden, who became one of the most wanted men by the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><em><a href="#fr">Lire la version française</a></em></p>
<div class="pull-right" style="margin-left:20px; width:200px">
  <a href="https://www2.cleverapps.io/app/uploads/2021/08/prism.png" rel="noopener noreferrer" target="_blank"><br />
    <img decoding="async" alt="prism logo" src="https://www2.cleverapps.io/app/uploads/2021/08/prism.png"><br />
  </a>
</div>
<p>Since the beginning of Clever Cloud, we never went back on our beliefs. Europe needs a cloud hosting offer made by Europeans, to avoid the constraints imposed by the US.</p>
<p><span id="more-2725"></span></p>
<p>Recently, PRISM program was unveiled to the public by Edward Snowden, who became one of the most wanted men by the US Government.</p>
<p>We aren&#39;t going to review here what PRISM is. Many articles have already mentioned it.</p>
<p>Lately, ZDnet has reposted an article first published in June 2011. Brief extract:</p>
<blockquote>
<p>The question put forward:</p>
<p>Can Microsoft guarantee that EU-stored data, held in EU based datacenters, will not leave the European Economic Area under any circumstances — even under a request by the Patriot Act?</p>
<p>Frazer (Microsoft U.K.’s managing director) explained that, as Microsoft is a U.S.-headquartered company, it has to comply with local laws (the United States, as well as any other location where one of its subsidiary companies is based).</p>
<p>Though he said that &quot;customers would be informed wherever possible,&quot; he could not provide a guarantee that they would be informed — if a gagging order, injunction or U.S. National Security Letter permits it.</p>
<p>He said: &quot;Microsoft cannot provide those guarantees. Neither can any other company.&quot;</p>
</blockquote>
<p>Actually, we can protect data of European users. And that is what we do. We are not using a cloud infrastructure based in the US or Ireland. All our datacenters are in France (Paris area) and are the property of a major french firm: Iliad.</p>
<p>We have worked hard to create a Europe based cloud offer and even if we want to grow internationally, we will still guarantee this privilege for those who want a total european cloud environment.</p>
<p>Your data can be accessed by the US Government if you are in one of the following cases:</p>
<ul>
<li>your company is american or wholly-owned by a US parent company</li>
<li>whatever the nationality of your company, you host data in the US</li>
</ul>
<p>The solution is quite simple: if you are a european based company and you don&#39;t want to share any information of your company or your customer privacy, you must host your application and data on the European soil in a datacenter owned by a European company. <a id="fr"></p>
<hr>
<p></a></p>
<p><em>Version française</em></p>
<p>Depuis le début de Clever Cloud, nous ne sommes jamais revenu sur notre volonté de départ. L&#39;Europe a besoin d&#39;un cloud fait par des européens, en réponse aux contraintes imposées par les États-Unis.</p>
<p>Récemment, le programme PRISM a été révélé au public par Edward Snowden, un employé de la NSA devenu au passage l&#39;homme le plus recherché par les États-Unis.</p>
<p>Nous n&#39;allons pas expliquer ici ce qu&#39;est PRISM. Beaucoup d&#39;articles l&#39;ont déjà fait.</p>
<p>Dernièrement, ZDnet a republié un article premièrement publié en juin 2011. Ce qui suit en est un extrait traduit:</p>
<blockquote>
<p>La question est la suivante :</p>
<p>Microsoft peut-il garantir que les données européennes, hébergées dans des datacenters européens, ne quitteront pas la zone économique européenne sous aucunes conditions &#8211; même sous la requête du Patriot Act ?</p>
<p>Frazer (directeur général Microsoft U.K.) explique que, comme Microsoft est une entreprise dont le siège social est basé aux États-Unis, elle doit se conformer aux lois locales (les États-Unis, ainsi que toutes les entreprises filiales du groupe basées ailleurs).</p>
<p>Bien qu&#39;il ai dit que &quot;les clients seront informés dans la mesure du possible,&quot; il ne peut pas garantir qu&#39;ils le seront &#8211; si une censure, une injonction ou une lettre du U.S. National Security le permet.</p>
<p>Il a dit : &quot;Microsoft ne peut pas fournir ces garanties. Aucunes compagnie ne le peut.&quot;</p>
</blockquote>
<p>En fait, il est possible de protéger les données des utilisateurs européens. C&#39;est même ce que nous faisons. Nous n&#39;utilisons pas d&#39;infrastructures basées aux États-Unis ou en Irlande. Tous nos datacenters sont en France (région parisienne) et sont la propriété d&#39;une firme française : Iliad.</p>
<p>Nous avons travaillé dur pour créer une offre de cloud computing européenne et même si nous souhaitons nous développer à l&#39;international, nous continuerons de garantir cette protection à ceux qui souhaitent un hébergement de leurs données sur le vieux continent.</p>
<p>Vos données peuvent être consultées par le gouvernement américain seulement si :</p>
<ul>
<li>votre entreprise est américaine ou est possédée majoritairement par une entreprise américaine;</li>
<li>les données sont stockées sur le sol américan, peu importe la nationalité de votre entreprise.</li>
</ul>
<p>La solution est très simple: si votre entreprise est basée en Europe et que vous ne souhaitez pas partager les informations relatives à vos clients (ou à votre entreprise), vous devez héberger vos applications et données sur le sol européen, dans un datacenter possédé par une entreprise européenne.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DZone&#8217;s definitive guide to PaaS</title>
		<link>https://www.clever.cloud/blog/company/2013/06/10/dzone-definitive-guide-to-paas/</link>
		
		<dc:creator><![CDATA[Adrien Cretté]]></dc:creator>
		<pubDate>Mon, 10 Jun 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[surveys]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/06/10/dzone-definitive-guide-to-paas/</guid>

					<description><![CDATA[Here it comes! Dzone&#39;s definitive guide to PaaS &#38; IaaS solution has been officially launched today. Clever Cloud has participated to the achievement of this guide and you can find all the informations about us inside it. Read what Dzone said about it: DZone&#39;s Definitive Guide Helps You Make the Right Cloud Decision for Your [&#8230;]]]></description>
										<content:encoded><![CDATA[<div style="margin:0 auto 20px; width:300px">
  <img decoding="async" alt="dzone" src="https://www2.cleverapps.io/app/uploads/2021/08/dzone.png">
</div>
<p>Here it comes! Dzone&#39;s definitive guide to PaaS &amp; IaaS solution <a href="http://bit.ly/13LUWkX" rel="noopener noreferrer" target="_blank">has been officially launched today</a>.</p>
<p>Clever Cloud has participated to the achievement of this guide and you can find all the informations about us inside it.</p>
<p><span id="more-2723"></span></p>
<p>Read what Dzone said about it:</p>
<blockquote>
<p>DZone&#39;s Definitive Guide Helps You Make the Right Cloud Decision for Your Organization</p>
<p>Have you ever tried sifting through the hundreds of cloud solutions available in today’s market?<br />There are so many categories of cloud providers that it’s hard to know if you’re researching the right one’s for &gt; your use case.</p>
<p>So how do you distinguish the contenders from the pretenders? Even if you have nailed down the type of cloud &gt; provider you need, you’re still facing a litany of choices.</p>
<p>The cost and time savings of choosing the right cloud provider can revolutionize your business and drive significant &gt; new profit, but the selection process is daunting. DZone observed many developers and IT professionals struggling to find the right solution for their organization, so we decided to mount this unprecedented research project to create a definitive guide to cloud providers.</p>
</blockquote>
<p>The result is <a href="http://bit.ly/13LUWkX" targey="_blank">DZone&#39;s Definitive Guide to Cloud Providers</a>.</p>
<ul>
<li>100 Pages of Cloud Solution Analysis</li>
<li>9 Categories of PaaS and IaaS Analyzed and Compared</li>
<li>35+ of the Most Active Cloud Solutions and Their Feature Sets</li>
<li>Research from 400+ IT Professionals on Cloud Preferences.</li>
</ul>
<p>Get your FREE copy of this guide and make the best decision for your organization.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Is dotscale another boring cloud conference?</title>
		<link>https://www.clever.cloud/blog/company/2013/06/04/dotscale-conference/</link>
		
		<dc:creator><![CDATA[Adrien Cretté]]></dc:creator>
		<pubDate>Tue, 04 Jun 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[dotConferences]]></category>
		<category><![CDATA[dotScale]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Paris]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/06/04/dotscale-conference/</guid>

					<description><![CDATA[Lire la version française The dotConferences are always crazy. The first one of 2013 is the dotScale one. This cloud conference dedicated to developers takes place the 7th and 8th June 2013. The attracting mix is still the same : the best tech speakers in an amazing environment, the Paris “théâtre des variétés”. There are [&#8230;]]]></description>
										<content:encoded><![CDATA[<div style="margin:0 auto 20px; width:200px">
  <a href="https://www2.cleverapps.io/app/uploads/2021/08/dotscale.png" rel="noopener noreferrer" target="_blank"><br />
    <img decoding="async" alt="dotscale" src="https://www2.cleverapps.io/app/uploads/2021/08/dotscale.png"><br />
  </a>
</div>
<p><em><a href="#fr">Lire la version française</a></em></p>
<p>The <a href="http://www.dotconferences.eu/" rel="noopener noreferrer" target="_blank">dotConferences</a> are always crazy. The first one of 2013 is the <a href="http://www.dotscale.eu/" rel="noopener noreferrer" target="_blank">dotScale</a> one. This cloud conference dedicated to developers takes place the 7th and 8th June 2013. The attracting mix is still the same : the best tech speakers in an amazing environment, the Paris “théâtre des variétés”. There are some new speakers and we are very proud to see our CEO Quentin Adam being part of them.</p>
<p><span id="more-2722"></span></p>
<h3 id="no-marketing-speeches-no-buzzword-cover-ups">&quot;No marketing speeches, no buzzword cover-ups&quot;</h3>
<p>Why is the dotScale so special and interesting ? For us, it is the concept itself: a conference which gives a voice to hardcore developers, more specially to those who work hard to offer innovative cloud solutions.</p>
<div style="width:200px; float:right; clear:both">
  <a href="https://www2.cleverapps.io/app/uploads/2021/08/dotscale.png" rel="noopener noreferrer" target="_blank"><br />
    <img decoding="async" alt="dotscale" src="https://www2.cleverapps.io/app/uploads/2021/08/theatre-varietes.jpeg"><br />
  </a><br />
  <em style="text-align: center">Where the magic takes place.</em>
</div>
<h3 id="the-tech-conference-to-supersize-your-apps">The tech conference to supersize your apps</h3>
<p>This event’s goal is to offer an affordable and unique conference to the developpers. It&#39;s also the occasion to understand the technical choices of the platforms they use for their own apps. Thereafter optimise them in order to make them <strong>more scalable</strong> by taking full advantage of the underlying platform.</p>
<h3 id="some-of-the-best-speakers-you-could-expect">Some of the best speakers you could expect</h3>
<p>As we mentionned at the beginning of the article, Quentin will be a part of the event as a speaker. He will introduce Clever Cloud to the devs. The complete list of speakers is on the <a href="http://www.dotscale.eu/" rel="noopener noreferrer" target="_blank">website</a>. Finally, just know that some workshops will occur the day after the conferences (8th June).</p>
<p>We also wanted to thank Sylvain Zimmer for having contacted us <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a id="fr"></p>
<hr>
<p></a></p>
<p><em>Version française</em></p>
<p>Les <a href="http://www.dotconferences.eu/" rel="noopener noreferrer" target="_blank">dotConferences</a> sont toujours incroyables. Cette année, la première est la <a href="http://www.dotscale.eu/" rel="noopener noreferrer" target="_blank">dotScale</a>, la conférence cloud dédiée aux développeurs qui aura lieu les 7 et 8 juin 2013. La recette ne diffère pas énormément: le meilleur de la technique dans un décor incroyable, à savoir le théâtre des variété de Paris. Pour cette édition dédiée au cloud, nous sommes très fier d&#39;y voir Quentin Adam (CEO de Clever Cloud).</p>
<h3 id="pas-de-discours-marketing-pas-de-couverture-de-buzz">Pas de discours marketing, pas de couverture de buzz</h3>
<p>Ce qui rend la dotScale si spéciale (et si intéressante à nos yeux) c&#39;est son concept lui même: proposer une conférence qui donne la parole aux <em>hard développeurs</em>, en clair à ceux qui mettent les mains dans le cambouis pour proposer des solutions cloud innovantes.</p>
<h3 id="la-conférence-technique-pour-maximiser-vos-apps">La conférence technique pour maximiser vos apps</h3>
<p>L&#39;objectif de cet évènement est de présenter une conférence pour les développeurs, abordable et unique. C&#39;est aussi l&#39;occasion de comprendre les choix techniques des plateformes qu&#39;ils utilisent pour leur propres applications et donc de les optimiser, de les rendre <strong>plus scalables</strong>.</p>
<h3 id="les-meilleurs-speakers-seront-présents">Les meilleurs speakers seront présents</h3>
<p>Comme nous l&#39;avons évoqué au début de ce billet, Quentin participe à l&#39;évènement en tant que speaker. Il y présentera Clever Cloud aux développeurs. Pour connaître la liste des speakers présents, rendez-vous sur <a href="http://www.dotscale.eu/" rel="noopener noreferrer" target="_blank">le site de l&#39;évènement</a>.</p>
<p>Sachez également que pour cette édition aussi des ateliers auront lieux le lendemain des conférences (le 8 juin).</p>
<p>Nous souhaitions enfin remercier Sylvain Zimmer de nous avoir sollicité <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud dans le Frenchweb Tour</title>
		<link>https://www.clever.cloud/blog/company/2013/05/29/clever-cloud-dans-le-frenchweb-tour/</link>
		
		<dc:creator><![CDATA[Adrien Cretté]]></dc:creator>
		<pubDate>Wed, 29 May 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Nantes]]></category>
		<category><![CDATA[PaaS]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/05/29/clever-cloud-dans-le-frenchweb-tour/</guid>

					<description><![CDATA[French Only Le Frenchweb Tour a fait étape à Nantes et s&#39;est intéressé à Clever Cloud. Quentin ADAM est donc passé devant les caméras du magazine des professionnels du digital pour rappeler ce qui compose notre offre et présenter nos enjeux à venir. Retrouvez l&#39;intégralité de l&#39;article sur Frenchweb.]]></description>
										<content:encoded><![CDATA[<p><em>French Only</em></p>
<p>Le <em><strong>Frenchweb Tour</strong></em> a fait étape à <strong>Nantes</strong> et s&#39;est intéressé à <strong>Clever Cloud</strong>. Quentin ADAM est donc passé devant les caméras du <em>magazine des professionnels du digital</em> pour rappeler ce qui compose notre offre et présenter nos enjeux à venir.</p>
<p><span id="more-2721"></span></p>
<p>Retrouvez l&#39;intégralité de l&#39;article sur <a href="http://frenchweb.fr/frenchweb-tour-nantes-clevercloud-nous-avons-deja-400-machines-physiques-rackees-en-production/118066" rel="noopener noreferrer" target="_blank">Frenchweb</a>.</p>
<div style="text-align:center">
  <iframe loading="lazy" width="560" height="315" style="border: none" src="http://www.dailymotion.com/embed/video/x10acc0"></iframe>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
