Skip to content

Commit

Permalink
Merge pull request #244 from ritza-co/edit-draft-cloud-vs-self-hosted
Browse files Browse the repository at this point in the history
Edit: Plans and Features
  • Loading branch information
sixhobbits authored Dec 31, 2024
2 parents fd803b4 + 4193819 commit 69498da
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions astro/src/content/docs/get-started/core-concepts/plans-features.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import PremiumPlanBlurbApi from 'src/content/docs/_shared/_premium-plan-blurb-ap

<LicensingPremiumFeaturesIntro />

After giving a summary of some features differing between FusionAuth editions, this article will explain the differences between hosting FusionAuth yourself, and having it hosted and managed for you in the cloud.
After summarizing the features offered in different FusionAuth plans, this article will explain the differences between hosting FusionAuth yourself, and having it hosted and managed for you in the cloud.

## Plans and Features

Expand Down Expand Up @@ -101,51 +101,51 @@ In the API documentation, you'll see enterprise features marked like this:

<EnterprisePlanBlurbApi feature="this feature" />

## Self-hosted FusionAuth Versus Cloud-Hosted FusionAuth
## Self-Hosted FusionAuth Versus Cloud-Hosted FusionAuth

Once you have chosen an edition of FusionAuth that has the features you want, you need to decide where to host FusionAuth. You can either host it yourself, on a dedicated server on your premises or with a cloud server company like Hetzner or AWS, or you can allow the FusionAuth company, Inversoft, to host FusionAuth for you. The choice between self-hosting and cloud-hosting is completely independent of which FusionAuth edition you choose. Any edition of FusionAuth can be hosted either by you or by us. There is no difference in edition features between hosts.
Once you have chosen a FusionAuth plan with the features you want, you need to decide where to host your FusionAuth instance. You can host it yourself, either on-premise server or with a cloud service provider like Hetzner or AWS, or you can use FusionAuth Cloud to host your instance. Your decision to self-host or register for FusionAuth Cloud is independent of which plan you choose. There are no differences in plan features between hosts.

Let's first consider how exactly each hosting type works, and then the advantages of each.
Let's first consider how each hosting type works, and then assess the advantages of each.

### How Each Hosting Type Works

