Answer the question
In order to leave comments, you need to log in
How to calculate the amount of server capacity for a social network?
Good afternoon
We are a small team planning to launch a kind of social network, focused on working with a large number of people and legal entities.
The question for investors arose sideways, what amounts would be spent on paying for server capacities.
Maybe more experienced developers can suggest something?
Answer the question
In order to leave comments, you need to log in
That's just what it is for a successful social. Network and sense there is no immediately.
It makes sense to buy additional capacity as the network grows.
For the difference is very, very large at the initial stage and what will happen in a year or two. Well, this is if the project "takes off" of course. This is me under the assumption that investors are not interested in non-flying projects. So, we are counting on the fact that it will take off.
In addition, if you are a developer, then you yourself should know this.
If you are able to create a highly effective project, then:
StackOverflow was already a well-known and promoted project all over the world just a few years ago. Probably the most famous among projects of this kind. And all the millions of users who actively write on it and actively read it served only 2 servers, for the frontend and DBMS (not counting the backup / replication ones, of course). These were servers on good hardware, but not expensive. Search online for details.
Think about it, the whole world, millions of visitors, active users loading the DBMS with search and write operations. And just a couple of servers.
At the same time, I have seen examples of the exact opposite. When about the same iron and a couple of thousand visitors a day can not pull out .... Well, shitcoders did what to take.
---------
Assess the scale and speed of response to growth required.
1. If you really seriously want, then you are in a microservice architecture (Kubernetes will help you) and in the clouds.
2. However, I believe that the first couple of years of visitors will not be many. Therefore, you can start quite yourself with VDS simply by switching the tariff to older and older ones. These are pennies. The only thing is that I would immediately take pictures / videos to the clouds, it's very convenient and you don't care about disk space or software configuration. Use specialized services for this: Openstack Swift (many hosters), Google Storage, AWS S3, etc. When taking out such a heavy thing from the server, the engine will be completely undemanding.
---------
You were correctly answered here in the next post:
The cost of developing and promoting this crap is huge compared to the cost of servers.
If the investor reads already and here to dig, then it is obvious that the team will plow for a penny.
And so the cost per team per week can be more than for all the servers in a year.
During the first five years of promotion.
And only as the network stabilizes, smaller volumes of work, but greater scale of servers - the cost of servers will exceed the cost of human services.
---------
If I had started this project myself:
I would have pledged for the first year the amount of 6,000 rubles per month for two servers (main and replication, engine and database on one machine, pictures / videos on a separate cloud service ). And this is a VDS, not a dedicated server.
For the second year, 40,000 rubles per month (two clusters of 3 servers each).
Starting from the third year, I would have gone into the clouds.
There, I believe, the price tag would be at the level of 30,000 - 60,000 rubles a month for the first time.
From the fourth year I would count on 90,000 - 180,000 expenses per month.
After that, I would start thinking about whether to leave the clouds for my infrastructure.
But this is about my hypothetical architecture.
Perhaps you have a different goal and a different architecture.
---------------
How to count:
Estimating the number of users.
Estimating the volume of content they generate (moreover, these are photos and videos, messages and technical logs, too, do not forget, there are a lot of them)
We multiply by 3 (in serious systems you need double replication: the original and 2 copies)
And add 1 more copy for development and "early access to beta", split testing, etc.
Then it depends on your architecture. As I already wrote, the microservice architecture is good for explosive growth, but quite demanding with a small load. If you are not directly 100% sure of explosive growth, it is better to refuse it, it is both in development and in support of hemorrhoids. But on the other hand, it scales great, you can’t take it away from her.
Further, if it will be for the whole world, you need to think about a couple of clusters of different geography.
-----------------
If you do not have information about the number of users and the volume of content generated by them, it is impossible to speak specifics here.
so the cost varies from DC and countries
, reassure investors - no more expensive than the payroll of programmers, focus on 1/4 of the payroll
, consider the cost by putting everything on 1 machine (from 256GB of memory, 16 cores),
getting the top users on it and multiplying linearly by the number users,
the first setup/stage can be further multiplied by two
And what can I suggest, make a prototype, run load testing, multiply by the number of users and voila
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question