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

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.

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

@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,