To outsource or not to outsource? That is the question.

outsource.jpg

Do you need to make a decision about outsourcing? 
It is probably one of the most common decisions a CIO or CTO makes on a regular basis and one that I am asked frequently. The big arguments thrown around are often about how much cheaper it will be and how much money you will save by outsourcing.

BUT is that really true? Even if you do save money, will you impact your product/service quality?

I could list a bunch of pros and cons regarding outsourcing in general, but the fact is that every company is different, their products and services are different and their financial situation is different. To make the decision well you need to think beyond the cash headline and focus on what’s really important and right for your business.

To help with the thought process these are often the top considerations listed in order of importance.

Core to the business

First work out what your business actually is. If something is key to differentiating your business or if it is absolutely vital in the delivery of your services, then don’t outsource it.

Examples:

Your company makes shoes. Should you consider outsourcing IT? Yes. You win by designing and making better shoes.

You are running a hospital. Should you outsource cleaning? No. Cleaning is the bedrock of running a good hospital.

Control

How important is it to have control over the supply of the product or services in question? If they are vital to the business success, then don’t outsource.

Examples:

You run a chain of hotels. Should you outsource laundry services? Yes. Although clean bed linen is vital to your service, it is easily checked by your staff as it is used.

You company sells hosting services. Should you outsource the running of the network inside the data centre? No. The data centre network is tightly integrated with the design and build of the services.

Commodity product or service

If the product or service is a commodity, then it’s normally worth outsourcing. In this context you can judge if something is sufficiently commoditised by answering yes to the following questions:

  • Can I substitute one supplier for another with zero impact?
  • Are there several possible suppliers?
  • Can I switch suppliers quickly?
  • Are the margins for the supplier low?
  • Is it easy to measure quality or service level?

Examples:

Network connectivity between sites in any metropolitan area and standard office software applications.

Expertise

If the skill set to provide a service is not readily available, then outsourcing is a great option.

Examples are:

You run a national chain of gyms. Should you outsource your IT support? Yes. It’s easier for a specialist provider to provide the right level of support at all your remote locations.

You run a web design firm in Central London. Should you outsource your software development? No. Developers are readily available and skill sets often overlap with web developers.

Scale

When working at large scale, a company might find that a simple way to get additional return on investment without having to take risks on new product launches is to vertically integrate and own the supply chain or the delivery side of the business.

Examples:

You run a large chain of coffee shops. Should you outsource your coffee bean roasting? No. As you grow, it’s time to bring it in-house.

You own a small retail business with fewer than 20 employees. Should you outsource your accounting system? Yes. There’s no advantage to running it yourself at that scale

Money

The two main factors that would encourage a decision to outsource would be.

  1. Your business lacks capital for investment.
  2. There is significant profit margin to be made on the product or service concerned.

Examples:

Your business is an equipment hire business. Should you outsource your IT infrastructure? Yes. Owning your own infrastructure would only add to your capital expenditure without providing direct returns.

You offer shared hosting and email services to your customers. Should you outsource your infrastructure? No. Why not make an extra 20% margin by running it in house?

Yes but… No but…

Of course the devil is in the detail, so even with the examples I’ve given, there are times where the decision would be reversed. Above all, start by understanding what’s important to your own business success and never outsource your crown jewels.

If in doubt, drop Techsensei a line. We would be happy to help with your outsourcing strategy.

Does your DevOps initiative feel like Kane & Abel or the A-Team?

Building DevOps

devops_teamwork

Born worlds apart, development and operations have typically had separate management, separate metrics and separate incentives. This is unsurprising when you consider the completely different goals of the two functions. Historically, developers were there to build functionality and the operations team were there to keep systems running reliably. I’ve witnessed many clashes between these two worlds, all of them unnecessary.

If you believe operations used to have tight control of deployment and now get to force developers to work their way, then you should be concerned. If you believe that developers used to be the underdogs and have finally fought their way to control of IT by getting operations to work their way, then you should worry. If you allow the polarized world of Kane and Abel to dominate your organisation you are doomed, just as they were in Archer’s sad novel.

User Sam:   “The system is running slow”
Chris@Ops:   “The server is running fine, it must be the software”
Alex@Dev:   “I’ve not deployed anything new it must be the hardware”
User Sam:   “I don’t care – just fix it!”

DevOps, as a method, is now about 5 years old and is building more support. Is it the answer? Does it make this all go away?

The short answer is Yes, but you have to build the A-Team.

Six key challenges

