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

CES 2013

This past week was a big week for the tech industry, with the holding of the Consumer Electronics Show 2013. Recent years have been a bit 'meh', but this year really had some interesting tech show up. In particular the theme seemed to be changes coming to our living room TV's. Much of what we saw this year revolved around ways to get entertainment to our TV's with set top boxes that tie into other services, or all new TV technology like 4k (Ultra High Defenition). Personally, I'm less excited about UHD, since I just bought a new TV, and am quite happy with it. Plus, I don't think we have the internet bandwidth for UHD content yet. The really cool advances are less technological for me, but structural. One of the things I love about internet delivered entertainment, is the ability to control what you watch a LOT more than the old days of flipping cable channels. I love the idea of discovering a new show, downloading an entire season and devouring it as quickl