Convex is designed to simplify the development of web applications by providing a global state management system that runs in the cloud. It allows developers to easily build interactive and collaborative applications without managing backend infrastructure.
At its core, a Convex deployment is a database that runs in the Convex cloud. It's a new type of database that directly runs your application code in the convex/ folder as transactions, coupled with an end-to-end type system and consistency guarantees via its sync protocol. The most important thing to understand about Convex is that it’s a database running in the cloud that runs client-defined API functions as transactions directly within the database[^1^].
Convex obviates the need for backend servers because it's your backend too! Your Convex functions serve as your backend's public API. As a developer, you still implement the backend logic that is important to your app without any of the backend infrastructure management[^2^].
When you sign up for Convex, a Convex team is created for you. Each team can have multiple projects. Every project has one shared production deployment and one development deployment per team member[^3^].
So, to answer your question, Convex operates in a serverless manner, managing the backend infrastructure for you. It's designed to scale based on the needs of your application, whether you're using the professional plan or hosting it yourself.