A daily newsletter on building software products for non-technical founders. Give me two minutes a day, and I’ll help you make technical decisions with confidence.
Yesterday I wrote about the possibility of inadvertently receiving large bills from your Cloud provider. Here are four ways you can avoid this: 1. Budgets All major Cloud providers have functionality around budgets. This covers monitoring spend, alerting, and in some cases capping. In all cases you should set up budget alerts. These allow you to be notified if your spend hits a certain threshold in a given period. For example, you may configure them to alert you when 80% of your expected monthly bill is reached. Generally speaking, budgets do not represent a hard cap on spending - they are just informational. When providers do offer a cap, it's not a simple setting to just enable - it requires customisation in order to make it truly effective. From this perspective, you can only really act defensively and keep track of your spend. 2. Consider smaller providers or dedicated hosting Where AWS provides per-second, or per-unit billing, providers such as Digital Ocean take a more traditional approach and offer services which could experience high load (such as load balancers) at a fixed monthly price per tier. For certain types of applications, a dedicated server may be appropriate The tradeoff may be spending a bit more vs knowing exactly how much your monthly bill will be. 3. Decouple your resource usage from traffic For example, by caching commonly accessed web resources using a fixed-cost service such as CloudFlare or a low-cost service such as Bunny. These services handle the repetitive requests so your actual servers don't have to. (Warning: CloudFlare have been known to demand additional payment for high levels of usage on their fixed-cost plans) 4. Get a system architecture audit This is a huge topic but the basic gist is hiring a professional software engineer to assess your application's architecture with a view on the cost impact of scaling. They will look at how to best assemble your application's components such that the cost of those that may experience highest usage, will be capped or relatively cheap. At the end of the day, every decision will be a tradeoff. The main one being user experience vs cost. |
A daily newsletter on building software products for non-technical founders. Give me two minutes a day, and I’ll help you make technical decisions with confidence.