Skip to main content

The HiSSS of Infrastructure - Part 1

Over the course of my career, I've come to specialize more on a portion of Information Technology called infrastructure. Namely, the underlying support systems that allow all of the cool internet based services we know and love, to flourish and operate without a second thought. These support systems consist not only of physical hardware, such as servers, switches, routers, storage arrays, and so on, but also of the support software that drives these physical systems. Often that includes things such as application servers, proxy servers, network device operating systems, and various shared applications such as e-mail, messaging, and workflow management. Although in the case of most shared software, a team outside of infrastructure manages the application from a user perspective, infrastructure often takes the lead in managing upgrades, software patches, and physical implementation design.

The method that is used to manage these types of systems are varied, and depend greatly on the situation as well as personal philosophy. As a liberal arts technologist, the 'philosophy' behind how you do something has great value to me, so I'm going to spend some blog posts outlining my philosophy of infrastructure management. In that same liberal arts vein, I've come up with an acronym for my philosophy which I call the HiSSS of infrastructure.
  • Highly Available
  • Stable
  • Scalable
  • Secure
In this first installment, we're going to talk about High Availability. Simply put, in non-technical terms, a system is highly available if it is always available when it is expected to be. High availability doesn't just apply to large infrastructures, but to things in our everyday life. We expect our cars, alarm clocks, refrigerators, air conditioners, etc., to all be highly available. We want them to be running when we expect them to be running, without question. Just like when our air conditioner suddenly refuses to fire up at the start of summer, we get just as upset when our computer systems, such as Facebook, e-mail, or Google, suddenly disappear. We have a high expectation of when we want these systems available for our use, so lots of smart people, spend a lot of time and money to make sure that these infrastructures are highly available. 

So how are systems made highly available? One of the most common methods in infrastructure management is called redundancy. Very simply, you never have just one piece of hardware doing a single function. You always duplicate things, so that if one piece of hardware or software malfunctions, you can seamlessly switch over to another system. Unlike our houses where we don't have multiple washing machines, or multiple furnaces, most infrastructures are built on the basic premise that redundancy will be built in to every single facet of the system. You never want to have one single point of failure if at all possible. Redundancy is such a basic fact of infrastructure management that it gets applied down to the level of multiple power supplies, multiple network interfaces, and so on, inside a single piece of server hardware. 

Although having perfect redundancy is great, there are times when systems have to be brought down for various reasons. Hardware maintenance as well as software upgrades are one example of situations where a system might be removed from a highly available pool. Another aspect of infrastructure management and high availability goes beyond physical hardware, to developing a set of policies and procedures to ensure that when a system is taken out of service, it isn't noticed. Being 'invisible' is another key factor in high availability. A primary motivator in any infrastructure management plan is to never be seen unless you have to be.

At one employer, we utilized a system of multiple independent application servers to achieve invisibility. Since we had 3-4 machines serving the public at any one time, we could pull one out of service for a hardware or software upgrade, and then rotate it back in to service when it was completed, continuing the process for all the systems in the pool. This allowed us to do even large software upgrades with almost no disruption to the end users. That meant better service to the customers, and happier management.

A sister concept to invisibility is the notion of segmentation. One of the reasons that we were able to maintain such invisibility, was because we could often pull out and replace just small portions of the systems at a time. By choosing to modularize many of our systems, it allowed for upgrades that were often small and very isolated to one single function of the system. This type of segmentation doesn't always come cheap, and takes a very strong architectural design to implement, both from an infrastructure perspective as well as an application development one. However, with good segmentation most of a system can survive upgrades and maintenance without even notices things going on in other portions.

Being highly available, with it's goals of redundancy, invisibility, and segmentation means that concepts such as Continuous Deployment and other Agile development and business methodologies are able to happen much, much easier. Many shops talk about wanting to move in these new directions, but many times you need to first establish a solid foundation before you can build the mansion. High availability is one pillar in that foundation.

Popular posts from this blog

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 …

Hack! Slash! Burn! Crush!!

The big tech news story of the weekend was the hacked account of Mat Honan. As documented in his posting on Wired.com, in the space of a few hours his digital life was in shambles. And as much as we always talk about strong passwords, etc., this was not a case of password failure. It was a case that shows just how our desire for on-demand, cloud based services that are convenient can come back to haunt us.

I highly suggest you go read all 4 pages of the article, but the quick summary is that a hacker wanted control of Mr. Honan's Twitter account. In order to get it, they started with basic social scouting, and proceeded to use all of the built-in tools of Google, Amazon and Apple to gain access to his accounts without ever needing to crack a single password. At Google they discovered what his Apple ID e-mail address was when they did a simple "Forgot my password" query. Then at Amazon, they called up customer service and game'd the system to get access to the last 4 …

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…