Hosted solution scalability

Hi @jamesghutchison,

Roughly speaking, there are three tiers of Anvil plan:

  1. Free, Personal, Professional and Business plans all use fully shared hosting. All your traffic is handled by shared servers; your Server Modules run in the same place as everyone else’s; your Data Tables data lives in shared databases. We do our best to enforce fairness, so that “noisy neighbours” don’t affect your app’s performance, but ultimately these are all shared resources. Because everyone is using a shared fleet of servers, this also provides redundancy – if something fails, we shift the affected workloads around to resources that are still working.

  2. Dedicated plans have dedicated resources for Server Modules and Data Tables. This means that there’s a dedicated server handling your Server Modules and the database that holds your Data Tables. Your apps are still using shared resources (load balancer, code storage, code routing, etc), but the big-ticket items that typically limit performance can now stretch their legs. You pay AWS prices (no markup) for the server itself, so you can beef it up with as much CPU, RAM and storage as you need. In addition, because you’re not sharing a database, you can connect directly to the Postgres instance and execute SQL against your Data Tables.

    Dedicated server failures are rare, and usually recover immediately (typically with a reboot of the underlying instance). It’s also possible to add more dedicated instances to a Dedicated plan (it’s $650/mo per), but at that scale you might well want to scale up to an Enterprise installation.

  3. Enterprise plans have dedicated everything. It’s an entire Anvil cluster – the same software that runs anvil.works – but running on one or more computers that are entirely “yours”. They might be physically your computers, running in your datacentre, or instances in your AWS/Azure/GCP account. If you don’t want to manage anything yourself, we can even host, manage and update an Enterprise instance for you, in any region of any cloud (want all of Anvil in AWS Sydney? Not a problem.) – and if we’re managing it, we’re carrying the pager :wink:

    Enterprise instances can scale horizontally, adding additional servers to handle load or provide extra resilience. They can also provide true per-app isolation: If you have a particular app that shouldn’t be affected by others, you can set up dedicated load-balancers, Anvil management servers, databases, and Server Modules servers exclusively for your app’s traffic.

If you’re interested in setting up an Enterprise or Dedicated account, please do drop us a line at sales@anvil.works!

6 Likes