Have you planned for Scalability in your website? Business?

I see the term "Scalability" used quite a bit but I am not sure anyone really understands what that means.

When you buy a building to start your business, how do you plan for scalability? What happens when you grow, need to hire more people or want to increase manufacturing capacity.

Since most start ups are on a tight budget they buy the cheapest space. So Getting something bigger requires a complete move and starting over again.

If you were smart, you bough a small building on a 2 acre lot and when you grow, you can add onto the existing building. But that would have been more expensive to get started.

The same principle applies to software design and websites. If you want to have them scalable so you can grow, you have to plan for that on day one. Or you might be starting all over again.

I see tons of software packages that are offered online for websites that claim to be scalable and offer unlimited products. But that is almost never true, simply because they were not built to work that way.

So let stalk about some different reasons you might need scalability.

  • More website traffic

  • Seasonal bursts of sales

  • More products to offer

  • Adding interactive pages, video etc

The first is that you simply have more traffic. You need the website to handle more sales and more customers browsing your products.

This can be handled in many cases by adding more servers. If one server can handle 250 people then 2 can handle 500. Easy right?

Wrong!

If you have a static website, lets say like The Huffington Post, where users read what you have, then scalability is as easy as adding servers. Need more, add more. Content is duplicated, load balancing is used to manage traffic between servers and everything is fine.

But what about shopping sites?

This can be more complex if you have limited inventory levels. In those cases, each server will need to use one centralized database to insure you don't sell more than you have.

That means the programming needs to be built in such a manner that multiple servers are used right from the beginning. Obviously, this is more complex, cost more to program and run. So most companies don't do that from the beginning, but it also means they can scale for more traffic.

You might have a business that gets seasonal bursts of traffic. In that case, you only need more resources during the busy season. But you can't just turn on and off programming, it needs to be in place to be used, so you are stuck with a little bigger solution so when that busy season comes, you can stay online.

We all know the stories of the companies that ran Super Bowl commercials and then their websites crashed. The just were not prepared for the traffic.

And while most people think the solution is a simple phone call to your "IT Guy" so he can turn up the capacity, that is just not the case.

Having the correct structure is critical in a scalable enviornment.

It is not likely you will find a solution for $100 that installed in a shared hosting account that will be scalable to hundreds of servers.

Let say you start with 100 products, grow to 1000, then 1,000,000. Do you have a database in place to handle it?

When you get to those numbers and require searches, data lists for browsing, then you need programs and indexes that smaller shopping systems just don't have.

There is no problem running a store with 1000 products on a system that supports 1,000,000 products, but you will never be able to do the opposite.

You also have to consider the system resources needed to run that store at 1000 products. Do you need 5 servers? Do you want to pay for 5 servers?

As you consider scalability you have to look at the time that a system will run. If you need something small for 3 years, then don't build a huge system until you know you need it.

Yes, you will be moving the store, starting over, but in the long term, it makes more sense and gives you more working capital to grow.

Planning for scalability in website design may be critical to your business in the future. If it grows faster than expected, how long will it take to scale?

If you never grow, how much did you waste by having the scalability in case you did grow?

All of these question need to be explored as you figure out what solution will be best for your business.

Lets say you just want to add more, maybe video, tutorials and such and your ecommerce site is maxed out.

That is not a problem because it is static content, it can be run on a different server and delivered to your website or other websites. You can add as many servers as we mentioned and load balancing to manage the traffic.

It is when you have programming at the core of your website. That is the real problem.

Lets say you have a 2 car garage, but you now have 4 cars. What do you do?

You can rent a garage someplace else, but then the cars are not accessible. You have to drive to the other garage and trade one car for the other.

If you need one of the cars in the other garage, you have to go get it. It is just not convenient. It takes time and resources.

If you run a half of a store on one server and then the other half on another server users will have to check out 2 times to buy what they need. Again, not at all convenient.

So you need programming that can bring that all together so the user never realizes that were on 2 separate servers.

This is usually planned for in the initial programming. And no system is fully scalable, you can't make a fully dynamic system that can grow to the moon just by plugging in new modules. All systems have limits and big companies have massive systems in place.

I am sure ebay would love it if they could just plug in new servers when they need more capacity, but it is not that simple. They can't go out and buy a $100 ebay script online and just scale it up to what they have now.

There is a reason why companies spend $100 million to build a website and then go out of business. Because it is expensive to build something that can scale and even then, it can only scale to what they originally planned for.

As I said, some business models do allow for full scalability. Sites like CNN.com who deliver static content can scale in minutes if they add more servers. That gives them the ability to bring up new banks of servers during big new periods like wars and elections while keeping servers offline for low traffic periods.

And even with limited applications, if one user is on each content server send messages, post items of uses forms, they will communicate with a back end that was designed to manage all of those requests.

But sites like ebay, can't do that because they have millions of unique products, so they need servers online all the time to manage the diversity of pages they deliver.

System like ebay can load balance because they have people looking at different products. You can be bidding on one product and not be on the same server as someone bidding on another.

Again, it is all based on the business and the planning that was done as the software was created.

Unfortunately, too many people think this is all easy. They post ads on craigslist asking for an expert that can build a scalable website like ebay for $200.

The worst part is they get people that offer to do it.

Then everyone believes they have a scalable website.

It really comes down to a few simple facts.

  • CPUs can process limited data

  • Hard drives can deliver limited data

  • Memory can store limited data

  • Webservers have limited connections

Everything comes with a limit.

If you have a 1 Ton pickup truck you can mover 1 ton of bricks, 2 trucks can mover 2 tons and so on. But if you have 1 guy loading the bricks, it wont matter how many trucks you have, the bricks are being loaded one at a time with 20 trucks waiting in line to be loaded.

This is a basic principle to understand. To make it work, you need a warehouse, forklifts and drivers to make those trucks more efficient. You need support staff, accountants and managers too keep it all running.

When you plan your website, you have to consider the same problems. One hard drive can only deliver so much data. So if you need to share data how do you do that? How do you get all of these servers to work together to make your website run efficiently?

Take a good look at your plan before starting. Talk to some experts, and not the student you hired on craigslist. Learn what your actual scalability is and what it will cost to grow.

Do it now and not when you actually realize you need it, by then it might be too late.

 

 

©1997 - 2021 Bumblebee Works & The Cyber Web Inc
pageBuzz.com is a subdivision of BumbleBee Works
Web Hosting
pageBuzz® and pageBuzz.com® are registered trademarks of The Cyber Web Inc