Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 367717
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T13:45:18+00:00 2026-05-12T13:45:18+00:00

A web application we wrote intended for one customer is going to be product-ized

  • 0

A web application we wrote intended for one customer is going to be product-ized and sold to dozens of companies, and we will be doing the hosting.

I could use some guidance about the pros and cons of rolling out a seperate instance for each customer versus going with a single (or very small number of) multi-tenant instances.

At first, as we ramp up, I will have to roll out a seperate instance of the application for each new customer (they will come online one at a time) because it’s the only immediate option. I imagine this won’t scale very well as far as maintenance goes – rolling out changes will become very tedious and possibly error-prone once there are more than 4 or 5 instances out there. Unless we automate that somehow.

Also, the single-instance philosophy seems like it might lead to a bunch of forks if people need customizations. And it would be nice to avoid that.

So what has your experience been with this?

Bonus question #1: What’s the performance difference between 10 SQL Servers with 2m records each versus one huge one with 20m? Let’s say they are all in one table and we’re mainly doing inserts and selects on single records. Sometimes the selects are on an indexed varchar(12) or date field.

Bonus Question #2: I imagine that to avoid forking, we would have to make the customizations configurable, or build a plug-in architecture. However, that might increase the cost of doing customizations, and I don’t want to be one of those shops that takes a week to resize a textbox, and I don’t want to over-invest in infrastructure. Any thoughts on that?

Scale Details

Each customer will have a decent amount of data — up to a few million records.

There will be a very small number of concurrent users, only a few per customer, plus a handful of internal reps on our end.

It’s unclear whether each customer will require customizations, but I would say some of them probably will, and maybe some of those changes will be things that other customers will not want to see.

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T13:45:18+00:00Added an answer on May 12, 2026 at 1:45 pm

    I don’t see a good reason for either of your two options. I think the real answer lies somewhere in the middle: having multiple instances, each hosting multiple clients.

    This adds another layer of automation processing, but it means you can keep the hosting cheap (you won’t need to go out and buy a Cray any time soon) and (hopefully) this sort of mentality means you could do failover backups fairly easily.

    But let’s not get ahead of ourselves… We’re talking about a webapp, right? Get your database(s) and aspnet on different machines. Cluster your databases and you’ll have a much happier time playing around with various front-end scenarios. You’ll also be able to upscale whichever area runs out of puff first.

    By the sounds of it, you’ll end up with one clustered database over half if not a full dozen database machines and only a couple of front-end boxes.

    As for customisations, you’ve nailed it. You either provide a completely database-hosted set of editable templates or you have to customise who instances. I’m all for the first. It’s a lot of work (without much in return) but it’s well worth it as you should only need to change the core code when (you will!) you do upgrades. Hunting through a hundred customers’ custom instances to make sure they upgrade safely will kill a developer! Template are the answer. At the very very least, you could allow custom CSS without much pain (but they’d need somebody who knew their stuff).

    Edit: I’ve seen a couple of posts going for the all-in-one method. Splitting the instances over multiple machines insulates you from a couple of things:

    • If you introduce a bug not caught in testing, only a few clients are effected at once

    • Hardware fails. Having one mega-server fall over will annoy a lot of people at once. Having a failover mega-server is massively expensive. Having a spare failover box per three or four running servers is much cheaper and annoys fewer people.

    • Performance can be balanced between boxes on a client-by-client basis, so you can put a few light-use clients with a heavy client, or just fill a box with a few medium-use clients, etc.

    • On the same idea, usage spikes or other slowdowns only effect clients on the same box. Of course this doesn’t mean the same for the database, but you can split that up into a cluster of clusters when you get there.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Background: I've inherited a web application that is intended to create on-the-fly connections between
I'm going to need to integrate a Java application that I wrote with a
I am writing a web application that will serve as a configuration for a
I wrote a WSGI compatible web application using web.py that loads a few dozen
I need to write a web application using SQL Server 2005, asp.net, and ado.net.
I'm planning to write gateway web application, which would need terminal window with VT100/ANSI
I'm trying to write a web application using SpringMVC. Normally I'd just map some
I'm developing a web- application using NHibernate. Can you tell me how to write
My web application generates pdf files and either e-mails or faxes them to our
My web application has a login page that submits authentication credentials via an AJAX

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.