For self-hosting, you download the FusionAuth software (usually a Docker image), and run it together with a PostgreSQL server. (You might also run Elasticsearch, but it's unnecessary). You have full control over the configuration of FusionAuth, but have to manage and maintain all the following considerations:
For self-hosting, you download the FusionAuth software (usually a Docker image), and run it together with a PostgreSQL server. You may also run Elasticsearch, but it's unnecessary. You have full control over the configuration of FusionAuth but have to manage and maintain all the following considerations:

- Database backups
- Monitoring and error checking
- Networking
- Upgrades to PostgreSQL and FusionAuth
- Server scaling and migration as your users increase.
- Server scaling and migration as your users increase

To learn how to run FusionAuth on your own host, read this [guide](/docs/get-started/download-and-install/docker).
To learn how to run FusionAuth on your own host, read the [guide to using FusionAuth on Docker](/docs/get-started/download-and-install/docker).

For cloud-hosting, you create a FusionAuth cloud account and choose an edition type. You can then start and stop as many instances of FusionAuth (called deployments) as you want through the web interface. You pay for each deployment for as long as it runs, but need not worry about any of considerations of self-hosting.
For cloud hosting, you create a FusionAuth Cloud account and choose a plan. You can then start and stop as many instances of FusionAuth (called deployments) as you want through the web interface. You pay for each deployment for as long as it runs but need not worry about any of the considerations of self-hosting.

Specifically, when cloud-hosting, you:
Specifically, when cloud hosting, you:

- Cannot edit the FusionAuth instance configuration page, like you can when self-hosting.
- Cannot edit the FusionAuth instance configuration page like you can when self-hosting.
- Can choose when to upgrade FusionAuth to the latest version, but the process itself is automated.

To learn how to use cloud-hosting in detail, read this [guide](/docs/get-started/run-in-the-cloud/cloud). To estimate the fees for the deployments in your account, use the [pricing calculator](https://account.fusionauth.io/pricing-calculator/).
To learn how to use cloud hosting in detail, read the [FusionAuth Cloud guide](/docs/get-started/run-in-the-cloud/cloud). To estimate the fees for the deployments in your account, use the [pricing calculator](https://account.fusionauth.io/pricing-calculator/).

### Advantages Of Each Hosting Type

Self-hosting gives you complete control over FusionAuth, including the ability to use [Kickstart](/docs/get-started/download-and-install/development/kickstart) to start an instance with the exact configuration you need, including sample applications and users. You can use Kickstart in conjunction with GitHub or continuous deployment services to deploy any number and configuration of FusionAuth instances. The FusionAuth database runs on your host, and you can run any SQL queries against it to extract daily data for analytics, import users, or edit data in bulk.
Self-hosting gives you complete control over FusionAuth, including the ability to use [Kickstart](/docs/get-started/download-and-install/development/kickstart) to start an instance with the exact configuration you need, allowing you to specify whether it includes sample applications and users. You can use Kickstart in conjunction with GitHub or continuous deployment services to deploy any number and configuration of FusionAuth instances. The FusionAuth database runs on your host, and you can run any SQL queries against it to extract daily data for analytics, to import users, or to edit data in bulk.

Cloud-hosting is more convenient than self-hosting. Starting and stopping a deployment is a few clicks, as is upgrading. Deployments scale easily as your number of customers grow, using more powerful cloud instances that can handle a greater authentication workload. Backups are automated, and available if you need to roll back your database at any time. A team of FusionAuth experts manages the cloud environment, available if you need support. You can also purchase a 99.99% uptime SLA (service level agreement) to guarantee that your site will always be available.
Cloud hosting is more convenient than self-hosting. Starting and stopping a deployment takes only a few clicks, as does upgrading. Deployments scale easily as your number of customers grows, due to the more powerful cloud instances available to handle the greater authentication workload. Backups are automated and available should you need to roll back your database at any time. A team of FusionAuth experts manages the cloud environment and is available if you need support. You can also purchase a 99.99% uptime service level agreement (SLA) to guarantee that your site will always be available.

In exchange for convenience, cloud-hosting offers less control than self-hosting. Be aware that you can't do the following things when cloud-hosting:
In exchange for convenience, cloud hosting offers less control than self-hosting. Be aware that you can't do the following when cloud hosting:

- Access the database to extract data or run SQL scripts. However, you can request the support team send you your database backup file, or extract data using the FusionAuth API.
- Create your own database backups. Backups are fixed in number and time by the plan you choose.
- Use Kickstart. You need to configure each deployment manually using the web interface, or by writing a script to call the FusionAuth API to set up applications, entities, and groups similar to how Kickstart does it.
- Access OpenTelemetry data to [monitor your instance](/docs/operate/secure-and-monitor/monitor).
- Use different FusionAuth licenses for different deployments. If you use FusionAuth for one product that has complex authentication needs, and a smaller service you offer that needs just a username and password, both deployments will have to use the more expensive FusionAuth license. Alternatively, you can create a separate cloud account with a separate FusionAuth license for the second service.
- **Access the database to extract data or run SQL scripts:** You can request the support team send you your database backup file, or extract data using the FusionAuth API.
- **Create your own database backups:** Backups are fixed in number and time by the plan you choose.
- **Use Kickstart** You need to configure each deployment manually via the web interface or by writing a script to call the FusionAuth API to set up applications, entities, and groups, similar to how Kickstart does it.
- **Access OpenTelemetry data to [monitor your instance](/docs/operate/secure-and-monitor/monitor).**
- **Use different FusionAuth licenses for different deployments:** If you use FusionAuth for one product with complex authentication needs and another, smaller service that needs just a username and password, both deployments will have to use the more expensive FusionAuth license. Alternatively, you can create a separate cloud account with a separate FusionAuth license for the second service.

### Use Cases For Each Hosting Type

Self-hosting is free (other than your computer and network costs) which is perfect for testing FusionAuth, local development, or if you already have spare resources on an existing server. You can also host FusionAuth anywhere, even on a private network, which may be a requirement for the data regulations of your organization. Self-hosting is a good choice if your team has the knowledge and time to manage FusionAuth.
Self-hosting is free (other than computer and network costs), which is perfect for testing FusionAuth, local development, or any spare resources you already have on an existing server. You can also host FusionAuth anywhere, even on a private network, which may be a requirement for your organization's data regulations. Self-hosting is a good choice if your team has the knowledge and time to manage FusionAuth.

Cloud-hosting is a good choice for small businesses that want to spend as little time as possible managing infrastructure, or that don't know enough about FusionAuth and server management to safely host FusionAuth themselves. Cloud-hosting is also useful when you might need to scale your authentication server up or down easily if you have variable numbers of users.
Cloud hosting is a good choice for small businesses that want to spend as little time as possible managing infrastructure or that don't know enough about FusionAuth and server management to host FusionAuth safely themselves. Cloud hosting may also be useful when you have variable numbers of users, as you can more easily scale your authentication server up or down.

If there is no obvious advantage to you for either option, compare the cost of self-hosting and cloud-hosting to decide. Self-hosting is a good choice when you have an infrastructure team with spare time to monitor and maintain your own instances. Cloud-hosting costs money, but saves your infrastructure team time. You need to calculate the total cost of cloud-hosting your deployments against your employees' hours spent maintaining FusionAuth, and the potential cost of downtime if your local FusionAuth instance is misconfigured.
If neither option offers you an obvious advantage, compare the cost of self-hosting and cloud hosting to decide. Self-hosting is a good choice when you have an infrastructure team with spare time to monitor and maintain your own instances. Cloud hosting costs money but saves your infrastructure team time. You need to calculate the total cost of cloud hosting your deployments against your employees' hours spent maintaining FusionAuth, and the potential cost of downtime if your local FusionAuth instance were to become misconfigured.

0 comments on commit 69498da

Please sign in to comment.