Now that your application is running at peak performance and you’ve decided that it’s time to scale, let’s talk about the right setup.
The modern age has brought us lots of new ways to take a growing site and scale it. From Amazon Web Services to cloud computing and grid computing, to Mosso and Akamai, there are lots of options we should consider. This article won’t make a recommendation as to which you should pick; it will simply discuss what each service has to offer and leave it up to you.
Now that we know we want to scale our application, we first need to make sure it’s running at peak performance. There are a number of things that we can and must do in order to ensure that the newly scaled application uses resources appropriately, runs efficiently, and, most importantly, does not require excessive resources which will amount to extra costs.
The intuitive will note that many if not most of these suggestions are performance enhancements, not scaling techniques. Why then are they in an series about scaling? Scaling is about more than just adding hardware. It’s also about making sure your system runs better. You can add lots and lots of hardware but you will someday be unable to compensate for bad queries and poor optimization. So before we start adding servers, let’s take a look under the hood.
Before we actually get started hacking on our code, let’s make sure we’ve got the right questions asked and answered. We’re going to need some resources, the help of others in our organization, and probably some understanding of the current system structure before we’re successful in our goal.
Some of these questions may seem mundane, and others will be extremely important. But we must ask and receive answers to all of them, so let’s get started.