Category Archives: Business of IT

The Desktop Revolution Is Upon Us

With the pending end of support for Windows XP looming just around the proverbial corner, it is time to take stock of the desktop landscape and make hard decisions. Windows XP has dominated the desktop landscape in both home and business for more than a decade. Sure Windows 7, and to some small degree Windows 8, have widely replaced it, there is still a huge Windows XP install base and many companies have failed to define their long term strategy in the post-XP world and are still floundering to find their footing.

A little context is, I feel, pretty important. Today it may seem a foregone conclusion that Microsoft will “own” the business desktop space with Mac OSX fighting for a little piece of the action that Microsoft barely notices. This status quo has been in place for a very long time – longer than the typical memory of an industry that experiences such a high degree of change. But things have not actually been this way for so long.

Let’s look instead to the landscape of 1995. Microsoft had a powerful home user product, Windows 95, and were beginning to be taken seriously in the business space. But their place there, outside of DOS, was relatively new and Windows 3.11 remained their primary product. Microsoft had strong competition from many fronts including Mac OS and OS/2 plus many smaller niche players. UNIX was making itself known in high end workstations. Linux existed by had not yet entered the business lexicon.

The Microsoft business desktop revolution happened in 1996 with the landmark release of Windows NT 4.0 Workstation. Windows NT 4 was such a dramatic improvement in the desktop experience, architecture, stability and networking capability that it almost instantly redefined the industry. It was Windows NT 4 that created the momentum that made Microsoft ubiquitous in the workplace. It was NT 4 that defined much of what we think of as modern computing. NT 4 displaced all other competitors relegating Mac OS to the most niche of positions and effectively, completely eliminating OS/2 and many other products. It was in the NT 4 era that the concept of the Microsoft Certified Professional and the MCSE began and where much of the corpus of rote knowledge of the industry was created. NT 4 introduced us to pure 32-bit computing in the x86 architectural space. It was the first mainstream operating system built with the focus being on being networked.

Windows NT 4 grew from interesting newcomer to dominate the desktop space between 1996 and 2001. In the interim Windows 2000 Pro was released but, like Vista, this was really a sidelined and marginalized technology preview that did little to displace the incumbent desktop product. It was not until 2001, with the release of Windows XP, that Windows NT 4 had a worthy successor. A product of extreme stability with enough new features and additional gloss to warrant a wide-spread move from the old platform to the new. NT 4 would linger on for many more years but would slowly fade away as users demanded newer features and access to newer hardware.

Windows NT 4 and Windows XP had a lot in common. Both were designed around stability and usability, not as platforms for introducing broad change to the OS itself. Both were incremental improvements over what was already available. Both received more large scale updates (Service Packs in Microsoft terms) than other OSes before and after them with NT 4 having seven (or even eight depending on how you count them) and XP having three. Each was the key vanguard of a new processor architecture, NT 4 with the 32bit x86 platform and XP being the first to have an option for the 64bit AMD64 architecture. Both were the terminal releases of their major kernel version. Windows NT 4 and Windows XP together held unique places in the desktop ecosystem with penetration numbers that might never be seen again by any product in that category.

After nearly eighteen years, that dominance is waning. Windows 7 is a worthy successor to the crown but it failed to achieve the same iconic status as Windows XP and it was rapidly followed by the dramatically changed Windows 8 and now Windows 8.1 both built on the same fundamental kernel as Windows 7 (and Vista too.)

The field is different today. Mobile devices; phones, tablets and the like; have introduced us to new operating system options and paradigms. The desktop platform is not a foregone conclusion as the business platform of choice. Nor is the Intel/AMD processor architecture a given as ARM has begun to make serious inroads and looks to be a major player in every space where Intel and AMD have held sway these last two decades.

