Skip to main content

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:

cwcloud_daas_vm

And how it's working with Kubernetes:

cwcloud_daas_k8s

You can also check-out this DevoxxFR's university we gave to explain how the DaaS of cwcloud is working:

devoxxfr_pulumi_university

Examples

You'll find various examples and demo in this playlist:

demo_playlist

Footnotes

  1. Infrastructure as a service

  2. Platform as a service

  3. ansible roles and playbooks for VM, helm charts for Kubernetes

  4. Infrastructure as code

  5. Containers as a service

  6. Functions as a service

  7. Databases as a service