Projects VS Environment - Which one to choose and when?

Hi, channel,

We are wondering what would be the difference between:

  • Setting up multiples projects for each of our services
  • Setting up ONE project with all services in that project

Looking to understand better the pros/cons of each approach.

Context: We currently use Heroku and we are considering Qovery as an alternative. In Heroku, you don’t have separation between the following 3 entities: project/environment/application. The equivalent would be: pipeline/environmnet/app without the possibility of having multiple applications in the same pipeline.

Hi @yassine.belmamoun ,

A Project and an Environment are inclusive and serve different purposes. Let me respond with a concrete example.

Let’s say you have your main project and some side projects (E.g. Data Analytics Project) within your company. Then you can split them into different projects since they serve different purposes. (In the future of Qovery, you will be able to manage permissions per project). (cf Project documentation)

An Environment is a group of applications and databases running within the same namespace. A Project can have multiple Environments.

As a company, you might want to have isolated Production, Staging, and ephemeral dev environments (hello Preview Environments). It is exactly the purpose of Qovery Environments. You can even choose which cluster your environment will run (E.g., If you want to separate your production from staging workload)

Indeed, Qovery brings the concept of multiple applications within an Environment. It’s a powerful concept that makes you able to replicate a complete Production environment for instance (watch our clone feature).

I hope it helps :slight_smile: