Docker Support Done Right

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

Clever Tools: a year of enhancements for your deployments, on the road to v4

A command line interface (CLI) is at the core of developer experience. At Clever Cloud, we have been providing Clever Tools for almost 10 years.
Engineering Features

Otoroshi with LLM: simplify your API and AI service management on Clever Cloud

Your applications and services are evolving in an increasingly complex environment, requiring effective management of APIs and interactions with artificial intelligence models such as the very popular LLMs (Large Language Models).
Features

Markitdown-as-a-Service: from AI to production on Clever Cloud

Every day, new tools are released, AI brings new perspectives, you have new ideas. It's one of Clever Cloud's missions to help you to develop and test them in real-life conditions, effortlessly, before making them available to everyone.
Engineering