Hey there,
You all here already know that once the system gets heavily used it starts to show some pitfalls regarding servicing. Common issues are on storage, traffic and specially the database performance. The more users you got also carries the cost of moderating user-content driven actions, to provide support, contact, etc. 👏🏾 You have managed to keep it reasonable cheap, to earn some profit or at least break even.
I have seen your strategies and is very interesting how most of you tried pretty much all available storage providers, VPS services, configurations, etc. Many of you are really taking advantage of the software, giving it the real purpose I intended when I created it and I'm proud to see what you manage to build with my stuff.
However, I do feel that this precious knowledge and efforts are too isolated as we aren't acting as a distributed group, which make us very weak. It is too selfish, imagine that each one of you is the main person in charge of running a massive service, sounds awesome (we now is cool) but it is also a tall responsibility. That's why I'm opening this topic, because I want to propose a distributed growth strategy and I will really need your feedback on this.
We know that users will always trend to saturate the system, is just matter of time. We can safely assume that any giving installation won't stop growing, regardless of the rate. Installations are "doomed" to be always growing. Perhaps it is not a problem now, maybe in 2 years? Problem is that while I keep driving the provisioning without this option there will be always a cap on how much income you can get from using this software, and it will be always limited to my capacity of making the software efficient at higher scales.
If you reach a given installation size that I can't optimize, your service will just be less proficient than others and more expensive to run. I believe that key here is specification, to diversify the offering. To provide more unique experiences rather than just one general system, but the problem is how hard is to provision this.
The distribution strategy I want to purpose is really simple and straightforward: To provide the core feature of "account migration", enabling the user to migrate their account to another provider, including their own self-hosted instance. With this, you could get in touch with power users and offer them migrating to their own managed instance or sell them the migration service. Not only you will leverage load from the main system, this new instance will grow on its own and is very likely that the power user will bring and care for more users and for you won't be a problem, you already have plenty experience with the software and its servicing.
✨ You could spawn another business (yet another income) for managing these instances, specially for those big power users.
Rather than making just one big installation and absorbing all costs, you can use what you already know to keep running your main installation and on top of it to sell more expensive services to the users you already got. Imagine if some of these users goes big as your original website? Not only you will be right there, the user will become another peer for the software.
What I'm purposing here is to design a system that will enable to re-distribute your load servicing strategy based on sprouting isolated managed instances. This takes the best from the software, and provides the user a freedom that doesn't exists anywhere.
This is the most relevant part here as you represent the big installations. I need to know your honest opinion about this, what you like/dislike. I know that this requires an extra effort.
You all here already know that once the system gets heavily used it starts to show some pitfalls regarding servicing. Common issues are on storage, traffic and specially the database performance. The more users you got also carries the cost of moderating user-content driven actions, to provide support, contact, etc. 👏🏾 You have managed to keep it reasonable cheap, to earn some profit or at least break even.
I have seen your strategies and is very interesting how most of you tried pretty much all available storage providers, VPS services, configurations, etc. Many of you are really taking advantage of the software, giving it the real purpose I intended when I created it and I'm proud to see what you manage to build with my stuff.
However, I do feel that this precious knowledge and efforts are too isolated as we aren't acting as a distributed group, which make us very weak. It is too selfish, imagine that each one of you is the main person in charge of running a massive service, sounds awesome (we now is cool) but it is also a tall responsibility. That's why I'm opening this topic, because I want to propose a distributed growth strategy and I will really need your feedback on this.
Why is this a problem?
We know that users will always trend to saturate the system, is just matter of time. We can safely assume that any giving installation won't stop growing, regardless of the rate. Installations are "doomed" to be always growing. Perhaps it is not a problem now, maybe in 2 years? Problem is that while I keep driving the provisioning without this option there will be always a cap on how much income you can get from using this software, and it will be always limited to my capacity of making the software efficient at higher scales.
If you reach a given installation size that I can't optimize, your service will just be less proficient than others and more expensive to run. I believe that key here is specification, to diversify the offering. To provide more unique experiences rather than just one general system, but the problem is how hard is to provision this.
Distributed strategy
The distribution strategy I want to purpose is really simple and straightforward: To provide the core feature of "account migration", enabling the user to migrate their account to another provider, including their own self-hosted instance. With this, you could get in touch with power users and offer them migrating to their own managed instance or sell them the migration service. Not only you will leverage load from the main system, this new instance will grow on its own and is very likely that the power user will bring and care for more users and for you won't be a problem, you already have plenty experience with the software and its servicing.
✨ You could spawn another business (yet another income) for managing these instances, specially for those big power users.
Rather than making just one big installation and absorbing all costs, you can use what you already know to keep running your main installation and on top of it to sell more expensive services to the users you already got. Imagine if some of these users goes big as your original website? Not only you will be right there, the user will become another peer for the software.
What I'm purposing here is to design a system that will enable to re-distribute your load servicing strategy based on sprouting isolated managed instances. This takes the best from the software, and provides the user a freedom that doesn't exists anywhere.
Your thoughts
This is the most relevant part here as you represent the big installations. I need to know your honest opinion about this, what you like/dislike. I know that this requires an extra effort.