This puts businesses into the position of needing to decide how they will focus their end user support energy in the coming years. There are numerous strategies to be considered.
The obvious approaches, those that I assume nearly all businesses will take if for no other reason than to maintain status quo, is to either settle into a “wait and see” plan that involves implementing Windows 7 today and hoping that the new interface and style of Windows 8 goes away or that they will find an alternative between now and when Windows 7 support ends. This strategy suffers from focusing on the past and triggering an earlier than necessary upgrade cycle down the road while leaving businesses behind on technology today. Not a strategy that I would generally recommend but very likely the most common strategy as it allows for the least “pain today” – a common trend in IT. Going with Windows 7 represents an accumulation of technical debt.

Those businesses willing to really embrace the Microsoft ecosystem will look to move to Windows 8 and 8.1 to get the latest features, greatest code maturity and to have the longest support cycle available to them. This, I feel, is more forward thinking and embraces some low threshold pain today in order to experience productivity gains tomorrow. This is, in my opinion, the best investment strategy for companies that truly wish to stick with the Microsoft ecosystem.

However, outside of the Microsoft world, other options are now open to us that, realistically, were not available when Windows NT 4 released. Most obvious is Apple’s Mac OSX Mavericks. Apple knows that Microsoft is especially vulnerable in 2014 with Windows XP support ending and users fearing the changes of Windows 8 and is being very aggressive in their technical strategy both on the hardware side with the release of a dramatic new desktop device – the black, cylindrical Mac Pro – and the free release (for those on Apple’s hardware, of course) of Mac OSX 10.9. They are pushing hard to get non-Mac users interested in their platform and to get existing users updated and using the latest features. Apple has made huge inroads into Windows territory over the last several years and they know full well that 2014 is they biggest opportunity to take a sizable market chunk all at once. Apple has made their Mac platform a serious contender in the office desktop space and is worth serious consideration. More and more companies are either adding Macs to their strategy or switching to Mac altogether.

The other big player in the room is, of course, Linux. It is easy to make the proclamation that 2014 will be the “Year of the Linux Desktop” which, of course, it is not. However, Linux is a powerful, mature option for the business desktop and with the industry’s steady move to enterprise web-based applications the previous prohibitions against Linux have significantly faded. Linux is a strong contender today if you can get it in the door. Cost effective and easy to support Linux’s armor’s chink is the large number of confusing distros and desktop options. Linux is hardly going to take the desktop world by storm but the next five months do offer one of the best time periods to demo and trial some Linux options to see if they are viable in your business. In preparation for the likely market surge that Linux will feel most of the key Linux desktop players, Suse, Ubuntu and Mint, have released big updates in the last several weeks giving those looking to discover Linux for the first time (or for the first time in a long time) something especially tempting to discover. The Mint project has especially taken the bull by the horns in recent years and introduced the Mate and Cinnamon desktops which are especially appealing to users looking for a Windows 7-esque desktop experience with a forward looking agenda.

Also in the Linux family but decidedly its own animal, Google’s ChromeOS is an interesting consideration for a company interested in a change. ChromeOS is, most likely, the most niche of the desktop options but a very special one. ChromeOS takes the tack that a business can run completely via web interfaces with all applications being written to be accessed in this manner. And indeed, many businesses are approaching this point today but few have made it completely. ChromeOS requires a dramatic rethinking of security and application architectures for a normal business and so will not be seeing heavy adoption but for those unique businesses capable of leveraging it, it can be a powerful and extremely cost effective option.

Of course, an entire new category of options has appeared in recent years as well – the mobile platforms. These existed when Windows XP released but they were not ready to, in any way, replace existing desktops. But during the Windows XP era the mobile platforms grew significantly in computational power and the operating systems that power them, predominantly Apple iOS and Google Android, have come into existence and become the most important players in the end user device space.

iOS and Android, and to a lesser extent Windows Phone and Windows RT, have reinvented the mobile platform into a key communications, productivity and entertainment platform rivaling the traditional desktop. Larger mobile devices, such as the iPad, are widely displacing laptops in many places and, while different, often provide overlapping functionality. It is becoming more and more common to see an iOS or Android device being used for non-intensive computing applications that traditionally belonged to desktop or laptop devices. Mobile platforms are hard to imagine being able to be the sole computing platform of a business over the next few years but it is possible that we will see this begin to happen in fringe case businesses during this product cycle.

