1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Design Scaling Web Service with Backup, Failover, Monitoring and Load Balancing

Discussion in 'Site & Server Administration' started by cloudc0der, Oct 25, 2018.

  1. #1
    I am planning a large-scale web service that is accessed by maximum 5000 people at the same time and the total user amount would be 30k or something in that dimension.

    Now with that big size we need backups, if possible we should also do load-balancing and monitor the servers. My current experience is with Apache Web Servers and sites that have maximum 5000 people in a month or even a year.

    To the web service: I am still determining the best framework to use. The database will surely be something SQL-ish, PostgreSQL should normally be able to handle that amount of users. And for the web service itself I thought of Node.js with Express or alternatively a Django server.

    Now to the interesting part: server administration. I am currently a fan of Amazon Web Services. I don't know your experience about it? But currently I have no issues and especially the availability time is great.

    Should I use Docker? I could imagine it being great for deployment as there should be almost no errors. Also I want to have minimal update time so I could deploy a docker container to a production failover server, then run a monitoring service over it ensuring everything works, and then I could point the active server to the failover server. And then on the next time the other server gets my new failover server. *However* I never implemented such thing and I don't know how to achieve that. The next big step would be to introduce load balancing. I saw that AWS offers something like that. But could I also dynamically setup new servers on the fly? Lets say the monitoring tool (any recommendations?) says that Server A (the active one) is experiencing heavy load, could we automatically setup a new server (via AWS, pay as I use only) and more that are introduced to a load-balancing-array?

    But to be realistic: is this really possible? Or could one server handle those 5000 people simultaneous? The actually server load should be high, mostly read access and now-and-then transactions with inserts.

    And for the backup part: how is this implemented in production? Daily backups for one and mirrored databases that sync the changes automatically?

    How much space and memory and processor power would that need? With AWS upgrading should not be that problem but price plays a big role. I want to know an approximation before-hand. If there are other servers than AWS with same high availability please let me know. But I don't want to buy a root server that I have to manage purely myself.

    cloudc0der, Oct 25, 2018 IP