Docker Support Done Right

dockersupport

We believe in simplicity. We’re on a mission to make the deployment and the application developement easier and safer. That’s why months ago, we started to work on Docker support, hand in hand with Docker Inc, to allow “Dockerized” apps on Clever Cloud.

Deploying Docker apps on Clever Cloud is as easy as deploying a regular app: just add a Dockerfile and git push.

Why docker support is important for Clever Cloud users?

We support a lot of languages. But some of our users have specific needs for their applications. Now they can build customs stacks without a specific support on Clever Cloud, thanks to the 13,000+ images available on Docker Hub.

While the PaaS way of deploying apps is awesome for standardised applications, it can become a hurdle when having to deal with customized stacks (I’m looking at you, Haskell). Docker fills the gap between PaaS and IaaS by letting Clever Cloud users manage their software stack while taking advantage of most of Clever Cloud features: push to deploy, autoscalability and zero downtime updates.

Has Docker become Clever Cloud’s tech core?

Nope. Docker comes in addition to the other runtimes we are already providing.

How does it work?

Basically, Docker provides tools and standards to manage containers. We’re fond of it at Clever Cloud, because it brings a simplicity in management through a solid standard.

Security

Containers bring simplicity at the expense of some isolation: the kernel is shared, network has to be handled more carefully, and so on. While it’s a perfectly acceptable tradeoff for architectures where all the applications are trusted, as a hosting company we can’t make it.

Clever Cloud runs untrusted third party code (your code) and containers don’t offer the level of isolation needed for that, that’s why every dockerized app runs in its own Virtual Machine.

The best news is that it’s not at the expense of performance.

Performances

Virtual Machines you said? No chance, you’ll get no perfs from it, Monsieur.

At Clever Cloud, we handle all the stack, especially the virtualization. First of all, our VMs are based on KVM and Virtio. These technologies allow for a very reduced overhead both on CPU (through specific instructions designed for virtualization), and on networking through Virtio’s direct networking access.

In addition to that, since the network isolation is handled by the VM, we can run Docker networking in host mode. By default Docker runs in bridge mode, where all the network interactions happen behind a NAT layer, which has a performance cost.

Finally, both the hypervisors and the guests run finely-tuned, bare-metal OSes, with only what’s needed, and nothing more.

All in all, new VMs are up and running in a few seconds’ time, and offer excellent runtime performance.

How to get started?

Head up to the doc, your first dockerised application on Clever Cloud is one Dockerfile away. If you want to test it right now, you can fork and deploy to Clever Cloud a small hello world demo we made for the last Human Talks event we’ve made.

Blog

À lire également

HDS migration: migrate your healthcare data with no perceptible downtime

An HDS migration consists of transferring an application and its healthcare data from one hosting provider to another while maintaining the required certification and service continuity. When properly planned and executed, the perceived interruption can be reduced to a simple DNS switch. For example, when Madietenligne, a provider of an e-health solution for dietitians, migrated to Clever Cloud, its test and production environments were moved in less than fifteen days, covering 500 GB of data, with no downtime perceived by users.
Features

Gravitee and Clever Cloud Announce Strategic Partnership for European AI Sovereignty 

Gravitee and Clever Cloud Provide an Open-Source, Deploy-Anywhere Control Plane Ensuring European AI Runs Strictly on Your Terms.
Press

Magnetar: a Rust Apache Pulsar client built for deterministic simulation

Some of the most interesting reliability work in distributed systems starts with a simple idea: if a system can fail in production because of time, scheduling, networking, or unlucky interleavings, then those forces should be brought into tests under control.
Engineering