These are often your key challenges in implementing DevOps successfully:

  1. Everything 24x7
    Globalisation and Internet based sales have driven everything to 24x7 availability, leaving technical teams working long hours and still get shouted at if they aren't there at 3am.
  2. Zero downtime
    Today, users expect zero downtime even for maintenance. Few development or operations teams have a history of solving this successfully.
  3. Challenging business expectations
    Users and management expect faster delivery with no mistakes and perfect reliability.
  4. Complexity of IT
    IT systems are more complex and more inter-dependent than ever making testing more challenging and fuelling the law of unintended consequences.
  5. Developer background
    Developers often come from backgrounds with no understanding of infrastructure. In the past applications have (typically) been developed for functionality, not for reliability. Only really ‘switched-on’ developers managed to do both. 
  6. Operations background
    Operations teams haven’t had the transformational experience of 'agile operations' and are sceptical of the impact on performance and reliability.

One change to ensure success

Build a single team with all the skills you need, seat them together and manage them as a unit. One vision of success. One plan. One reward structure.

The team should have end-to-end ownership for defining, designing, implementing and running the systems the business needs. Just like the A-team, they need to feel confident and be challenged to win despite lack of resource and time. Why shoot people with real guns when you can build a bazooka from a pile of cabbages and some old tubing? (If you have no idea what I'm talking about watch this short clip)

I am not advocating “bodge IT and scarper”, I am applauding the A-Team’s agile and results driven approach to tight deadlines and using limited resources.

Chris@DevOps:   “We’ve noticed the system looks slower than normal”
User Sam:   “Now you mention it… it does seem slower than yesterday”
Chris@DevOps:   “I’m checking the servers and Alex is rolling back yesterday’s deployment”
Alex@DevOps:   “Yes, that will fix it now and give me time to run more test cases for a permanent fix”
User Sam:   “Thanks folks!”

The DevOps philosophy is a great approach in many situations. It offers a utopia of more accurate requirements & designs, faster delivery and lower cost. However, in most organisations the cultural change needed won’t just happen by itself. It needs to be driven. Sure there are a bunch of organisational structure changes, process changes and new metrics that you should implement, but the single most important success factor is to win the hearts and minds to create an A-Team culture.

Will your web site cope with your 15 minutes of fame?

If you're business gets the benefit of some unexpected, free publicity, will your web site keep up with the hundreds of thousands of hits and keep your business on-line so you can reap the benefits?

paparazzi.jpg

These days there isn't even a question that your business needs an online presence. At the very least it's the place potential customers will visit when they want a bit more information on your business or vitally your contact details. You've spent time and significant money on designing a cool looking web site. It's functional, it allows customers to find out about your business, perhaps log into an online account or even be a primary sales channel.

Picture this: You normally attract a few hundred unique visitors a day. You're web site is hosted with a reputable service provider and is based on a dedicated hardware running your site. You paid handsomely for the privilege of a resilient set up running dual servers behind fault tolerant firewalls and load balancers. One friday evening, "it" happens. Your site goes off-line. The first you hear of it is when your IT team send you a text message telling you your web site is down. They are struggling to figure out what's going on. Network failure? Hardware failure? Software application issue? Denial of Service attack?  No, the site just looks really really busy and all with what looks like legitimate traffic. There's just so much of it that the infrastructure can't cope!

Turns out that Stephen Fry just tweeted a comment that he liked your product, and suddenly the entire world is checking out your web site, only it simply isn't scaled for that level of activity. You now have a few options, but time is critical. The half-life of publicity storms is typically less than 24 hours, so reacting fast is vital. 

Just wait
You can wait for the traffic to die down and miss all those valuable eyeballs in the process!

Add more infrastructure
Call your service provider and ask them to "beef up" your infrastructure. Assuming they have the people and resources available and they aren't going to use it as an opportunity to fleece you.

Simplify your content
It's far easier and faster for a server to service static, cacheable content. So setting up a quick holding page with the basic information about your business will often get you back up and running. Realistically this is the only sensible and quick way forward.

Clearly there is a better way and that involves planning ahead and making sure your infrastructure is properly designed and scaled.  Sure, you can simply invest in a much bigger infrastructure up front to make sure you can cope with this type of event, but it won't feel right to your CFO to have an infrastructure <5% utilised. There are much smarter options available that might suit your environment such as:

  • Content Distribution Networks (CDN) that allow the content to be serviced from a network of shared servers around the globe.
  • Hybrid cloud solutions that allow you to scale up your web servers on demand by making use of virtual infrastructure on shared hardware.
  • Cloud based hosting on fully virtual infrastructure with systems in place to automatically increase the resources available on demand.

There are many options, but they all need some thought and planning in advance.

Your 15 minutes of fame can come from many positive and negative places, from a major PR win getting your business mentioned on the front page of the BBC news web site, a random celebrity tweet, or perhaps a product failure that needs dealing with. What they all have in common is

  1. They can strike at any time.
  2. They will generate 100 times the demand on your web site than a normal day
  3. Being off-line during the event is not good business.

If you want to discuss how to analyse your site and its infrastructure to understand if it will cope with the demand of your 15 mins of fame drop us a line at Techsensei.