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

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 uniqu…

Push it... push it real good...

The other day I got a chance to play with the new Apple force touch trackpad. This is a new design that Apple has put on their laptops for non-mechanized clicking on trackpad. When you press on the trackpad it senses the force that you're pressing with, and when you reach a certain level, you feel a 'click'. If you keep pressing, you feel a second 'click'. The unique thing is that these 'clicks' aren't physical in nature. The trackpad never moves at all, but the click that you feel is from haptic feedback. In essence, when you press with enough force, the trackpad clicks back at you. You feel the sensation of clicking, but it's simply the trackpad responding to your pressure.

I got to play with this for a while, since the Apple Store rep was talking with us about soccer, and after a short bit I was getting the hang of it. I feel that it would take quite a bit longer though to really feel comfortable with this new paradigm. I'm someone who has a …

Oh Instant Messaging, I hardly knew you

For many years, I've been a big fan of Instant Messaging as a way to communicate with friends, especially those in other parts of the country. Sure e-mail works, but if you want to have a conversation with someone immediately, with a lot of back and forth, IM was the way to go. I jumped on the IM bandwagon all the way back in the ICQ days (and no, I don't remember my number). Followed by a bunch of years maintaining multiple protocols at the 'Big 3' at the time; AOL Instant Messaging (AIM), MSN Messenger and Yahoo Messenger. Many of us recall the years of running three different clients on our desktop at all times, because all of our friends used different systems. Thankfully, it wasn't too long before multi-protocol clients came into play and we could start to consolidate.

Google was a late comer to the market, but it's GTalk Instant Messenger caught on fast. It was slim and trim and since GMail was the rage, everyone had a log-in. Slowly, over the course of 5…