Qovery is the state-of-the-art deployment platform that any DevOps would build for their company. Beyond application deployment, Qovery is tailored to run production workload with maximum uptime. It is the perfect solution to make your developers autonomous in deploying their applications and keeping flexibility and control.
Qovery is the perfect product for DevOps who want to:
- Build an internal Platform as a Service (PaaS) with outstanding experience for developers.
- Build development, staging and production environments.
- Make developers productive and autonomous, while keeping the control on what they do.
- Get a production-ready infrastructure and save more than 18 months of work.
How Qovery works
Qovery is an abstraction layer on top of the most promising tools (Kubernetes, Terraform, Helm...) and cloud service providers (AWS, Digital Ocean, Scaleway...). The goal of Qovery is to provide production-ready platform layer to build on top of it.
Your cloud infrastructure with Qovery
Qovery needs to install a few services on your cloud account to work. Some of them are required and others optional.
All your applications and your data run in your cloud account. The Qovery Engine, Qovery Agent, and Kubernetes are the three main services running on your infrastructure to run your applications. The Qovery Engine and the Qovery Agent receive remote instructions from the control plane via a secured gRPC/TLS connection initiated. Qovery infrastructure and your infrastructure are completely isolated from each other. Qovery has been designed to never impact your infrastructure in case of any outage and security breach.
Qovery infrastructure services
|Qovery Control Plane||yes||no||Service to manage user authentication. authorization, and the whole Qovery business logic|
|Qovery API||no||no||API to programmatically interact with Qovery|
|Qovery Web Interface||soon||yes||Web application to interact with Qovery|
Services installed on your infrastructure
|Qovery Engine||yes||no||Transactional deployment service in charge of maintaining your infrastructure and deploying applications with all the dependencies|
|Qovery Agent||soon||no||Service to forward application logs, services status and real-time metrics to the Qovery Control Plane|
|Kubernetes||yes||no||Product to run and scale containers. Qovery runs your application on your cloud managed Kubernetes|
|External DNS||yes||no||Tool to configure external DNS for Kubernetes services|
|Cert Manager||yes||no||Tool to provision and manage TLS certificates on Kubernetes|
|Loki||yes||yes||Tool to aggregate Kubernetes logs. Qovery Agent fetch logs from Loki in real-time|
|Grafana||yes||yes||Product to visualize metrics and logs from infrastructure and app services|
|NGINX ingress||yes||no||NGINX ingress controller for Kubernetes|
Check out the list of services installed on your infrastructure.
Application and database deployment
Here is an example of what happen in details when you deploy a NodeJS application with a PostgreSQL database in production on AWS with Qovery.
|Auth||Git push received||Control plane||Qovery receives your git commit via Github/Gitlab/Bitbucket webhooks|
|Auth||Check permissions||Control plane||Qovery checks permissions to proceed app deployment or not|
|Build||Build container||Engine||Qovery builds your NodeJS app into container|
|Build||Push container||Engine||Qovery push the container into your container registry|
|Deploy||Deploy PostgreSQL||Engine||Qovery match the PostgreSQL version with AWS RDS PostgreSQL and deploy it on your AWS account|
|Deploy||Configure PostgreSQL network||Engine||Qovery configure the network of your AWS RDS PostgreSQL to make it accessible from your application|
|Deploy||Check PostgreSQL||Engine||Qovery checks your AWS RDS PostgreSQL is well deployed and running|
|Deploy||Deploy container||Engine||Qovery deploys your container on your Kubernetes cluster|
|Deploy||Configure container network||Engine||Qovery configure the network of your container to make it accessible from outside|
|Deploy||Load balancer||Engine||Qovery deploys a load balancer and bind it to your application|
|Deploy||DNS||Engine||Qovery assign a domain to your application|
|Deploy||TLS||Engine||Qovery request a TLS certificate and bind it to your domain and application|
|Deploy||Check container||Engine||Qovery checks your container is well deployed and accessible via internet|
|Run||Run database||Engine||Qovery monitor your AWS RDS PostgreSQL database|
|Run||Run container||Engine||Qovery runs your container on Kubernetes and ensure it has the maximum uptime|
|Run||Metrics||Agent||Qovery watch your application and database metrics and forward them to the Qovery Control Plane|
|Run||Notification||Control plane||Qovery notifies the user on the successful app and db deployment|
|Scale||Scale container||Agent||Qovery scale your containers depending on the CPU and custom metrics|
Qovery lets you integrates any tool that you already have or need. There is no limitations as Qovery runs on Kubernetes and your cloud service provider. Check out our configuration section
In our configuration section you will learn how to:
- Fine-tune every single piece (Kubernetes, Load balancer, Databases...) of your infrastructure.
- Extend Qovery capabilities.