4 ms·
We handle a couple million daily users, educational online reading product used by K12 schools worldwide. Internal framework PHP monolith, nginx, Aurora MySQL,
by donatj 5y ago
We handle a couple million daily users, educational online reading product used by K12 schools worldwide.
Internal framework PHP monolith, nginx, Aurora MySQL, redis, Memcache, internally developed message queue, handful of small Go microservices.
While we're largely hosted on AWS, some countries require us not to be, namely China, where are product lives on servers run by the government. We've kept are infrastructure non-AWS compatible.
For our US installation, monolith scales up to 50+ servers during the day and down to a minimum of 2 at night.
- charrondev 5y agoAt $WORK we serve billions of requests a month on with nginx, php-fpm, and Percona. In total I think it’s something on the order of ~1000 application servers (nginx/PHP) that are specced to handle 28 concurrents, and 200 Percona instances of varying sizes. A big HAProxy cluster sits in front of the whole thing and cloud flare in front of that. A whole bunch of memcached servers spread around too. By far the biggest bottleneck is the MySQL servers at the moment, so we rely heavily on memcached to keep requests away from the DBs.
- jjeaff 5y agoJust curious, have you calculated what it would cost to have the equivalent of those 50 servers as dedicated bare metal servers?
- donatj 5y agoI haven't. That's all Ops, and I'm a developer. We're a pretty small team of about 15, and managing physical servers would require a big investment in staff alone.
- jjeaff 5y agoThere is little difference in managing a bare metal server vs an AWS VM. Both can come preinstalled with your OS of choice. And you are responsible for maintaining the system either way. I'm not talking about colocating your own hardware in a data center. Just renting bare metal.