Twitter generates about eight terabytes of data a day. That’s a lot of data for one application. Some SaaS companies might look at that number and think that they’ll never need to handle that much data, or if they did, it would take far more infrastructure and server hardware than they could afford to maintain.
In both cases, they might be wrong.
Any SaaS business can handle as much data as Twitter and many can do it on only a handful of servers. It’s all a matter of understanding your data and planning your technology investments to be as scalable as possible. Sounds easy enough. So where do you begin?1. Plan to Scale, Even in the Beginning
It may sound like premature optimization, but planning to scale is really just basic business strategy. Ask a few of these questions: How many people will realistically use the application in the next 6 to 12 months? What kind of data do you plan on creating or storing on their behalf? How long can all your customers “fit” on one server? What can you do when you have more customers or more data than that?
Take into account past growth patterns and expected growth rate and begin to determine the potential technological limits you’ll encounter. It’s also important to have mechanisms in place for unexpected growth. Think of it like an accounting process: When will infrastructure expenses outweigh the income? Planning to scale isn’t just about building the technology to accommodate growth. It’s also about informing business decisions.
Having a rough strategy for future growth will help you design your application and the infrastructure to operate it. You don’t need to build out all scaling capability at the start, but also don’t assume that the cloud will just scale by itself. You should keep some practicable ideas in the back of your mind for when the times comes.2. Understand Your Data
Many fast growing SaaS companies feel like they’re just moments away from being buried under a mountain of data streaming in from their customers. There are so many ways to provide access to data, but you’re not quite sure how to weed through it all.
The key is to pay close attention to how users are actually accessing the data. For the majority of popular use cases, there is probably a much smaller set of data to care about. Understanding the most likely use cases for your application makes it easier to create and optimize a data handling strategy that will allow you scale.3. Keep it Simple
Technology fads come and go. Every few months you hear about some new type of database or application framework that promises to magically shorten your development time or increase your scalability. The best technology, however, is the one you already know.
While many of these new tools offer great speed and functionality, they often lack experience with some of the more “boring” aspects of data handling such as redundancy, replication or failover, for instance. By keeping things simple and using technologies that you know, it becomes easier to respond to changes in the business and new demands on the application.
At the heart of planning for scale is understanding where you are in the arc of your business. Business growth goes hand-in-hand with technology growth. The more tuned in you are to demands on your business, the easier it will be to adjust and scale your application.