Question

Which plan should I choose for an API of 30k daily users?

Posted February 10, 2021 217 views
DockerKubernetesDigitalOcean App Platform

Good Evening!, well it’s my first experience developing at the backend, my API is almost ready, but at the moment I don’t know which plan of the wide catalogue of DigitalOcean should I choose.

The API will be mainly consumed by a suite of mobile apps,the user’s mobile app is kind of like Uber Eats, so it will load product information, categories, pictures, opinions and that stuff that is some light. But in the part of track where your delivery-man it will require to do a lot of petitions every few seconds.

That’s the information that I have, I don’t even know how RAM or CPU it could use. Knowing that, I would like to know which DigitalOcean plan is just for me.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

@vicrenlopez First, you’ll need to determine the memory and CPU required for your service. One can use top or htop to determine this information.

Second, if you’re using Docker and Kubernetes, you can use a tool like wrk, Locust, Loader, or other to perform load testing of your API endpoint. Thus, you can test with a load of 1K, 5K, and so on until you reach your desired value of 30K. Please do allow each test to run for about ~10 minutes.

Finally, you can use the prior data to determine what DO resources you’ll need for your production deployment. Furthermore, I would recommend taking a look into DO auto-scaler (i.e. auto create/delete a node based on overall memory and CPU). Also, I recommend setting requests and limits for the CPU and memory within your K8s deployment resource manifest. Why? The auto-scaler will use this information to determine when to create/delete a node.

Well, I wish that the above information is helpful to you and I wish you all the best.

Think different and code well,

-Conrad