How to build a scalable small business lab/environment…

Let’s start off with these simple focus points.

    1. What is scalable to you?
    2. What is your budget for your criteria?
    3. Who plans to use it?
    4. How easy/convenient do you want it to be?

There are more questions you can ask yourself, but it will be more catered to customizing usually.

Let’s start with what scalable means (or should mean) to you.

1. What the heck does being scalable have to do with me?

When I have discussed scalable environments it usually means that you can either scale out quickly or handle user facing failures without much downtime.

What this should mean to you?

If you want to have an environment that you can take to a selling point you need to be able to convince most importantly yourself that the environment is stable, because stable may not always be scalable, but scalable always has to be stable.

Let’s move on to budget.

2. How does my budget affect my environment?

Usually it doesn’t for a lab especially if you are just sampling open source projects, but it usually does for larger facing projects like collaboration environments or with larger scaled teams, but let’s focus on one particular goal, can your environment be scaled out?

If you have a web server, a database server, and a user directory service; and they all are housed in the same unit/appliance, it is not scalable. You have one single point of failure, and most certainly will face downtime during your failure incident.

What you could do to resolve this is to use virtualization with templates.

What does that even mean?

It means that you use your physical server to run virtual computers that serve those services to your users, and as long as redundant storage is used, can bring up your virtual box on a new computer nearly instantly during your failure incident, this is one example of being scalable.

The price point for this becomes a fraction of cost for every virtual machine you can successfully run on your physical hardware.

Let’s move on to to your expected user-base.

3. Why should I care who uses this lab/environment?

Well for starters, if you are a low-profile user that doesn’t expect much and everything always is good enough, then this doesn’t concern you and you can easily move on to determining the complexity of your environment, because remember, only you are using it.

But what if your user base is not just you, what if it’s 100+ people. Well that’s a lot more, and a lot more people to remind you how much they hate whatever system you put them in front of. Which if you haven’t dealt with yet, is more traumatizing then the research and development of the actual product.

While this may sound daunting, it won’t be as long as you maintain your goals throughout this initiative.

The most important thing to consider during the complexity phase of planning is to recognize that the more difficult you make it for yourself, at ~02:00 you will be kicking yourself begging why couldn’t you just make it easier.

So that about raps up the convenience section.

Hopefully after reading this, you will understand some basic tricks to make an environment scalable as well as stable.

Thanks for reading.

Leave a Reply