Of course, any talk of the desktop future must take into account changes not just in products but in architectures. Marketing around VDI (Virtual Desktop Infrastructure) has propelled virtualized and centralized computing architectures into the forefront and with the the concept of hosted or “cloud” desktop offerings (including Desktop as a Service.) While still nascent the category of “pay by the hour” utility desktop computing will likely grow over the next several years.

Of course, with so many changes coming there is a different problem that will be facing businesses. For the past two decades just about any business could safely assume that nearly all of its employees would have a Windows computer at home where they would become accustomed to any current interface and possibly much of the software that they would use on a day to day basis. But this has changed. Increasingly iOS and Android are the only devices that people have at home and for those with traditional computers keeping current Windows is less and less common while Mac OSX and Linux are on the rise. One of the key driving forces making Windows cost effective, that is a lack of training necessary, may swing from being in its favor to working actively against it.

Perhaps the biggest change that I anticipate in the next desktop cycle is not that of a new desktop choice but of a move to more heterogeneous desktop networks where many different OSes, processor architectures and deployment styles co-exist. As BYOD proliferates and support of different device types becomes necessary and as user experience changes and business apps move to web platforms the advantages of a disparate “choose the device for the task or user” strategy will become more and more common. Businesses will be free to explore their options and choose more freely based on their unique needs.

The era of desktop lock-in are over. Whether because of market momentum or existing user experience or application limitations – the reasons that kept business tightly coupled to the Windows platform are fading quickly. The future offers a landscape of choices both in what we deploy but also in how we deploy it.

Contract to Hire

There are so many horrible hiring practices commonly used today one hardly knows where to begin. One of the most obviously poor is the concept of “Contract to Hire” positions.  The concept is simple: You hire someone on a temporary contract and, if all things work out well, you hire them on as a full time employee.  The idea being that the firm can “test drive” the employee for six months and make a sound hiring decision.  Maybe on the surface this feels like a huge win for the employer and the employee, of course, gets to test drive the employer.

But if we look at the idea from an employee’s perspective the misguided nature of this approach becomes very obvious.

There are essentially two types of workers: consultants and traditional employees.  At least people who desire to be one or the other.  Consulting is a unique way of working and a certain percentage of professionals prefer it.  Most workers want to be employees with all of the stability and benefits that that implies.  Very few people desire to be consultants.  It is a very high stress way to work.  This doesn’t mean that people don’t change over time, it is common for young professionals to like consultant work and desire to change to full employment at some later point in their careers.

The description above shows the problem with the contract to hire approach.  Which person do you hire?  The thought is that you will hire the later, the person wanting to be a long term employee with good stability and benefits who seeks out the contract to hire position in the hopes of becoming an employee.  One problem there, however, and that is that people who want to be stable employees don’t want to contract first.  Everyone knows that contract to hire means “contract with little to no chance of being hired afterwards.”  So workers seeking regular employment will only turn to contract to hire positions if they are unable to find regular employment leaving the employer with a strategy of only hiring those that are failing to find work anywhere else – a weak strategy at best.

The other risk is that consultants will take contract to hire jobs.  In these cases, the consultants take the position with no intention of accepting an offer at the end of the contract.  The company may spend six months or even a year training, testing, nurturing and convincing the consultant to love their job and when it comes time to hire them, they get declined.

There is no positive scenario for the contract to hire.  At best you hire a consultant who’s work style opinions are changed by the amazing nature of the work environment and magically they don’t get restless after accepting a position.  But this is far more rare than contract to hires actually attempting to hire someone at the end of the contract.  In the real world a company engaging in this practice is reduced to either hiring the least hireable or consultants with little to no intention of entertaining the “bait” offer.  This also leave the company with the belief that it has a carrot to dangle in front of the consultant when they in fact have nothing special to offer.

It is a case of an employer looking to take advantage of the market but, without thinking it through clearly, is setting themselves up to be taken advantage of.  The best employee candidates will bypass them completely and full time consultants will see the opportunity to strike.

