Architecting Systems for Massive Scale

Categories
Jul 2018
comment-big-icon.png   0
Share
Author : Pete Peranzo
Architecting-Systems.png

YouTube started with one video. Dropbox started with one server. Your company, too, can start small. But are you ready in case you need to scale up massively?

Hundreds of small and mid-size companies haven’t grown much, while others have gone out of business. You do not hear their stories because somewhere along the way they began to ignore the necessary preparations to make their business grow quickly.

The problem those owners probably realized: scaling requires resources and speed. Managing both together is not easy — even when you’re fully prepared (and most people aren’t.)

What Does it Mean to Scale?

Scaling and growth are not the same things. Growth means adding resources so that you can manage additional sources of revenue. During periods of growth, you are hiring more team members or buying more equipment. Scaling your company means growing, but growing without a massive increase in cost so that your profits swell. The idea is to upgrade what you’ve got to keep doing the same thing faster and better.

As one blogger put it, “A company that has the capability of scaling up can manage its own growth when the time comes because it has the infrastructure in place to do so.” For example, as you add employees, you’ll need to have the infrastructure in place, such as an employee handbook and vacation policies.

Scaling your technology is not far different from scaling the company itself. Do you have the infrastructure you need in place before it happens? Most companies don’t go from a few hundred customers to a few million overnight. Instead, your company should prepare for a steady stream of growth. Yet, many company managers don’t prepare for it — even though one assumes that’s the goal.

The key is to think about scaling from day one, whether day one is just you and your friend starting a company or today with your team of 324 people.

Scale Your Technology By Building it Right

Putting all the pieces in place isn’t always easy, but that’s the first step to getting it right. Here are some ways to prepare for scaling early:

  1. Avoid monolithic architecture. Monolithic architecture means the UI layer, logic layer, and database layer all reside in one server. While this might seem OK at first for a small program or set up, it’s going to cause problems later as you scale. Put in place a structure
  2. Build systems that can scale by duplication. That means your technology can go from 100 to 100 million merely by launching more servers or databases (or both) without changing the code. For example, developers will create the same website on several servers and use a load balancer to manage traffic. Learn more about the ways you can scale software. {link to post: Scalability: How to Infinitely Scale Software}
  3. Separate functionality. Separate the function of your website from processes taking place there. Dropbox did this early on as they scaled, making certain upload and download functions were separate.
  4. Think ahead in the cloud. Cloud storage is easily expandable, and providers offer auto-scaling features and other tools to help. However, the trick is to understand how to scale most cost-effectively. The deal you sign with a cloud storage provider at the beginning may not match your future requirements. People are often charged for going over their finite amount of storage space or bandwidth.
  5. Consider AI early on. If you’re generating a lot of customer data or handle customer requests, shop around for some AI options. AI can help you analyze the data, ensuring your team focuses on your customers’ needs and wants and AI tools such as chatbots can take a load off your customer support team without the need for additional staff.
  6. Add IoT. Businesses are starting to add IoT to a lot of their work, and chances are, your company can benefit. While implementing such solutions may seem overwhelming, if you start early and small, you’ll find it easy to add on as needed. Plus, with IoT in place at the start, you’ll be able to scale at times when others might hire new team members.

Talk to us about setting up your technology to scale.

 

Write your comments

Your email address will not be published. Required fields are marked *