Tuesday 22 September 2009

IT Suppliers & IT Consultancies

Again, Wired is inspiring me to blog - see their article "5 industry collusions we'd like to throw down a black hole".

There are certainly industry collisions in the IT industry. Unfortunately the end result is the same:

Deliver a poor user IT experience unless the customer pays extra for:

  1. IT Consultancies' / resellers (think Accenture, Microsoft or HP) to "fit products" together (think Windows, PC's, Linux, web sites).
  2. Vendor data lock in (think Apple or even Google).

To provide a healthy Ecosystem of IT services at a low cost we need to choose hardware which works with any software without the need for expensive consultants.

Wired inspired me to "draw" my solution of how small providers could start to build these working services - the .

Sunday 6 September 2009

Solution Store not Hobby Kit

IT services could be complete, and there shouldn't be so many of them.

Why exactly does every student, accountancy firm, doctors surgery etc. all need to source software and hardware in kit form and then get it all cobbled together by paying for IT services that fail? It's hard to believe it's 2009 and not the 1980's!

Economies of scale are required to provide affordable and fully trusted computer configurations that can be cheaply maintained. Currently only some of the largest corporations (and then only the ones with excellent IT capabilities) manage to cost effectively provide an excellent end user experience.

The real cost of reliability often comes at the expense of digital freedoms as only the single vendor solutions can provide the "app store" style maintenance experience that "just works".

If we want to prevent a real 1984 experience (regarding digital freedoms) then shouldn't a way to share reliable and tested computer configurations become the sort after holy Grail of IT?

Shared IT configurations that can be deployed automatically could provide the economies of scale (for lowering maintenance costs) needed for reliable IT that is truly provided in the consumer's best interest.

Sunday 9 August 2009

The “Wired” Deployment Automation Solution

A Wired© inspired picture is worth a thousand blogs so here’s a summary of my blog postings to date (and maybe a contender for artefacts from the future - “ITIL Basic Training 2015”)…

Deployment Appliance (View Detail)

Saturday 13 June 2009

Check in Gate

A check in gate is the only approved way in to airports but the concept extends to the heavily defended entrances of castles and now maybe we should do the same with managing changes to data centres...?

cullisFor any data centre, the best place for a control gate could be a source control system (hence the "check in").

With this "source control enabled" deployment solution, if you can't check in the , you can't apply it to the IT environment.

The defence or quality on the "change gate" is the automation that enables workflow, testing and ultimately, fully controlled production changes. For more on this see my post .

With better control comes better security - just like a castle!

Saturday 6 June 2009

RPath or garden path?

Can rPath provide “the” data centre solution? Click their picture and check out their blog…

rPath blog on IT Management Goes Vertical

…more reading / pondering / feedback required…

Monday 13 April 2009

Service Providers

Currently, most computer systems are managed incredibly inefficiently and at a significant cost. There are organisations and IT suppliers that make a considerable amount of money by providing support services. On the other hand there are also suppliers that know how to provide excellent products that require minimal support yet arguably operate in simplified, constrained environments which by there very nature reduce customer choice (often to the suppliers considerable benefit).

If commodity computing is to be used reliably by its consumers (organisations and individuals alike) then it should be sold fit for purpose and not in a DIY form!

Customers should also be able to demand a wide variety of software and hardware from multiple suppliers yet also have it all pre-configured and automatically maintained.

To provide this truly heterogeneous yet reliable environment to the customer would require two things:

  1. Completely independent IT providers that are motivated to provide an extremely high level of customer service with no vendor lock in.
  2. A way software can be provided and then continually maintained in a truly cost effective way without compromise on features or security.

A whole industry of Service Providers could easily provide extremely reliable and more capable software services to customers if the cost of support could be largely mitigated through the use of total automation.

If this environment existed the most likely Service Provider differential could become customer service level rather than hardware or software availability or simply 'compatibility'.

CrowdSourced Support

Wouldn't it be great if software could fix itself off the Internet?

Even when a fix isn't readily available for the exact problem it could be solved by a community of 'solvers' who could gain a reduction in IT service costs by contributing solutions to IT problems.

This would require a few things:

  1. IT service providers who provide the software in a unique configuration shared by many customers.
  2. The exact configuration of a customer's system may be replicated by willing 'solvers' who can work to publish suitable and fully automatic fixes back to the service provider for validation.
  3. A way for the service provider to deploy fixes to the 'shared solution' (ie. service) in a way that can be pre-tested, verified and then ultimately accepted by customers with problems.

See my posts 'Deployment Appliance' and 'CML' for more about standardising automation.

Thursday 9 April 2009

Deployment Appliance

I'll elaborate on this more with some pictures and a list of requirements but for now just a simple definition:

"A computer system distribution designed to deploy entire computer environments from files."

C.M.L. : Freeze dried I.T.

This post discusses technical detail - I'll discuss more after putting this out there!

In my previous post I described a system using source control to express and deliver software deployments. Here I'll expand on one piece of the jigsaw: an XML document type called Configuration Markup Language or CML. A potential RFC in progress?

In short CML should be capable of describing entire user service(s), or technically a software stack, from the hardware up!

Some initial thoughts on the technicalities involved:

  1. Must ultimatly describe required hardware type(s) and initial boot images used.
  2. Must refer to all dependant services (CML files).
  3. Must refer uniquly to a compatible software stack used to 'run' this CML file see .
  4. Describes every post boot configuration change and refers uniquly to all binary image(s) and other files required to get the job done!
  5. Will NOT describe any deployment detail specific to a specific site or environment instalation; these details (host names, passwords, ports, number of devices available and unique references etc.) should be held in an environment specific repository.

Total Automation - Remove the root of all errors!

What? - we should aspire to build and maintain computer systems that deliver user services without ANY manual intervention.

Why? - Commodity computer systems may be cheap to aquire but they require many software configuration changes to be made consistently to many environments if they are to be tested and made ready for use. This requires a complex change process which involves (at best) documenting and subsequent interpretation and re-implimentation of complex procedures. This very often introduces errors, support, more change and complexity which ulimatly means unreliable and costly computing!

I believe that we should be automating computers and not writing procedures to try and automate people as we are ultimatly the source of all computer errors!

By comitting all changes to a computer system to documentation that computers can follow directly (automation) we eliminate the source of most errors - human error!

Introduction

I'm the geeky host of this Blog - mad about how to deliver more out of the great potential, but rarely completly working, world of computers!

I'm not really a natural writer or editor (goes with the geeky teritory). I am however bursting with enthusiasm to communicate how to fix the bits of software deployment I know a thing or two about and get some feedback in the process...

I've grabbed my knowledge through many software development, deployment and support projects over the last decade or so and I have some ideas about why computers often don't work, why they do and what to do about it!

People keep giving me work as a contractor and seem to appriciate my work but I want to contribute to something bigger than the next contract - hopefully what I have to say is worth something out there...

Monday 6 April 2009

Continuous Deployment

Here's an idea; 'Continuous Deployment' defined as: 'the fully automated deployment and configuration of software as expressed in a source control system'. I've borrowed the term from 'Continuous Integration', CI as used in Agile or 'eXtreme Programming'. It would use many similar tools but is concerned with the total automated configuration of user services unlike CI which deals with the build of code and deployment and test of a single software package...

Here's a picture of a scribble I drew on a plane - I'll get a diagram up soon: