Every app needs hosting, and hosting can either be your best friend or your worst enemy. For those curious about what “hosting” is, click here for some good info.
Hosting only really becomes important when your app starts to become successful. If you haven’t been planning for success from the beginning, then you could end up hamstrung by the inability to scale (handle the sudden growth), or looking at a huge bill because you can’t scale efficiently. I’ve had a couple conversations with clients recently about hosting, and I thought I’d share some of our philosophy on hosting:
We hate wasting resources, so everything we build is as efficient as we can make it. And we are always looking for ways to make things faster and more stable and more efficient. During development, we keep the hosting as small and slow as we can so that even small inefficiencies make themselves visible.
We also hate if our products are not as fast as they could be. So, during the testing and public release, we closely monitor the server load in our hosting setup and make sure that we’ve got plenty of extra capacity for the foreseeable future. We don’t want the app to be dragging just when it starts to gain traction.
This does not mean that something unexpected won’t happen. Every Black Friday, several huge international corporations’ websites go down because they were blitzed in an unexpected way by shoppers. Even for a corporation with billions of dollars sitting around, there is no silver bullet to prevent this from happening. In this industry, if you’re good, you do the amount of stress testing and analysis that strikes a balance between the cost of testing and the risk of failure. That balance is different for every app, and so are the ways an app might fail.
There are two main things we do to minimize the risk of your app crashing due to overload:
We always err on the side of caution and redundancy by paying a little more than is probably necessary for hosting. This doesn’t mean that we guarantee our apps will never go down (whoever does is lying to you). It means that when viewing risks vs costs in the light of our expertise, we help you pick the right solution and level of service.
The other thing we bring to the table when it comes to hosting is structuring your app in such a way that it can easily and quickly scale with demand, from the very beginning. We break apps into multiple pieces so that one piece’s failure won’t bring down the entire system, and we can increase the resources or power on individual pieces as needed. This keeps costs down, makes scaling up the resources much, much faster, and ultimately provides more reliability to the end user.
While hosting can be your worst enemy, we enjoy helping our clients become best friends with their hosting solution. When you ultimately need good hosting and infrastructure is when things are starting to pick up and you’re starting to see success. And that’s when we really enjoy coming to work.