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.

Comments

Popular posts from this blog

The beat goes on

Yesterday Apple revealed their long awaited entry into the streaming music field. They were able to do this quickly because of the acquisition of Beats last year, and the systems and intellectual property that came with that purchase. Considering that the music reveal was pretty much the only big news out of a pretty benign developer keynote, I'll take a few moments to talk about what I think about it. Apple was perhaps the defining company in the music revolution of the past 20 years. With the introduction of the iPod that revolutionized portable music, to the creation of the iTunes store and the eventual death of DRM, Apple has been at the forefront of digital music. This leadership comes with high expectations to continue to lead, and so many people have long questioned Apple not getting into the streaming music business quicker. For the past few years new companies have come forth to lead the change in the streaming music evolution. From Pandora and its ability to create un

The Great Experiment

Recently, a tech journalist that I've followed for many years, and who is an Apple fanboy, posted a series talking about why he switched from an iPhone to an Android phone . It's a good read, and worth the time to see why he made the decision he did. Since I have a Verizon Galaxy Nexus sitting on my desk as a Wi-Fi device, I thought, "What the heck, let's give this a go for a week." So for the past week I've shelved my trusty iPhone 5 and have delved deep into the world of stock Android 4.1. So in the spirit of "copying is the sincerest form of flattery" here's my write-up of my experiences with Google's mobile OS. First, I need to make one caveat. After using the Nexus for a week I have to say that I do NOT like this device. It constantly loses 4G signal, and the battery life almost makes it unusable. I could barely make it to lunch before I was at 20-30% battery. So in the spirit of fairness, if I truly wanted to switch full time to Andro

Microsoft Surface Pro 3

So I've been a horrible blog author and have neglected this site for far to long. It's not that I haven't had anything to say, I've just neglected to say it. So with an attempt to get back on the wagon, here's some thoughts on Microsoft's announcement yesterday for it's Surface Pro 3. Despite being a minor Apple fanboy, the most interesting company to watch, in the personal computing space right now, is Microsoft. With the departure of Steve Ballmer, and the rise of Satya Nadella, it has been an interesting 9 months for one of the founding pioneers of personal technology. Many agree that Windows 8 has not lived up to what Microsoft would like it to be. They made a bold attempt to redefine how users interact with their computers, and merge the tablet and desktop experience. However, that experiment, by most accounts, has failed. This is a common pattern for Microsoft however, alternating between a mediocre OS release, and then a stellar one. Therefore, it&#