The idea is simple and applies to all hiring.  Don’t hire a person based on factors that don’t apply to the actual job.  Hire employee types for employee positions, consultants for contract positions.  The same as you would not attempt to interview engineers for marketing positions – in theory someone has crossover skills but you eliminate almost any chance of every finding the right person.  Hire honestly to meet your needs and many problems will be eliminated.

The Inverted Pyramid of Doom

The 3-2-1 model of system architecture is extremely common today and almost always exactly the opposite of what a business needs or even wants if they were to take the time to write down their business goals rather than approaching an architecture from a technology first perspective.  Designing a solution requires starting with business requirements, otherwise we not only risk the architecture being inappropriately designed for the business but rather expect it.

The name refers to three (this is a soft point, it is often two or more) redundant virtualization host servers connected to two (or potentially more) redundant switches connected to a single storage device, normally a SAN (but DAS or NAS are valid here as well.) It’s an inverted pyramid because the part that matters, the virtualization hosts, depend completely on the network which, in turn, depends completely on the single SAN or alternative storage device. So everything rests on a single point of failure device and all of the protection and redundancy is built more and more on top of that fragile foundation. Unlike a proper pyramid with a wide, stable base and a point on top, this is built with all of the weakness at the bottom. (Often the ‘unicorn farts’ marketing model of “SANs are magic and can’t fail because of dual controllers” comes out here as people try to explain how this isn’t a single point of failure, but it is a single point of failure in every sense.)

So the solution, often called a 3-2-1 design, can also be called the “Inverted Pyramid of Doom” because it is an upside down pyramid that is too fragile to run and extremely expensive for what is delivered. So unlike many other fragile models, it is very costly, not very flexible and not as reliable as simply not doing anything beyond having a single quality server.

There are times that a 3-2-1 makes sense, but mostly these are extreme edge cases where a fragile environment is desired and high levels of shared storage with massive processing capabilities are needed – not things you would see in the SMB world and very rarely elsewhere.

The inverted pyramid looks great to people who are not aware of the entire architecture, such as managers and business people.  There are a lot of boxes, a lot of wires, there are software components typically which are labeled “HA” which, to the outside observer, makes it sounds like the entire solution must be highly reliable.  Inverted Pyramids are popular because they offer “HA” from a marketing perspective making everything sound wonderful and they keep the overall cost within reason so it seems almost like a miracle – High Availability promises without the traditional costs.  The additional “redundancy” of some of the components is great for marketing.  As reliability is difficult to measure, business people and technical people alike often resort to speaking of redundancy instead of reliability as it is easy to see redundancy.  The inverted pyramid speaks well to these people as it provides redundancy without reliability.  The redundancy is not where it matters most.  It is absolutely critical to remember that redundancy is not a check box nor is redundancy a goal, it is a tool to use to obtain reliability improvements.  Improper redundancy has no value.  What good is a car with a redundant steering wheel in the trunk?  What good is a redundant aircraft if you die when the first one crashes?  What good is a redundant sever if your business is down and data lost when the single SAN went up in smoke?

The inverted pyramid is one of the most obvious and ubiquitous examples of “The Emperor’s New Clothes” used in technology sales.  Because it meets the needs of the resellers and vendors by promoting high margin sales and minimizing low margin ones and because nearly every vendor promotes it because of its financial advantages to the seller it has become widely accepted as a great solution because it is just complicated and technical enough that widespread repudiation does not occur and the incredible market pressure from the vast array of vendors benefiting from the architecture it has become the status quo and few people stop and question if the entire architecture has any merit.  That, combined with the fact that all systems today are highly reliable compared to systems of just a decade ago causing failures to be uncommon enough that the fact that they are more common that they should be and statistical failure rates are not shared between SMBs, means that the architecture thrives and has become the de facto solution set for most SMBs.

The bottom line is that the Inverted Pyramid approach makes no sense – it is far more unreliable than simpler solutions, even just a single server standing on its own, while costing many times more.  If cost is a key driver, it should be ruled out completely.  If reliability is a key driver, it should be ruled out completely.  Only if cost and reliability take very far back seats to flexibility should it even be put on the table and even then it is rare that a lower cost, more reliable solution doesn’t match it in overall flexibility within the anticipated scope of flexibility.  It is best avoided altogether.

Originally published on Spiceworks in abridged form: http://community.spiceworks.com/topic/312493-the-inverted-pyramid-of-doom

Stick to IT, Don’t Become Another Department

I see this very regularly, it seems to be a huge temptation of IT departments to overstep IT bounds and want to take on the roles and responsibilities of other company departments. In the SMB this might be a lot more true because there isn’t a clear demarcation of IT versus other departments, job roles are often shared, there aren’t good policies and procedures, there aren’t people doing those other jobs, etc. And there is always the possibility that these cross-domain responsibilities are truly assigned to IT. But nine times out of ten, this is not the case.

I believe that this behaviour stems from a few things:

  1. People tend to work in IT because they are “smarter” or at least “more interested” about most things than average people so we tend to carry a lot of general knowledge that allows us to act as a competent member of any department (IT can do HR’s job in a pinch, is the reverse commonly true?)
  2. IT tends to get thrown whatever work other departments don’t want to do and can get away with handing off (can you print this for us? can you fix my microwave? the fuse has blown!  have you any experience with sprinklers?) So we get into this mindset from other departments’ behaviors towards us.
  3. We have a broad view into the organization as a whole, moreso than almost any other department.
  4. We tend to be passionate about doing things the “right way” – which is often based on technical excellence or industry common practice but may not account for the specific business needs nor unique factors.

Put together, these, and other, factors make us tend to want to get involved in anything and everything in and around the businesses which we serve. Questions around involvement in other departments’ activities come up regularly. To establish just how skewed our thinking about this behavior tends to be – we see IT people asking IT people what their responsibility is rather than talking to their own business’ management who are the ones actually making that decision. This isn’t about best practice, it is about following your own company’s rules.

Some examples of places where IT people like to jump in and try to be other departments:

  • “People are surfing Facebook at work, I have to stop them.” – Do you? Is this a business decision or is IT just making HR or security decisions for those departments? IT bringing this up as a topic is great, but feeling a need to enforce personal work habit decisions should probably be left to the business owner, manager or designated department like HR, legal or security.
  • Spying on end users, capturing passwords, etc. – Did the legal department ask you to do this? If not, don’t take on legal and security responsibilities, especially ones that might carry fines or even  jail time in your local jurisdiction!  We risk turning the tables from suspecting someone else to being the culprits ourselves.
  • Pressuring the business about fire hazards, safety issues (that are not your own), etc. – See something, say something. Awesome. Don’t be the cause of bad behaviour yourself. But if the business isn’t concerned about these things once reported, unless it is a legal issue that you need to turn over to the police, don’t feel that this is IT’s job. The janitor doesn’t feel this way, HR doesn’t feel this way, IT shouldn’t either. If the business decides to not care, you shouldn’t either. (Example was AJ talking about stringing surge protectors together.)
  • The business can’t be down! – IT loves this one. This might be us pushing for high availability clusters or just overbuilt servers or who knows what. The reality is, this is 100% a financial decision that the accounting, financial and CFO teams should be making. IT has no idea how much the business can be or can’t be down – we just know how much it costs to mitigate how much risk. We feed data to the financial people who come back with the risk/reward evaluation. IT shouldn’t be making financial decisions on any scale.

I could go on and on. HR, finance, security, facilities management, legal – we want to get involved in all of these job roles. But is it our responsibility to do so? Maybe it is in your case, but normally, it is not. We take on personal and professional risk in order to push our ideas and opinions on businesses that often aren’t interested in our input (in those areas.)

Step back and look at your relationship to the business. Are you making suggestions and decisions that line up with your role within the business and with the business’ unique needs? Keep perspective. It is so easy to get caught up in IT doing things the “right” way that we forget that the business might not share our opinions of what is right and wrong for them – and we aren’t in IT just for the sake of being in IT, but for the purpose of supporting the business.

[Reprinted from a post in Spiceworks, January 8, 2013]