Deployment as a Service
Translations
This tutorial is also available in the following languages:
Definition
DaaS for Deployment as a service is a compromise between the IaaS1 and the PaaS2. You have the ability:
- to provision ready-to-use managed services from a modern web-console (PaaS)
- to update your deployments scripts and template3 (IaaS operated with IaC4 in a gitops way)
- to orchestrate those deployments through an API and CLI alongside other common cloud components such as OCI registries, object storages... (IaaS)
If we had to summarize what are the main difference between IaaS, PaaS, serverless and finally DaaS, here's what we'd say:
- IaaS: you own the infrastructure, the cloud provides you with water, gas and power (ram, cpu, storage...), you are only billed for your consumption of this infrastructure and responsible for building your system on top of it
- PaaS or serverless (CaaS5, FaaS6 and DBaaS7): the cloud provides you with managed services, you aren't responsible on how they work and are billed on your use of those services
- DaaS is like IaaS: you are billed on your infrastructure consumption and owned it and are responsible for it but you have a speed and already implemented automation for the deployment which give you a very similar experience of the PaaS
How it works
Here's a schema explaining how the DaaS is working using virtual machines:
And how it's working with Kubernetes:
You can also check-out this DevoxxFR's university we gave to explain how the DaaS of cwcloud is working:
Examples
You'll find various examples and demo in this playlist: