Flagsmith Cloud vs Self-Hosted

Flagsmith Cloud vs Self-Hosted

A complete, beginner-friendly guide to choosing where your feature flag service should live: what each option really means, how they differ in speed, safety, cost and effort, and how to decide without regret.

Imagine two companies that both decide to use feature flags. The first signs up for a hosted service, pastes a small key into the app and has working flags before lunch. The second spends three weeks building servers, databases and monitoring so the flag service can run inside its own walls. A year later, both companies are happy with their choices. A different pair of companies made the opposite choices and both are miserable. The tool was the same in every case. The difference was whether the choice fit the company.

Flagsmith, the open-source feature flag and remote configuration service, can be used in two main ways. You can use Flagsmith Cloud, where the Flagsmith team runs everything for you. Or you can self-host, where you run the same software on your own machines or in your own cloud account. Both give you flags, segments, remote configuration and a dashboard. What changes is who carries the responsibility, who pays which bills, and where your data lives.

This guide assumes you know nothing. We explain each new term when it first appears, use everyday comparisons, and then climb to the deeper topics that senior engineers argue about: latency, availability, security reviews, data residency, total cost, upgrades, scaling, vendor lock-in and migration. By the end you will have a clear framework to choose, and a plan to change your mind later if you need to.

1Why This Decision Matters

Where a service runs sounds like a boring detail. In practice it shapes your costs, your risks and your team’s daily life for years.

A feature flag service sits in the middle of your product

A feature flag is a switch that lets you turn parts of your software on or off without releasing new code. Your application asks the flag service a question such as “should this user see the new checkout page?” and the service answers yes or no. Because that question can be asked on every page view, the flag service ends up close to the heart of your product. If it is slow, your product feels slow. If it is down, your product must decide what to do without an answer. If it leaks, your private targeting rules leak with it.

Analogy

Choosing where to run your flag service is like choosing how to get electricity for a shop. You can buy power from the utility company, which means reliability and no machinery to maintain, but you pay by usage and follow their rules. Or you can install your own generator, which gives you independence and control, but you buy the fuel, service the engine and wake up when it fails. Neither is wrong. The right answer depends on the shop.

The two options in one sentence each

Flagsmith Cloud is the hosted version, operated by the Flagsmith team, which you use through a web address and pay for according to a plan. Self-hosted Flagsmith is the same open-source software that you install and operate yourself, on servers or containers that you control, usually inside your own cloud account or data centre.

What is at stake

Speed

Latency

How quickly your app gets an answer, which depends on how far the flag service is from your users and servers.

Safety

Availability

How often the service is reachable, and who gets woken up when it is not.

Rules

Security and compliance

Whether auditors, customers and laws accept where your data lives and who can touch it.

Money

Total cost

Not only the invoice, but also server bills, engineer time and the cost of mistakes.

People

Operational effort

Upgrades, backups, monitoring and on-call duty that somebody on your team must perform.

Future

Flexibility

How easily you can customise, integrate, scale, switch or leave.

i
Remember

This is not a contest where one option wins everywhere. It is a trade between convenience and control. Most mistakes come from choosing control you never use, or convenience you cannot afford.

2
main ways to run Flagsmith: cloud and self-hosted
6
big forces in the decision: speed, safety, rules, money, people, flexibility
1
same open-source core behind both choices

2Flagsmith in Plain Words

Before comparing the two ways to run it, let us make sure we know what is being run.

What Flagsmith does

Flagsmith stores your feature flags and configuration values and answers questions about them. It gives people a dashboard to manage flags, and it gives applications a way to read them through small code libraries called SDKs. An SDK, short for software development kit, is a ready-made helper that your application uses so that you do not have to write the web requests yourself. There are SDKs for many languages, for web pages, for mobile apps and for servers.

The building blocks

Flagsmith organises things in layers. An organisation is your company. A project is one product. An environment is a copy of the world such as development, staging or production. A feature is a flag or a configuration value. A segment is a saved group of users, such as paying customers. An identity is one particular user. Each environment keeps its own state, so a feature can be on in staging and off in production at the same time.

Analogy

Think of a hotel chain’s control panel. The chain is the organisation. Each hotel is a project. Each floor is an environment. Each light switch is a feature. A group of rooms for loyalty members is a segment, and one particular guest is an identity. The panel exists once, but it lets you control every room precisely.

Two kinds of requests

It helps to separate two traffic types. The first is management traffic: people using the dashboard to create flags, change values and read the audit log. That traffic is small and comes from humans. The second is flag evaluation traffic: applications asking what each flag should be for each user. That traffic can be enormous, because a busy product asks all day long. When people compare cloud and self-hosted, most of the heat is about the second kind, because it is where speed and availability matter most.

Where the software comes from

Flagsmith is open source, so its code can be read and run by anyone. The hosted service runs that same core software with extra infrastructure around it for global reach and scale. Self-hosting means you take the software and run it yourself. There is also a paid enterprise edition with additional features, which can be used in hosted or self-managed ways. Features and editions change over time, so always check the current documentation and your own plan before building a design around a specific capability.

3What Flagsmith Cloud Really Means

Cloud sounds simple, and mostly it is. But it helps to know exactly what you get and what you hand over.

What you get

With Flagsmith Cloud you sign up, create an organisation and start working. The Flagsmith team runs the servers, the databases, the networks, the backups, the security patching and the monitoring. You use a web dashboard and an API that already exist and already work. When new versions are released, they arrive without you scheduling anything. When something breaks in the platform, the provider is the one who responds.

The edge idea

Large hosted flag services often add a layer designed for fast answers around the world. In Flagsmith’s case, the hosted service includes a globally distributed way of serving flag requests, often called the edge, so a user in Singapore does not have to wait for an answer from a server in another continent. The exact design and regions can change, and you should confirm them in the documentation, but the principle is important: a hosted provider can spread copies of your flag data near your users, which is expensive and difficult to build alone.

Analogy

An edge network is like a chain of local corner shops compared with a single warehouse. If every customer must travel to one warehouse, far-away customers wait a long time. If the same goods sit in shops near every neighbourhood, everybody gets served quickly. A hosted provider can afford to stock shops in many cities because the cost is shared by many customers.

What you pay

Hosted plans are usually priced by tiers that depend on how much you use the service, for example the number of requests your applications make, plus the number of people and projects you need and the features you want. There is typically a free or low-cost starting level and higher levels for larger teams and extra capabilities. Pricing changes, so check the current plans instead of relying on any article, including this one.

What you hand over

Advantages of Cloud

  • Start in minutes with no servers to build.
  • The provider handles upgrades, backups and patching.
  • Global reach and scale are built in.
  • Your team spends time on product features, not infrastructure.
  • Predictable, usage-based costs that start small.

Trade-offs of Cloud

  • Your flag data lives on the provider’s systems.
  • You depend on the provider’s availability and roadmap.
  • Strict network or residency rules may not be satisfied.
  • Costs grow with usage, so heavy traffic needs watching.
  • Less freedom to modify how the platform behaves.
i
Good to know

Some providers, Flagsmith included, may offer dedicated or private hosted arrangements for large customers who want hosted convenience with more isolation. Availability and terms vary, so ask the vendor directly if you need this middle path.

4What Self-Hosted Really Means

Self-hosting is freedom with homework. Here is exactly what the homework involves.

What you run

When you self-host Flagsmith, you run the Flagsmith application on infrastructure you control. In simple terms, you need a place to run the application containers, a database to store flags and settings, and a way for users and applications to reach it over the network. Teams commonly run it with containers on a single server for small setups, or with a container orchestrator such as Kubernetes for larger ones. A database that stores everything permanently is essential, and many setups add a cache and a separate background worker for tasks like webhooks and audit processing.

Who is responsible

Everything the hosted provider would do for you becomes your job. You choose and size the servers. You apply updates, and you decide when. You back up the database and, more importantly, you test restoring from those backups. You watch the system, set up alerts and answer them when they fire. You secure the network, the database, the secrets and the certificates. You plan for failures and for growth.

Analogy

Self-hosting is like owning a house instead of renting. You can paint the walls any colour, build an extension and keep the neighbours out. But when the roof leaks, nobody else fixes it. The landlord’s phone number is now your own.

What you pay

The software itself is open source, so there is no licence fee for the basic version. But the real costs are the servers, databases and network traffic you pay your cloud provider, plus the engineer time to build and run it. If you need enterprise features that are sold under a commercial licence, there is also that licence cost. People often compare only the licence fee and forget the human cost, which is usually larger.

Why teams do it anyway

Advantages of Self-Hosted

  • Full control over where data lives and who can access it.
  • Can run inside private networks with no public exposure.
  • Meets strict residency or sovereignty requirements.
  • Freedom to tune, extend and integrate deeply.
  • Costs can be low at very high volume if you are efficient.

Trade-offs of Self-Hosted

  • You own uptime, backups, security and upgrades.
  • Reaching global low latency is hard and costly.
  • Needs skilled people and on-call time.
  • Falling behind on updates creates risk.
  • Hidden costs are easy to underestimate.
!
Heads up

Free to download does not mean free to run. The most common surprise in self-hosting is not the server bill. It is the number of hours engineers quietly spend keeping the service healthy.

5The Two Architectures Side by Side

A picture makes the difference clear. Here is how the pieces fit in each option.

flowchart TB
    subgraph CloudSide["Flagsmith Cloud"]
        direction TB
        CA["Your Apps and SDKs"] --> CB["Provider Edge Network"]
        CB --> CC["Provider Core API"]
        CC --> CD["Provider Databases"]
        CE["Your Team Dashboard"] --> CC
    end
    subgraph SelfSide["Self-Hosted Flagsmith"]
        direction TB
        SA["Your Apps and SDKs"] --> SB["Your Load Balancer"]
        SB --> SC["Your Flagsmith API Containers"]
        SC --> SD["Your Database"]
        SC --> SE["Your Cache"]
        SC --> SF["Your Task Worker"]
        SG["Your Team Dashboard"] --> SB
    end
Figure 1. Who owns which box: in Cloud the provider owns the right-hand chain, in self-hosted you own all of it.

Walking through the diagram

The top half shows Flagsmith Cloud. Your applications and your team connect to the provider, and everything behind the curtain belongs to the provider: the edge network that answers quickly, the core service that handles management, and the databases that keep everything safe. You never see those boxes, and you never pay to run them directly.

The bottom half shows self-hosted. Every box is yours. Applications reach a load balancer that you configure. Behind it are one or more Flagsmith containers that you run. Those containers talk to your database, your cache and your background worker. Your team uses the same entrance for the dashboard. Each box is a thing that can be sized well or badly, secured well or badly, and watched well or badly.

The components in plain words

Entry

Load balancer

A traffic director that spreads incoming requests across several copies of the application so no single copy is overwhelmed.

Brain

API containers

The running copies of the Flagsmith application that answer flag questions and handle dashboard actions.

Memory

Database

The permanent store for projects, flags, segments, users and the audit log. Losing it without a backup means losing everything.

Speed

Cache

A fast, temporary store that holds answers ready to serve so the database is not asked the same question again and again.

Helper

Task worker

A background worker that does jobs such as sending webhooks and processing analytics, away from the web servers.

Reach

Edge network

In the hosted option, copies of flag data placed near users around the world for fast answers.

Analogy

Cloud is eating at a restaurant: the kitchen, staff and dishwashing are somebody else’s business, and you pay for the meal. Self-hosted is cooking at home: you pick every ingredient and every recipe, but you also shop, cook and clean. The food can be as good in both cases. The difference is who does the work.

6How a Flag Request Travels

Let us follow a single question, “is this flag on for this user?”, through both setups, and notice where time and risk hide.

sequenceDiagram
    participant U as User Device
    participant A as Your Application
    participant S as Flagsmith SDK
    participant F as Flagsmith Service
    participant D as Data Store
    U->>A: Opens a page
    A->>S: Is new checkout on for this user
    alt Answer already stored in SDK memory
        S-->>A: Returns stored answer instantly
    else Answer not stored or expired
        S->>F: Asks for flags for this user
        F->>D: Reads environment settings
        D-->>F: Returns settings
        F-->>S: Returns flag values
        S-->>A: Returns answer
    end
    A-->>U: Shows the right experience
Figure 2. A flag question travels from the user to the SDK, and only sometimes all the way to the service.

Reading the sequence

A user opens a page. Your application needs to know whether to show the new checkout, so it asks the Flagsmith SDK. If the SDK already holds a recent answer in memory, it replies instantly and nothing leaves your server. If not, it asks the Flagsmith service, which reads the environment settings from its data store and returns the flag values. The SDK passes the answer back and your application shows the right experience.

The key lesson is that the Flagsmith service is not always in the path. Good SDK setups keep answers in memory, refresh them in the background and can even evaluate flags locally inside your own server using a copy of the rules. This means the speed and availability of the flag service matter less to each individual user request than you might fear, and it changes how you weigh cloud against self-hosted.

1

Ask

The application asks its SDK about a flag for a user.

2

Check memory

The SDK looks in its own memory first. If a fresh answer exists, the trip ends here.

3

Call the service

If needed, the SDK sends a request over the network to Cloud or to your own deployment.

4

Read and decide

The service reads the stored rules and works out the right value for that user.

5

Return and remember

The answer comes back, and the SDK may keep it for next time.

Pointing an SDK at the right place

SDKs normally talk to the hosted Flagsmith address by default. If you self-host, you tell each SDK the web address of your own deployment, using a setting that all SDKs provide. That one setting is the switch between cloud and self-hosted from the application’s point of view, which makes moving between them far easier than people expect, as we will see in the migration chapter.

i
Tip

Always configure sensible default values in your code, so that if the flag service cannot be reached, your application falls back to a known safe behaviour instead of failing. This habit protects you under both cloud and self-hosted options.

7Performance and Latency

Speed is the first thing people ask about. The honest answer depends on where your users are and how your SDKs are set up.

What latency means

Latency is the delay between asking a question and receiving the answer. It is mostly governed by distance and work. Distance matters because signals take time to cross the world, even at the speed of light in fibre. Work matters because the service must read data, apply rules and build a response. A request across an ocean can easily cost many tens of milliseconds more than a request across a city, and that cost is added every time the question has to leave your own machine.

Cloud and latency

A hosted provider with a distributed edge can place answers close to users in many regions. For a product with customers spread across continents, especially one that evaluates flags from browsers and mobile apps, this is a big advantage. Without any effort on your side, a user far from your main servers still gets quick answers.

Self-hosted and latency

A self-hosted deployment lives where you put it. If you deploy it in the same region as your servers, calls from your servers are very fast, often faster than going out to a public service, because the traffic stays on your own network. But a mobile user on the other side of the planet must travel to your region. To match global edge performance you would need to deploy several copies in several regions and keep their data in sync, which is possible but is real engineering work.

Analogy

A hosted edge is like a coffee chain with a shop on every corner. Your own deployment is like one excellent cafe in your home town. Locals get the fastest coffee imaginable, but a visitor from another country must travel a long way for the same cup.

The SDK changes the story

For server-side applications, there is a powerful technique called local evaluation. The SDK downloads the flag rules once, keeps them in memory, refreshes them every so often, and answers every question locally without any network trip. When you use it, the flag service is only contacted occasionally in the background, so each user request is as fast as reading from memory. In that mode, the latency gap between cloud and self-hosted almost disappears for your server code. Browser and mobile apps are different, since they cannot safely hold all the rules, so they usually ask the service and benefit more from a nearby edge.

SituationCloud tends to be better whenSelf-hosted tends to be better when
Global browser and mobile usersUsers are spread across many regions and edge delivery helps themAll your users live near one region you already operate in
Server-side callsYou need no extra setup and are fine with calls leaving your networkYou want calls to stay inside a private network at very low delay
Local evaluation in serversEither option works wellEither option works well
Traffic burstsYou want the provider to absorb spikesYou have tested your own capacity for spikes
i
Tip

Measure instead of guessing. Test real requests from the places your users actually are, for both options if possible, and look at the slow tail of results rather than only the average.

8Availability and Reliability

When the flag service has a bad day, what happens to your product? And who is responsible for fixing it?

Key words

Availability is the share of time a service is reachable and working, often written as a percentage such as ninety-nine point nine. Reliability is a broader idea, covering whether the service does the right thing consistently. A system can have a high availability number and still occasionally return wrong answers, so both matter. Redundancy means having spare copies so one failure does not stop everything. A single point of failure is any single part whose failure stops the whole system.

Cloud availability

A hosted provider runs the service as its core business, with teams on call, redundancy across zones and regions, and years of lessons from many customers. It is unlikely that a small company would match that quality for a flag service quickly. But you still depend on the provider. If they have an outage, you cannot fix it, and you wait for their recovery. Provider status pages and service agreements tell you what to expect, and larger plans may include stronger commitments.

Self-hosted availability

For self-hosted, availability is whatever you build. A single container on a single server is easy but fragile. To reach high availability you need several copies of the application behind a load balancer in more than one zone, a database that can survive a server failure, tested backups and monitoring that wakes someone up. Each of these is achievable, and a team that already runs databases well may find it natural. But each is something you must design, test and keep working.

Analogy

Cloud availability is like taking a scheduled airline: the carrier owns spare aircraft, trained crew and a control centre. Self-hosted availability is like flying your own plane. You can fly exactly where and when you wish, but you also need a pilot’s licence, a mechanic and a backup plane if you want the same dependability.

Designing for the flag service being unavailable

Whichever option you choose, a wise design assumes that the flag service will sometimes be unreachable. Several protective habits help.

  • Set default values in code so the application behaves safely when no answer arrives.
  • Let SDKs keep the last known answers in memory or storage so a short outage goes unnoticed.
  • Prefer local evaluation on servers, so flag decisions do not depend on a live call.
  • Use short timeouts so a slow flag service never makes the whole page slow.
  • Test the outage on purpose, by blocking the flag service in a test environment and watching what happens.

Reliability strengths

  • Cloud: expert operators, built-in redundancy and no maintenance windows for you to manage.
  • Self-hosted: you decide the redundancy level and can place the service next to your critical systems.

Reliability risks

  • Cloud: you cannot influence recovery time, and an outage affects every customer at once.
  • Self-hosted: a skipped backup test, an unpatched server or a missing alert can turn a small fault into a long outage.
!
Heads up

The flag service should never be an unguarded dependency in the path of a critical user action. The safest products work even if every flag falls back to its default.

9Security and Compliance

Security reviews often decide the question before anything else is discussed. Let us see what each option offers and demands.

What is actually sensitive in a flag service

People sometimes think flags are harmless on and off switches. In reality a flag service can hold sensitive material. It stores targeting rules that reveal business plans, such as which customers get a new pricing page. It may receive user identifiers and traits that you send for targeting. Its audit log reveals who changed what. Its administrative access can change what your application does in production within seconds. Protecting all this matters.

Cloud security

A hosted provider invests in security staff, monitoring, patching, encryption and independent audits, which large vendors usually describe through recognised certifications. Many buyers value that they can ask for the provider’s security documents and attach them to their own review. The shared responsibility idea applies: the provider secures the platform, while you secure your account, your users, your access keys and the data you choose to send. Strong sign-in, access controls and careful handling of keys remain your tasks.

Self-hosted security

With self-hosting, the platform security is also yours. You decide who can reach the service, how traffic is encrypted, where secrets are stored, how the database is protected and how quickly patches are applied. This can be a major advantage for organisations with strong security teams who want the service inside private networks with no public exposure at all. It is a risk for teams without that depth, because an unpatched or misconfigured server is an easy target.

Analogy

Using a bank vault service is like cloud: professionals guard the vault, but you still must keep your own key safe. Keeping valuables at home is like self-hosting: nobody else can touch them, but you must install the locks, the alarm and the safe, and you must remember to maintain them.

Compliance in plain words

Compliance means showing that you follow certain rules, laws or standards, for example those that protect personal data or require records of changes. Auditors typically ask where data is stored, who can access it, how long it is kept, how it is protected and how changes are tracked. Hosted vendors often make this easier by providing ready documentation. Self-hosting can make some requirements easier, such as keeping everything inside a specific country or network, but you must produce your own evidence.

Security topicCloudSelf-hosted
Platform patchingProvider does itYou do it, on your schedule
Network exposureReached over the public internet with strong controlsCan be fully private if you wish
EncryptionProvided and managed by the vendorYou configure it for traffic and storage
Access controlProvided by the product, plus your sign-in setupSame product features, plus your network and server controls
Audit evidenceVendor documents and reportsYour own documents and evidence
Incident responseVendor leads for the platformYou lead everything
i
Good to know

Enterprise sign-in features, such as single sign-on and fine-grained roles, may depend on the plan or edition you use. Check which capabilities your edition includes before assuming they exist.

10Data Location and Privacy

Some organisations are legally or contractually required to keep data in particular places. For them, this chapter may be the whole decision.

What data Flagsmith holds

Flagsmith holds your configuration data: projects, features, values, segments and the audit log. If you use identities, it can also hold user identifiers and traits that your application sends. You control how much personal information goes in. A privacy-friendly practice is to send only opaque identifiers, such as random user numbers, and only the traits you truly need for targeting.

Data residency and sovereignty

Data residency means keeping data in a certain geographic area. Sovereignty goes further, concerning which country’s laws apply to the data and who can compel access to it. Some public bodies, banks, hospitals and companies that serve them must meet these conditions. Hosted providers may offer deployments in particular regions, which helps in many cases, but the details vary and must be confirmed. When the rule is strict, self-hosting inside the required country or inside your own private network gives the clearest answer, since you know exactly where every byte sits.

Analogy

Data residency is like a customs rule for goods. A hosted provider is a warehouse company that stores your goods in its own buildings, and some of its buildings may be in the right country. Self-hosting is storing the goods in your own building. If the law says goods must never leave the country, your own building offers the simplest proof.

Questions to ask

Question 1

Where are the servers?

Which regions hold your data, and can you choose one that satisfies your rules?

Question 2

Who can access it?

Which staff of the provider or your own company can read or change the stored data?

Question 3

How long is it kept?

What is the retention for the audit log and for deleted items, and can you control it?

Question 4

What do we send?

Are we sending names or emails when a random identifier would do?

i
Tip

Reducing the personal data you send is the cheapest privacy control there is. A design that sends only opaque identifiers is easier to approve under cloud and safer under self-hosted alike.

11The Real Cost: Total Cost of Ownership

Prices on a web page tell only part of the story. The honest comparison counts everything, including people.

What total cost of ownership means

Total cost of ownership, often shortened to TCO, is the full cost of using something over time, not only the price you see at the start. For a flag service it includes the subscription or licence, the servers and databases, the network traffic, the monitoring tools, the security tooling, and above all the time of the engineers who build and run it. It also includes the cost of risk, such as the cost of an outage or a security incident.

Cloud cost shape

Cloud costs tend to be easy to predict at small scale and to grow with usage. You pay a plan fee that depends on tier and consumption, and you pay almost nothing in engineering time. At very large volumes, usage-based pricing can become a major line in the budget, so teams watch request counts and use caching and local evaluation to reduce unnecessary calls.

Self-hosted cost shape

Self-hosted costs tend to be fixed and front-loaded: you pay to build, then pay a steady amount to run. The software is free in its open-source form, but servers, database, network and monitoring all cost money, and several skilled people must spend part of their time on it. At small scale this is usually much more expensive than a hosted plan. At very large scale, an efficient team may run it cheaper, but only if it counts people honestly.

Analogy

Renting a car for a weekend is cheap and simple. Owning a car costs far more in the first year, because of purchase, insurance, servicing and parking. But if you drive every day for ten years, owning can win. A flag service has the same pattern: cloud is renting, self-hosted is owning, and the break-even depends on how much and how long you use it.

A simple cost comparison

Cost itemCloudSelf-hosted
SoftwareIncluded in the planFree for the open-source version, paid for enterprise features
Servers and databaseIncludedBilled by your cloud or data centre
Engineering setup timeVery smallDays to weeks at first
Ongoing operationsAlmost noneA regular share of someone’s week, plus on-call
Global performanceIncluded in the serviceExtra copies and engineering for each region
Cost of an outageOut of your hands but still feltEntirely yours to prevent and to fix
GrowthMoves up pricing tiersAdd capacity and people

Hidden costs people forget

  • The engineer who knows the self-hosted setup goes on holiday or leaves the company.
  • Upgrades are delayed because nobody has time, so security fixes pile up.
  • The database grows, performance drops and nobody noticed until a busy day.
  • A cloud plan jumps to a higher tier because traffic crossed a threshold unexpectedly.
  • The cost of switching later, which is lower if you planned for it from the start.
!
Heads up

When comparing, assign a realistic hourly cost to the engineers who would run a self-hosted setup. Teams that leave this out almost always conclude that self-hosting is cheaper than it really is.

12The Operations Burden

Running a service is a job that never ends. Here is the full list of chores that self-hosting adds to your calendar.

Installing and configuring

Someone must choose how to deploy: plain containers, a container orchestrator or a managed container service. Someone must configure environment settings, certificates, domain names, secrets and network rules. This first stage is the part most people picture, and it is usually the easiest, because good documentation and deployment examples exist.

Upgrading

New versions arrive with fixes, features and security patches. Self-hosting means you read the release notes, test the new version somewhere safe, back up the database, apply the upgrade and watch for trouble. If you skip upgrades for too long, the jump to the latest version becomes bigger and riskier, and you may miss security fixes. A good habit is to upgrade regularly in small steps.

Backups and recovery

A backup is a copy of your data that you can restore if something goes wrong. The important truth is that a backup you have never restored is only a hope. Schedule backups, store them in a separate place, protect them with encryption and practise restoring them. Decide how much data loss you can accept, called the recovery point, and how long you can be down, called the recovery time, and design backups to meet both.

Monitoring and alerting

You need to know when the service is slow, failing or filling its disk. That means collecting measurements, drawing dashboards and creating alerts that reach a real person who knows what to do. Flagsmith provides ways to expose operational metrics that common monitoring tools can collect, but you must set up the monitoring tools and write the alert rules.

On-call and incident response

When the service fails at night, somebody has to respond. That means a rota, a runbook, access rights and the confidence to act. Even if the flag service rarely fails, the existence of the duty is a real cost, especially for small teams.

Analogy

Operating a service is like keeping a garden. Planting is a weekend job. Watering, weeding, pruning and fighting pests are weekly work that never stops. A neglected garden does not simply stay as it was. It declines quietly until one day it is a mess.

1

Daily

Glance at dashboards and alerts. Confirm backups completed. Keep an eye on error rates and response times.

2

Weekly

Review capacity trends, disk growth and slow queries. Check that certificates are not close to expiring.

3

Monthly

Read release notes, plan and test upgrades, review access lists and rotate secrets that are due.

4

Quarterly

Practise restoring a backup, rehearse an outage, and review costs and capacity against the next quarter’s plans.

i
Good to know

If your company already runs many services with a mature platform team, adding one more may cost very little extra. If you have no platform team at all, the same chores land on product engineers who would rather build features.

13Scaling Up

Today’s traffic is not tomorrow’s. Let us see how each option copes when usage grows tenfold.

What scaling means

Scaling is the ability to handle more load without breaking. Vertical scaling means making one machine bigger. Horizontal scaling means adding more machines to share the work. Stateless parts, which do not remember anything between requests, are easy to scale horizontally. The database, which does remember, is usually the harder part.

Scaling in the cloud

With a hosted service, scaling is mostly the provider’s problem. You send more requests and the platform absorbs them, possibly with a change in your pricing tier. The things to watch are plan limits, fair use rules and cost. This is a major reason fast-growing products start with the hosted option.

Scaling when self-hosted

For self-hosted, the application containers are straightforward to multiply behind a load balancer. The database is the point to plan for: you may need a larger instance, read copies to share the load, careful indexing and caching to reduce repeated reads. Background work such as webhooks and analytics processing may need its own dedicated workers so it does not compete with request handling. Load testing before launches shows where the first bottleneck will appear.

Analogy

Scaling a hosted service is like adding a few more guests to a restaurant with a large kitchen and flexible staff. Scaling a self-hosted service is like hosting a bigger dinner party at home: you can borrow chairs and cook more, but the kitchen is only so big, and the oven is the first thing to become the limit.

Ways to reduce load in both worlds

Technique

Local evaluation

Let server SDKs hold the rules and decide locally, so most questions never reach the service.

Technique

SDK caching

Keep answers in memory for a short time, so repeated questions are answered without a network call.

Technique

Fewer identity calls

Send identities and traits only when they are needed for targeting, rather than on every action.

Technique

Sensible refresh timing

Poll for changes at reasonable intervals instead of constantly, balancing freshness and load.

i
Tip

Good client-side habits reduce load so much that they change which option is cheaper. Before comparing prices, optimise how your SDKs behave.

14Features and Editions

Both options share a common core, but the extras you can use depend on the edition and plan you have.

The shared core

Whether you use the hosted service or run it yourself, the core abilities are the same: feature flags, remote configuration values, environments, segments and identity-based targeting, multivariate values for experiments, an audit log, role-based team management, webhooks and a family of SDKs. Because the same open-source engine sits behind both, the way flags behave from your application’s point of view is consistent.

Editions and plans

Beyond the core, there are extras that are usually tied to paid plans or enterprise editions. Examples that products in this category commonly offer include single sign-on, finer access control, approval workflows for changes, scheduled changes, deeper audit capabilities, extended history and dedicated support. Which extras exist, in which edition, and on which plan changes over time. A common trap is to assume a feature included in a hosted plan is available in the free self-hosted version, or the reverse. Always list the features you truly need and then check them against the current documentation for the exact way you plan to run Flagsmith.

Analogy

Think of a smartphone. The basic phone, with calls and messages, is the same in every box. Extra features, such as a better camera or more storage, depend on which model you buy. And the carrier plan you choose decides what you can do with the connection. Editions and plans are the model and the carrier plan of the flag world.

Features that depend on the hosting model

CapabilityWhy it can differ
Global edge deliveryIt is infrastructure that the hosted provider builds and shares across customers, which is not simple to copy.
Real-time updates to client appsStreaming changes to apps needs extra infrastructure and may be tied to specific plans or editions.
Single sign-on and advanced rolesOften reserved for higher plans or enterprise editions, in either hosting model.
Usage analyticsThe storage and processing of analytics may be handled for you in the cloud, but needs setup when self-hosted.
Support levelHosted plans bundle support differently from self-hosted enterprise agreements.
Source-level changesOnly possible when you run the open-source code yourself.
!
Heads up

Never decide on the strength of a feature list alone. Write down your top five must-have capabilities, then confirm each one in the documentation for the exact edition and hosting model you are considering.

15Customisation and Integration

Sometimes the question is not where it runs but how much it can bend to your needs.

Integrating with your tools

Both options can talk to your other tools through the same mechanisms: a management API for automation, webhooks that announce changes, and built-in integrations with popular tools for chat, monitoring and analytics. Because these are features of the product, they behave similarly under either model. A key difference is networking: a self-hosted deployment can reach private internal tools directly, such as an internal chat server or a private monitoring system, while a hosted service can reach only what is reachable from the public internet, unless you open a safe path.

Private connections

When webhooks need to land on a private service, the self-hosted option is simpler. The sender lives in your network and can call internal addresses without any exposure. With the hosted option, you need a public receiver that is carefully protected with signatures and network rules, or you must place a small public gateway in front of the private service. This is an everyday reason why security-focused teams lean toward self-hosting.

Changing the software itself

Because the core is open source, a self-hosting team can read the code, tune settings in depth and, if truly necessary, make modifications. In practice, most teams should avoid modifying the code, because every change makes upgrades harder. The value of open code is more often transparency, the ability to inspect behaviour, understand failures and contribute fixes, than custom forks.

Analogy

A rented flat lets you hang pictures and arrange furniture freely, but you cannot knock down walls. A house you own lets you rebuild rooms, but every renovation you make is also something you must maintain forever. Most people are happiest rearranging furniture and leaving the walls alone.

Both

Management API

Automate creating and changing flags from scripts and pipelines in either model.

Both

Webhooks

Announce changes to chat, caches and archives. Private targets are simpler when self-hosted.

Both

Built-in integrations

Connect to common tools for chat, monitoring and analytics without custom code.

Self-hosted

Deep tuning

Adjust database, cache and worker settings to match your traffic patterns.

i
Tip

If your only reason for self-hosting is to reach a few private tools, consider whether a small, well-protected gateway on the cloud side would meet the need with far less effort.

16Lock-in and the Exit Plan

A good decision includes an easy way to reverse it. Here is how locked in you really are under each choice.

What lock-in means

Lock-in is how costly it is to leave a product once you depend on it. High lock-in means that leaving requires rewriting lots of code or losing data. Low lock-in means that you can move with modest effort. It is wise to ask about lock-in on day one, because the cheapest time to design an exit is before you need one.

Why Flagsmith lock-in is relatively low

Several features reduce lock-in. The core is open source, so a hosted customer always has the option to run the same engine themselves. Application code talks through Flagsmith SDKs using a small number of calls, and the address of the service is a setting. And the flag data itself, features, segments, environments, can generally be exported or recreated through the management interface, though the exact methods and completeness should be tested rather than assumed. These facts mean that moving between hosted and self-hosted is far easier than moving to an entirely different product.

Analogy

Moving between hosted and self-hosted Flagsmith is like moving a business from a rented shop to a shop you own on the same street, using the same shelves and the same stock list. Moving to a completely different product is like changing country, language and currency at once.

Protecting your freedom to leave

  • Wrap flag reads in a small layer of your own code so only one place knows which service you use.
  • Keep a regular export of your flag configuration in a safe place under your control.
  • Use clear, consistent naming for flags, segments and environments so they are easy to recreate.
  • Avoid depending on a feature that exists in only one hosting model unless you truly need it.
  • Practise the migration once in a test environment before you ever need it in earnest.
i
Good to know

Even a small flag cleanup habit protects you. Teams that remove old flags regularly have far less to migrate, less to secure and less to confuse new engineers.

17A Decision Framework You Can Use

Enough comparison. Here is a simple way to reach a decision, followed by a questionnaire you can fill in with your team.

flowchart TD
    A["Start: where should Flagsmith run"] --> B{"Is data location or network isolation legally required"}
    B -- Yes --> C{"Can the hosted option meet the rule in writing"}
    C -- Yes --> D["Consider Cloud with the right region or private arrangement"]
    C -- No --> E["Choose Self-Hosted"]
    B -- No --> F{"Do you have a team able to run databases and be on call"}
    F -- No --> G["Choose Cloud"]
    F -- Yes --> H{"Do you need global low latency for browser and mobile users"}
    H -- Yes --> I["Lean to Cloud or a multi-region plan"]
    H -- No --> J{"Is your traffic so high that usage pricing hurts"}
    J -- Yes --> K["Model the cost and consider Self-Hosted"]
    J -- No --> L["Lean to Cloud and revisit yearly"]
Figure 3. A step-by-step path from your constraints to a sensible first choice.

Reading the decision path

The first question is about rules, because rules are not negotiable. If the law or a contract demands that data stay in a particular place or network, you check whether the hosted option can satisfy that in writing. If it can, cloud may still work. If it cannot, self-hosting is the answer and the rest of the discussion is about how to do it well.

If no such rule exists, the second question is about people. A team that cannot run databases and take night calls will struggle with self-hosting, and the honest answer is cloud. If you do have the skills, the next question is about your users. Global browser and mobile audiences favour the hosted edge. Finally, if usage is so large that pricing hurts, model both costs honestly before deciding. In most other cases, start with cloud and revisit the decision once a year.

A team questionnaire

QuestionIf yes, it leans toward
Must data stay inside a specific country or private network?Self-hosted, unless the hosted option meets the rule in writing
Do we lack engineers who can run and patch a database service?Cloud
Do our users live all over the world and use browsers or mobile apps?Cloud
Do we need webhooks or integrations to reach private internal tools?Self-hosted, or a cloud setup with a protected gateway
Is our request volume enormous and steady?Model both; self-hosted may win on cost
Do we need to start this week with minimal effort?Cloud
Do our auditors demand control over every layer of the stack?Self-hosted
Do we want to avoid on-call duty for the flag service?Cloud
Analogy

The decision framework is like a travel planner choosing between a guided tour and an independent trip. If the destination has strict entry rules, you follow them first. If you have no experience of the place, you take the guided tour. If you know the country well and want freedom, you travel alone. The framework simply asks the questions in a sensible order.

18Scenarios from the Real World

Abstract advice is easier to trust when it is attached to a story. These imaginary companies show how the same questions lead to different answers.

The small startup shipping fast

A five-person team is building a new app and wants to try ideas quickly. Nobody on the team wants to run databases. Their traffic is small, so hosted costs are modest. They choose Cloud, set sensible default values in code and spend their effort on the product. They revisit the decision when their usage or compliance needs change.

The regional bank

A bank must keep all customer-related systems inside its own network and its own country, and its auditors insist on full control of every layer. A hosted service cannot meet this in writing. The bank self-hosts Flagsmith inside its private cloud, with a dedicated platform team, strong access controls and a tested recovery plan. Webhooks flow to internal tools that never touch the public internet.

The global consumer app

A media app serves tens of millions of mobile and browser users on every continent. Latency matters, and the team cannot afford to run services in many regions just for flags. They choose Cloud for the edge reach, use local evaluation in their servers to cut down on calls and keep defaults in code for safety.

The healthcare software company

A company sells software to hospitals, and some hospital customers require that no patient-related data leaves their region. The team sends only random identifiers to Flagsmith, which lowers the privacy risk, and then discusses with each customer. For customers with strict rules they deploy a self-hosted copy in the customer’s region. For others they use Cloud.

The agency managing many small clients

A digital agency builds sites for dozens of small clients. Running a flag service for each would be a maintenance nightmare. The agency uses Cloud with separate projects per client, keeps costs predictable and avoids becoming the on-call team for everyone’s flag infrastructure.

The mature platform company

A large technology company already runs hundreds of services with a skilled platform team and its own global network. Its volume is very high, and it wants flags inside its own tooling. Adding Flagsmith to the platform costs little extra effort, and at its scale the economics favour self-hosting. The company still reviews the decision every year.

The best choice is rarely the one that sounds most impressive. It is the one your team can run well on its worst day.

19Hybrid Setups and Migration

Your first choice does not have to be your last. Many teams mix the two or move from one to the other as they grow.

Hybrid thinking

A hybrid setup uses both models for different purposes. A company might use Cloud for its public consumer product, where global reach matters, and self-hosted for an internal regulated system where isolation matters. Another might use Cloud for development and staging, where convenience wins, and self-hosted for production, where control wins. The key is to keep naming, structure and processes consistent so people do not need to learn two different ways of working.

Migration in simple stages

flowchart LR
    A["Plan and inventory flags"] --> B["Stand up the new Flagsmith"]
    B --> C["Recreate or import configuration"]
    C --> D["Verify values match in test"]
    D --> E["Point a small share of apps to the new address"]
    E --> F{"Everything healthy"}
    F -- Yes --> G["Move remaining apps in waves"]
    F -- No --> H["Roll back by restoring the old address"]
    G --> I["Keep the old setup read-only for a safety period"]
    I --> J["Retire the old setup"]
Figure 4. A careful migration between hosting models, with a rollback at every stage.

Walking through the stages

The journey starts by listing what you have: every project, environment, feature, segment, team member and integration. Then you stand up the destination, whether that is a new cloud organisation or a new self-hosted deployment. Next you bring configuration across, using the management interface and any import or export tools available for your version, and you verify that values for each flag match in a test environment. Remember that environment keys are different in the new place, and that each application must be updated to use the new keys and, when moving to self-hosted, the new service address.

Then you move gradually. A small share of applications switch first, so any surprises affect only a little traffic. If something looks wrong, you roll back by pointing the applications back at the old address. If everything is healthy, you move the rest in waves. You keep the old setup in a read-only state for a while as a safety net, and only then retire it.

Analogy

A careful migration is like moving house in stages. You rent the new place first, move a few boxes, check that the keys, the heating and the internet work, and only then move the furniture. You do not give up the old flat until you have slept a few nights in the new one.

!
Heads up

Two things surprise teams most during migration: environment keys that must be replaced in every application, and identity data and history that may not travel the way configuration does. Check exactly what your chosen method moves, and plan for the rest.

20Design Patterns and Anti-Patterns

Teams that have lived with either choice for years tend to repeat the same smart habits, and the same unhappy mistakes.

Patterns that work

Pattern

Safe defaults in code

Every flag read has a sensible default so the application behaves well if the service cannot be reached.

Pattern

Wrapper layer

A thin layer of your own code around flag reads, so only one place knows where the service lives.

Pattern

Local evaluation on servers

Server SDKs keep rules in memory, so flag decisions stay fast and survive short outages.

Pattern

Start hosted, revisit yearly

Begin with the simplest option and review the decision against real usage once a year.

Pattern

Practised recovery

For self-hosted setups, rehearse restoring from backup and rolling back upgrades on a calendar.

Pattern

Minimal personal data

Send opaque identifiers and only the traits you need, easing privacy reviews in any model.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What it looks like

A small team chooses self-hosting because the software is free and the pricing page looks expensive.

Why it hurts

The team forgets the cost of engineers’ time, upgrades and on-call duty, and ends up spending more than a hosted plan while taking on more risk.

Better approach

Compare total cost including people. Start hosted unless a rule or a scale truly demands otherwise.

ANTI-PATTERN 02Avoid
What it looks like

A single container and a single database server serve production, with no tested backups and no alerts.

Why it hurts

One failure takes down flag delivery, and recovery takes hours because nobody has ever practised it.

Better approach

Run multiple application copies, protect the database with replication and backups, and rehearse recovery.

ANTI-PATTERN 03Avoid
What it looks like

Flag reads are scattered across the codebase with direct calls to the service and no default values.

Why it hurts

Any outage breaks features in many places, and switching hosting models means editing code everywhere.

Better approach

Centralise reads in one wrapper, set defaults, and keep the service address a single setting.

ANTI-PATTERN 04Avoid
What it looks like

A self-hosted installation is set up once and never upgraded, because nothing seems broken.

Why it hurts

Security fixes are missed, the gap to the latest version grows, and one day an urgent upgrade becomes a risky leap.

Better approach

Upgrade in small, regular steps and test each in a safe environment first.

ANTI-PATTERN 05Avoid
What it looks like

A company on Cloud ignores usage and is surprised by a jump in cost after a traffic spike or a chatty SDK setup.

Why it hurts

Bills rise and the team scrambles to cut calls under pressure.

Better approach

Use local evaluation and caching, monitor request counts and set budget alerts from day one.

21Best Practices and Common Mistakes

A short checklist of habits that work under either option, and mistakes that cause pain under either option.

Best practices

  • Write down your real constraints first: rules, skills, users and budget.
  • Compare total cost including engineers’ time and risk.
  • Set safe default values in code for every flag.
  • Use local evaluation and caching to reduce calls.
  • Keep flag reads behind a wrapper so switching is easy.
  • Send as little personal data as possible.
  • Export your flag configuration regularly and store it safely.
  • Review the hosting decision every year against real numbers.
  • Clean up old flags so there is less to run, secure and migrate.
  • Test an outage on purpose and watch how your application behaves.

Common mistakes

  • Choosing self-hosting because the software is free, ignoring people costs.
  • Choosing cloud without checking residency or compliance needs.
  • Making the flag service a hard dependency on critical paths.
  • Running self-hosted with no tested backups or monitoring.
  • Letting upgrades slide for many months.
  • Assuming a feature exists in every edition without checking.
  • Scattering direct service calls through the whole codebase.
  • Ignoring request volume until the bill arrives.
  • Never rehearsing a migration, then needing one in a hurry.
  • Letting a single engineer be the only person who understands the setup.

Protecting against the single expert problem

A self-hosted flag service often starts as one engineer’s project. That engineer builds it, understands it and fixes it. The risk is obvious: when they move on, the knowledge goes with them. Write simple documentation, share the on-call duty among several people and run recovery drills with different team members each time. A system that only one person can run is a system on borrowed time.

Protecting against the surprise bill

For cloud users, the equivalent risk is a bill that grows without anyone noticing. Set a budget alert if the plan allows it, watch your request counts each month and keep an eye on any release that changes how often SDKs ask the service. Often a single misconfigured polling interval creates most of the traffic.

Analogy

Good habits here are like household finance and household maintenance. Cloud users must watch the monthly bill so there are no surprises, and self-hosting users must watch the house so there are no leaks. Both kinds of home need regular attention, just of different kinds.

i
Tip

Whatever you choose, write the decision down together with the reasons and the conditions that would make you change it. When the situation changes, you will know exactly what to review.

22A Readiness Checklist for Self-Hosting

If you are leaning toward self-hosting, use this checklist to find out honestly whether you are ready, before you build anything.

People and process

  • At least two people can deploy, upgrade and troubleshoot the service.
  • There is an on-call rota that includes the flag service, and a written runbook.
  • Someone owns the upgrade schedule and the security patching.
  • A named owner approves access to the production flag environment.

Infrastructure

  • Several copies of the application run behind a load balancer, ideally in more than one zone.
  • The database has a plan for failure, such as a standby copy, and enough room to grow.
  • A background worker runs separately from the web-facing containers where load demands it.
  • Certificates, domain names and secrets are stored and renewed with a clear process.

Data safety

  • Backups are automatic, stored in a separate location and encrypted.
  • A restore has been rehearsed recently and the time it took is written down.
  • You know how much data you can afford to lose and how long you can afford to be down.

Visibility

  • Dashboards show request rate, error rate, response time, database health and disk space.
  • Alerts reach a human and are tuned so that they are not ignored.
  • Logs are collected and kept long enough to investigate incidents.
AreaReady if you can sayWarning sign
PeopleTwo engineers can run it and one is always reachableOnly one person knows how it works
UpgradesWe upgrade on a schedule and test firstWe are many versions behind
BackupsWe restored one last quarter and it workedBackups exist but nobody has tried them
MonitoringWe would be alerted before users complainWe find out from customers
CapacityWe load tested above our expected peakWe guess our peak from the average
SecurityAccess is limited, secrets are stored safely and patches are timelyShared passwords and unpatched servers
Analogy

The readiness checklist is like the safety inspection before opening a restaurant. The kitchen may look lovely, but the inspector wants to know about fire exits, fridge temperatures and hand washing. Those boring details decide whether the restaurant survives its first busy night.

!
Heads up

If you cannot tick most of these boxes today, that is not a reason to give up on self-hosting forever. It is a reason to start on Cloud and build these skills first, with a migration planned for when you are ready.

23Lessons from the Wider Software World

The cloud versus self-managed question is not unique to Flagsmith. Many well-known products offer both, and their users have learned useful lessons.

Code hosting platforms: the same product, two homes

The software development platform GitLab is offered both as a hosted service and as software that organisations run themselves. Many small teams choose the hosted service for speed, while large enterprises, governments and security-minded companies run it inside their own networks. The lesson: the same engine can serve both worlds, and the deciding factors are almost always rules, skills and scale, not features.

Error tracking tools: open source with a hosted twin

The error tracking product Sentry is open source and can be self-hosted, and it also runs as a hosted service. Teams that self-host often report that the effort grows with traffic, which pushes many to the hosted service once volume or reliability requirements rise. The lesson: self-hosting can be easy to start and demanding at scale.

Databases: managed versus self-run

Companies that need a relational database often choose between a cloud provider’s managed database and running the database software themselves on virtual machines. Managed options reduce backups, patching and failover work, while self-run options give maximum control and tuning. Many organisations choose managed services for most workloads and self-run only where a special need exists. The lesson: reserve the burden of self-running for places where you gain something specific.

Messaging and collaboration tools

Several collaboration products offer a hosted version and a self-hosted version aimed at customers with strict data control needs. Their experience shows a recurring pattern: regulated industries and security-focused teams are the main self-hosters, while most other customers prefer convenience.

Large internet companies: build where it differentiates

Very large internet companies often build and run their own versions of infrastructure services, including experimentation and flag systems, because their scale and special needs justify the investment, and they have platform teams to match. Smaller companies rarely gain from copying that choice. The lesson: do not self-host to imitate the giants. Do it only if your situation resembles theirs.

Run yourself only what gives you an advantage. Rent everything else, and keep the door open to change your mind.
i
Good to know

The details of each product’s offerings change over time. Treat these examples as illustrations of common patterns, and check each vendor’s current documentation before relying on specifics.

24A Worked Example: Choosing for a Growing Company

Let us walk one imaginary company through the whole decision, so you can see the framework used on real-feeling facts.

The company

Imagine a travel booking company called Wayfarer. It has a website, two mobile apps and about forty engineers. It serves customers in Europe, North America and South-East Asia. Payments and personal data are handled by a separate, tightly controlled system. The product team wants to roll out new search results gradually, test a new booking flow and switch off risky features quickly during peak holiday traffic. There is no dedicated platform team, but there is a small operations group that runs the main database and the company’s cloud account.

Step one: list the constraints

The team starts by writing down what cannot be negotiated. They check with legal and security and learn that flag data will contain only random user identifiers and simple traits such as a plan type, never names or emails. The security team confirms that a hosted flag service is acceptable if the vendor can provide standard security documentation. There is no rule that forces the data to stay inside the company network. So the first branch of the decision framework leads to the next question.

Step two: assess the skills

The operations group is small and already stretched. They could run another database service, but it would compete with higher-priority work, and the idea of adding another night-time pager rotation is not welcome. This points toward Cloud.

Step three: look at the users

Wayfarer’s customers are spread over three continents and mostly use browsers and mobile apps. Every extra hundred milliseconds on a search page costs bookings. A hosted edge that answers near the customer is attractive. Building the same reach alone would require several regional deployments, each with its own database copy and its own monitoring.

Step four: model the cost

The team estimates monthly request volume from analytics, assuming good SDK habits such as caching and local evaluation on servers. They compare the hosted plan against a self-hosted setup in three regions, and they honestly price the engineer time: setup, upgrades, backups, monitoring and on-call. The hosted plan costs far less than the combined price of servers and people at their current volume. Only at many times their present traffic would the comparison become close.

flowchart TD
    A["Wayfarer constraints reviewed"] --> B["No legal need for private hosting"]
    A --> C["Small operations group already busy"]
    A --> D["Users spread across three continents"]
    A --> E["Cost model favours hosted plan"]
    B --> F["Decision: start with Flagsmith Cloud"]
    C --> F
    D --> F
    E --> F
    F --> G["Safe defaults and local evaluation in servers"]
    F --> H["Wrapper layer around flag reads"]
    F --> I["Yearly review with new traffic and cost data"]
    I --> J{"Rules or volume changed"}
    J -- Yes --> K["Plan a staged migration to self-hosted"]
    J -- No --> L["Stay on Cloud"]
Figure 5. Wayfarer’s decision: four reasons lead to Cloud, with safeguards and a yearly review.

Reading the picture

Four separate lines of evidence feed into one decision. Each is simple and independent, which is what makes the outcome trustworthy. Notice the three actions that follow the decision. The team adds safe defaults and local evaluation so the product works even if the flag service is unreachable. They add a thin wrapper around flag reads so the service address is a single setting. And they schedule a yearly review so the decision is revisited with real data rather than inherited by habit.

Analogy

Wayfarer’s choice is like a family deciding whether to rent or buy a home while new in a city. They have not decided where to settle permanently, their time is limited and their savings are better spent elsewhere, so they rent. They keep their paperwork in order, so if they decide to buy next year, the move is simple.

Eighteen months later

A year and a half on, Wayfarer signs a large contract with a public-sector customer who requires that all related systems run inside a specific country and within a private network. The team reviews the decision, as planned. For the new customer only, they deploy a self-hosted Flagsmith inside the required environment, using the same naming conventions and the same wrapper layer. The rest of the company stays on Cloud. Because the application code only needed a different service address and keys, the new deployment takes weeks, not months. The earlier habits turned a potential crisis into a project.

i
Tip

A decision made carefully but reversibly is better than a perfect decision made slowly. Wayfarer did not need to predict the future. It only needed to keep its options open.

25Modelling the Cost Step by Step

Everyone says compare the cost. Few explain how. Here is a simple, honest method that you can run in an afternoon with a spreadsheet.

Step one: estimate your traffic honestly

Begin with what your applications will actually ask. Count the number of application servers, the number of mobile and browser sessions per day, and how often each SDK refreshes or asks the service. Then apply your caching and local evaluation plans. Many teams find that smart SDK settings cut their service calls dramatically. Write the result as a monthly request estimate, with a pessimistic number for busy seasons and launches, since those are the months that decide costs.

Step two: price the hosted option

Take the current plan pages and find the tier that matches your traffic, your number of team members and the features you need, such as access controls or approval steps. Add any extra charges for usage above included limits. Then add a margin for growth over the next year. Because prices change, use the numbers from the vendor’s current page on the day you do the exercise, and note the date.

Step three: price the self-hosted option

List every component: application containers, a database with room to grow and a standby copy, a cache if used, a background worker, a load balancer, storage for backups, monitoring tools, log storage, certificates and network traffic charges. If you need multiple regions to match global reach, multiply the infrastructure accordingly. Add the licence cost if you need enterprise features sold commercially.

Step four: price the people

This is the step that most teams skip. Estimate the hours per month for patching, upgrading, backup testing, monitoring tuning, incident response and answering questions from colleagues. Add the one-off setup time, spread across a few years. Multiply by a realistic fully loaded cost for an engineer, which includes more than the salary. Include the cost of being on call, such as the extra people needed to share the rota fairly.

Step five: price the risk

Think about the cost of an outage or a security incident, and how the likelihood differs between the two options for your team. This is not an exact science. But it forces a conversation. If an hour of downtime in your product costs a lot, then a more mature operations setup, whether the provider’s or yours, is worth paying for.

Worksheet rowCloud columnSelf-hosted column
Subscription or licencePlan fee for your tierZero for open source, or enterprise licence fee
Compute and containersIncludedSum of your instances in every region
Database and standbyIncludedPrimary, standby and storage growth
Backups and logsIncludedStorage and retention costs
Monitoring and alertingIncludedTools and your time to tune them
Engineering hoursSmall, for administration onlySetup, upgrades, on-call and fixes
Risk allowanceProvider outage exposureYour own outage and security exposure
Growth marginNext tier upExtra capacity and extra people
Analogy

Doing this worksheet is like comparing a taxi with a car you own for your daily commute. The taxi fare is the one number on the receipt. The car needs the purchase price, fuel, insurance, parking, servicing and the afternoon you lose when it will not start. Only when every line is written down does the comparison mean anything.

Step six: test the answer

Change the assumptions and see how the answer moves. What if traffic doubles? What if one engineer leaves? What if you need a second region? What if the vendor raises prices by a fifth? A good comparison is not a single number but a range, and a clear idea of which assumption matters most. Often it is the cost of people, and in many cases it is the traffic estimate.

Check

Double the traffic

See when the hosted tier jumps and when the self-hosted setup needs more capacity.

Check

Lose a key engineer

Estimate the effect on self-hosted reliability when only one person understood the setup.

Check

Add a region

Compare adding global reach under hosted pricing with adding a regional deployment yourself.

Check

Price changes

See how sensitive your plan is to a change in the vendor’s pricing or in your cloud bill.

!
Heads up

Numbers in this chapter are intentionally absent, because plans and prices change often. Build your own worksheet with current figures, and date it so you know when to refresh it.

26Failure Scenarios in Each Model

Every option fails sometimes. What matters is how it fails, who is responsible, and what you can do about it.

Scenario one: the flag service becomes unreachable

In Cloud, the provider’s service has an incident and requests fail or slow down. You can check the provider’s status page and wait for recovery, but you cannot fix the platform. Your protection is on your side: defaults in code, SDK caches, local evaluation and short timeouts mean your product keeps working in a known safe way. In self-hosted, the same symptom might come from a failed container, an overloaded database or a network fault. Your protection is the same defaults, plus the ability to act: restart containers, fail over to a standby, add capacity or roll back a bad upgrade.

Scenario two: a bad release of the flag software

In Cloud, a new version introduced by the provider could contain a bug that affects some customers. You depend on the provider’s testing and rollback. In self-hosted, you choose when to upgrade, so a bad release cannot surprise you unless you apply it. You test first, upgrade in a quiet period and keep the ability to roll back. This is one area where self-hosting gives you timing control, balanced by the risk of neglecting upgrades altogether.

Scenario three: a traffic surge

A marketing campaign sends five times the usual traffic. In Cloud, the platform absorbs the load, and you may move into a higher usage tier. In self-hosted, you must have capacity ready. If you tested for the surge and your containers can multiply quickly, all is well. If not, the database becomes the bottleneck, and requests slow down. Load testing before big events is the discipline that separates calm launches from stressful ones.

Scenario four: a leaked access key

Someone commits a management key into a public code repository. In either model, the immediate response is the same: revoke the key, create a new one, review the audit log for unexpected changes and check whether any flags were altered. In self-hosted, you may also need to review server logs, since you own the whole stack. In Cloud, the audit trail and access controls are provided by the product, and the provider can help with platform-level questions.

Scenario five: data loss

In Cloud, the provider is responsible for backups and recovery of the platform, and you can ask about their policies and test your own exports. In self-hosted, you carry the whole duty. A database failure with no tested backup is the nightmare scenario: all flags, segments and history may be lost. Scheduled backups, off-site copies and a rehearsed restore are essential. Even in Cloud, keeping your own export of configuration is a wise precaution.

FailureIn Cloud youIn self-hosted you
Service unreachableRely on defaults and caches, then wait for the providerRely on defaults and caches, and also restore service yourself
Bad software releaseDepend on the provider’s rollbackChoose upgrade timing and roll back yourself
Traffic surgeLet the platform absorb it and watch costsProvide the capacity and test it beforehand
Leaked keyRevoke, rotate and review the audit logRevoke, rotate, review the audit log and the servers
Data lossTrust provider backups and keep your own exportRestore from your own tested backups
Analogy

