AWS instance type for production

Hi @regis

Would AWS T3.large (2 CPUs and 8G memory) be OK for production (110 students) or should one to upgrade to t3a.xlarge (4CPUs and 16G memory)?

Thanks
HN

You should be just fine with a t3/t3a.large instance.

I currently use a t2.large instance with 2 vCPU and 8 GB RAM to support between 60-80 students. I never had any problems, but this production instance is running a Native installation of Open edX, not Tutor.

I am currently configuring and trying Tutor to soon replace this Native installation. Initially I will maintain this same t2.large instance, for the same 60-80 students.

I do not have experience running instances for 100+ students, but I belive that a T3.large (2 CPUs and 8G memory) instance will be fine.

Thank you @abrantesasf & @regis

@regis What about 130,000+ students? (We are currently the largest online University…so I’m asking seriously)

You’ll need a bigger boat.

Lol @htr_ubung! Truer words have never been spoken.

Which university are you? You know, it would be quite easy to scale Tutor. There are several options. I would go for Kubernetes. Another could be to put different docker containers on separate hardware yourself, preferably on a single subnet (that’s what AWS calls it). Docker shares much of the underlying OS (in theory) so just upgrading the hardware could be an option. Many organisations would use more than one server. Some of the Dockerised applications themselves can also be distributed. Mongo uses shards for example. It seems that video streaming would be most bandwidth and processor intensive. I would look at that: try to burst the resource use and see how and where it stalls. There may be some slow scripts or plugins.

1 Like

As @htr_ubung explained, scaling to many students could mean many different things. I could tell you that Tutor and Open edX scale to millions of students – and that would be true, but you would still have to verify that by yourself :sunglasses:

I’ll give you a hint: docker-compose is not meant to scale to multiple servers, so tutor local commands won’t work for you @TimothyJAndrus. You’ll have to look at tutor k8s commands to deploy to Kubernetes, which is a platform that supports horizontal scaling out of the box.

Once you have resolved the horizontal scaling issues, you’ll have to think about scaling your databases (MySQL, MongoDB, Elasticsearch). This is entirely possible but requires some technical investigation.

Don’t blindly trust the hype! Verify things by yourself!

1 Like