Skip to main content

The HiSSS of Infrastructure - Part 3

We've arrived at the second 'S' in the HiSSS infrastructure philosophy, and that S is for Scalability, which interestingly isn't even a real word according to my spell check. However, mangling the English language is pretty second nature for people in the information technology field, so we can all be forgiven for yet another faux pas.

Scalability, simply put, is the ability for a system to grow as it's needs increase. Although this sounds like a simple concept, it actually is incredibly hard to achieve. When a software developer, or a systems engineer, sits down to design an application or build a host, they're usually most concerned with how they're going to accomplish their immediate needs. The idea of how they can grow their system to infinity is often something that gets considered later in a design cycle. Some shops are much better than others at considering scalability, but often times the answer is tossed back in infrastructure's lap as "deploy more hardware."

Despite being snarky in my comment, deploying more hardware is often a crucial part of increasing the growth potential of an application. The difficulty comes in determining the best, and most customer friendly way to implement added capacity. Simply adding another application server to a product sometimes doesn't have the full effect that was hoped for, and unless planning is done, the additional hardware can end up being under-utilized. So the first concept in scalability is being able to do smart-management of a systems capacity.

Infrastructure needs to be concerned not just with how many boxes that are running, but how work is being divided between the resources. Having a cluster of 10 machines does little good, if you don't have a traffic cop that spreads the work around to more than 4 or 5 of them. Smart-management takes a best practices approach to analyzing the best method for spreading work around. Sometimes that's a queue method, where a system stores up work to do, and then the nodes ask for work as their ready. Another common method is a simple round-robin, where work is handed out in sequential order to each system as it comes in. These are examples of any number of methods that can be deployed for smart-management.

This type of management is also often helped by utilizing open, documented, and proven standards. Very often others have already solved the problems that you're looking to solve. Or there are standards that are in place, that allow you to plug your needs into an established paradigm. So it's important that infrastructure builds on the work of others and embraces standards, especially open ones that usually have an entire community built around them.

Of course all of this work is pointless if you don't have good metrics. System interrogation is a crucial component to scalability. Beyond just simple monitoring of a system, interrogation allows you to see the 'how' and 'why' of your system's operations. For many applications and systems this involves a tool like Splunk that indexes log files and other recorded data, and then gives the ability to search, graph and analyze that data in many different ways. Being armed with data about how a system is performing, not just in a moment-by-moment monitoring and alerting fashion, but over the course of a period of time, is key to the idea of capacity management and scalability. After all, you don't know where to add more space until you know where to add more space ;-).

Scalability is one of those infrastructure concepts that is sometimes hard to implement well, and it's not very "flashy", even in the decidedly un-flashy field of infrastructure. But being able to grow an infrastructure to meet business needs means more customers, and depending on the business, more money and revenue for the company. Even for those organizations that are not profit driven, being able to handle interacting with more of your users is never a bad thing.


Popular posts from this blog

I love typing on my iPad

Ok, before you think I've gone crazy and suddenly believe I like smacking away at a non-responsive touch-screen, let me clarify that title... "I love typing on my bluetooth keyboard on my iPad." Like many people, I took the plunge and got a wireless keyboard for my iPad, because for any serious typing work, you really can't beat the smooth responsiveness of the Apple Wireless keyboard. But, just to clarify things further, it's not the bluetooth keyboard that is the reason I love typing on my iPad. Let's correct that title one more time... "I love writing on my bluetooth keyboard on my iPad." There we go, that's better, and it gets to the heart of what I wanted to share in this post. I'm going to make a bold statement, which I'm sure tons of people will find issue with, but here is it. The iPad is a perfect writing tool. Ya, that's right. I just said that a small 10 inch device that you need to purchase an additional keyboard for

I don't have a wood shop...

It's been a few weeks since my last entry on this site, and there's been a good reason. No, it's not because there hasn't been anything interesting to write about, I certainly didn't take advantage of many good opportunities to write about tech news. It has been for a simple, somewhat silly reason. The new Warcraft expansion launched. I hear the groans now, all the way through the ether. People screaming "Oh no... he's one of THEM!" Well, sorry to disappoint, but yes, I am "one of them". But, some clarification is in order. I don't abandon my family to play WoW, I get my work done, I don't call in sick, etc., etc.,. However, it does bring up an interesting new phenomenon in our modern society. Gaming as a hobby. It's long been a staple of adult life to fill our time with hobbies and pastimes that give us something to do beyond work, but yet challenge us a bit mentally or physically. Video gaming has been around only a few deca

Where in the world am I?

This week saw the launch of iOS6, the latest in Apple's mobile operating system iterations. For the most part, it's been a decent incremental upgrade, with lots of new little tweaks, such as Facebook integration, and the ability to update applications without inputing a password. However, the big feature that's been getting all the press is the new mapping app. In Apple's bid to rid themselves of Google "taint", they decided to make their own mapping service, but I think it's become very apparent, that it's not as easy as it looks. Many places are mis-located, or labels are wrong (especially internationally), causing no end to the hilarity of people posting screenshots of mistakes. There's a reason why Google Maps is king, and it's based on why my friend Wes so aptly put forth, that Google is a data company, and Apple is not (yet). Providing good mapping data requires good... well... data. Google has it. Apple, and other competitors don't