Handling failure is like dealing with a power cut. If the utility fails, you light candles and wait for the company to fix the grid. If your own generator fails, you can fix it yourself, but only if you kept spare parts and know how it works. In both cases the candles and torches you prepared in advance, the defaults in code, are what keep life going.

The common thread

In every scenario, the best protection is the same, whichever model you choose: assume the service will occasionally be unavailable, design your application to behave sensibly without it and practise the recovery steps. The model decides who performs the repair. Your preparation decides whether anyone notices the fault.

i
Good to know

Write a one-page incident guide for your chosen model: who to contact, which dashboards to open, where the exports and backups live and how to switch every application to safe defaults if needed.

27Questions to Ask Before You Commit

Good decisions come from good questions. Use these lists in your evaluation meeting, one for the provider and one for your own team.

Questions for the hosted provider

Location

Where will our data live?

Ask which regions are available, whether you can choose one and whether data ever moves between regions.

Reliability

What commitments do you make?

Ask for availability targets, how incidents are communicated and what remedies exist when targets are missed.

Security

What evidence can we review?

Ask for security documents, audit reports, encryption details and the process for reporting vulnerabilities.

Exit

How do we leave?

Ask how configuration can be exported, how deletion of data is handled and what the notice terms are.

Limits

What happens at the edges of the plan?

Ask what occurs when usage passes included limits, and how you will be warned before costs jump.

Support

Who answers at three in the morning?

Ask which support levels exist, what response times apply and how urgent problems are escalated.

Questions for your own team

People

Who will run it, and who backs them up?

Name at least two people and confirm they have time that is not already promised elsewhere.

Skills

Have we run something like this before?

Experience with databases, containers, monitoring and backups makes self-hosting far safer.

Rules

What do our customers and auditors require?

Collect real requirements from contracts and policies, not assumptions about what might be demanded.

Growth

Where will we be in two years?

Think about traffic, new regions and new customers, and whether your choice will still fit.

Safety

What happens if flags are unavailable?

Confirm that defaults exist and have been tested for every important flag.

Change

How will we switch if we must?

Confirm the wrapper layer exists, exports are scheduled and a practice migration has been planned.

Turning answers into a decision

After collecting answers, give each topic a simple score for each option: how well does it meet our need, how risky is it, and how reversible is it. Share the scores with the whole group, including the people who will carry the pager and the people who sign the contracts. Look for any single topic where one option fails outright, such as a legal rule, because that overrides everything else. For the rest, choose the option that satisfies your must-haves with the least ongoing effort, and write down the conditions under which you would review the choice.

Analogy

These questions are like the checks before buying a used car. You ask about service history, examine the engine, take it for a drive and think about where you will park it. A few hours of questions can save years of regret, and the seller’s answers, or the lack of them, tell you a great deal.

i
Tip

Ask the questions in writing and keep the answers. When someone new joins the team a year later and wonders why you chose this option, the record answers them kindly and quickly.

28Glossary of Terms

Every important word used in this guide, in plain language, for quick lookup.

TermPlain meaning
Feature flagA switch in your software that turns a feature on or off, or changes its behaviour, without releasing new code.
Remote configurationStoring values such as text or numbers outside the code so they can be changed instantly without a new release.
SDKA ready-made code library that lets your application talk to Flagsmith easily.
Cloud (hosted)The service run for you by the provider, which you reach over the internet and pay for by plan.
Self-hostedThe same software run by you on servers or containers you control.
Edge networkCopies of data placed near users around the world so answers arrive quickly.
LatencyThe delay between asking a question and getting the answer.
Local evaluationLetting an SDK keep the rules in memory and decide flags itself, with no network trip for each question.
AvailabilityThe share of time a service is reachable and working.
RedundancyHaving spare copies of parts so one failure does not stop the whole system.
Single point of failureOne part whose failure would stop the entire system.
Load balancerA traffic director that spreads requests across several copies of an application.
DatabaseThe permanent store where Flagsmith keeps projects, flags, segments, users and the audit log.
CacheA fast temporary store that avoids repeated work by keeping ready answers.
Horizontal scalingHandling more load by adding more machines rather than making one bigger.
Vertical scalingHandling more load by making a single machine larger and stronger.
Total cost of ownershipThe full cost of using something over time, including people, risk and hidden work.
Data residencyThe requirement that data be stored within a particular geographic area.
Data sovereigntyThe idea that data is subject to the laws of the country where it is stored.
ComplianceShowing that you follow required rules, laws or standards.
Single sign-onA way to log in to many tools using one company identity.
Recovery point and recovery timeHow much data you can afford to lose and how long you can afford to be down after a failure.
Lock-inHow costly it is to leave a product once you depend on it.
MigrationMoving your configuration and applications from one setup to another.
Hybrid setupUsing both cloud and self-hosted for different purposes.

29Frequently Asked Questions

Short answers to the questions people ask most often when choosing.

Q1Is the self-hosted version really free?
The open-source software has no licence fee, but you pay for servers, databases, network and, above all, engineering time. Enterprise features, if you need them, may carry a separate commercial licence.
Q2Are the features identical in both options?
The core features are shared, but some capabilities depend on the edition or plan, and some, such as global edge delivery, are properties of the hosted infrastructure. Always check the current documentation for the exact combination you plan to use.
Q3Which option is faster?
It depends on where your users and servers are. Hosted edge delivery helps global browser and mobile users. A deployment close to your servers can be very fast for server calls. With local evaluation in servers, the difference becomes small.
Q4What happens to my app if the flag service goes down?
If you set default values in code and let SDKs keep recent answers, your application falls back to known safe behaviour. Design and test for this under both options.
Q5Which option is more secure?
Neither is automatically safer. A hosted provider offers professional security operations. Self-hosting offers total control and private networks. The safer choice is the one your team can run and review properly.
Q6Can I keep all data inside my own country?
Self-hosting inside the required country gives the clearest answer. Hosted options may offer suitable regions or private arrangements, so ask the vendor and get the answer in writing.
Q7How hard is it to switch later?
Relatively easy compared with changing products entirely. SDKs use a configurable address, and configuration can generally be recreated through the management interface. Plan for new environment keys and test the process before you need it.
Q8Should a startup self-host?
Usually not, unless a legal or customer requirement demands it. Small teams gain most from spending time on their product. Start hosted and revisit the decision as you grow.
Q9When does self-hosting become cheaper?
Usually at very high and steady request volumes, with a team that already runs infrastructure efficiently. Model both options with honest people costs before deciding.
Q10Can I use both at the same time?
Yes. Many organisations use the hosted service for some products or environments and self-hosted for others, keeping naming and processes consistent.
Q11What do I need to run Flagsmith myself?
A place to run the application containers, a database, a way to reach it over the network, secrets and certificates, backups, monitoring and a plan for upgrades. For larger setups, add several copies, a cache and a separate background worker.
Q12Do webhooks work the same in both?
Yes, the feature is the same. The difference is network reach: a self-hosted sender can call private internal addresses, while a hosted sender needs a receiver reachable from the internet.
Q13How often should I revisit the decision?
At least once a year, and whenever your traffic, rules, team or budget change significantly.
Q14Where can I confirm current prices, regions and editions?
Use the current Flagsmith website and documentation. Plans, regions and edition features change over time, so confirm them before you commit.

30Summary and Key Takeaways

Everything in this guide comes down to a handful of ideas you can carry into your decision meeting.

Flagsmith Cloud and self-hosted Flagsmith are two ways to run the same open-source engine. Cloud gives you speed, global reach and freedom from operations. Self-hosted gives you control, privacy and the ability to run inside your own walls, at the price of owning every chore. The decision is not about which is better in general. It is about which fits your rules, your skills, your users and your budget today, with a clear path to change later.

Key Takeaways

  • Same engine, different responsibilities. Both options run Flagsmith. The real difference is who operates it, who pays which bills and where your data lives.
  • Start with your constraints. Legal and contractual rules about data location or network isolation come first, because they cannot be negotiated away.
  • Count people, not only prices. Self-hosting is free to download but not free to run. Include engineers’ time, on-call duty and risk in every comparison.
  • Cloud wins on convenience and reach. Hosted delivery suits small teams, fast starts and global audiences, while growth in usage must be watched and managed.
  • Self-hosted wins on control. Private networks, strict residency and deep tuning are real advantages, but only for teams that can run, patch, back up and monitor the service well.
  • Design for failure in both worlds. Use safe defaults, SDK caching and local evaluation so your product works even when the flag service does not.
  • Keep the exit open. Wrap flag reads, export configuration regularly, rehearse a migration and review the decision every year as your situation changes.