Can Windows Haz DevOps too plz?

One thing I’ve noticed about the recent upsurge in articles regarding DevOps and NoOps is that many of the discussions do appear to center around the use of Configuration Engines such as Chef or Puppet – although both are great products neither is suitable for the environment I work in.

We’re a pure Microsoft House here, for better or for worse that is the strategic direction we are taking which is leading our technical choices on software, for configuration management we have System Centre Configuration Manager, monitoring is done through Operations Manager.

Not that any of this information matters because the ethos of DevOps is more about people and thier interactions – a point raised by Phil Hollenback – whether you’re whipping up systems in assembler, .Net or through Ruby on Rails you can implement DevOps style techniques because its all about the people – not the tools.

If you’re doing DevOps right then your tools will fade in to the background, for those who might forget I think you should print out the following line and stick it on your wall to remind you.

DevOps == People, Process then Technology.

Remember folks, DevOps is for all-  its not limited to those who deploy Chef, Puppet or even Shell Scripts.

* Note: You can replace the term DevOps in this post with any other SysAdmin 2.0 buzz word and it will work – its all about the people.

Zenoss Blog: The Emotional Pull of No Ops

One of my previous entries DevOps and me has been mentioned in a blog post over on the Zenoss blog titled The Emotional Pull of NoOps.

The idea of NoOps doesn’t sit well with me on a personal level as I feel its the wrong answer to the eternal question of systems management and development.

A world without Operations people would be very strange indeed and in some cases I certainly think a lack of an operational can kill a company dead.

Go and check out the article over on the Zenoss Blog

I am running Windows 8

I for one was very slow to adopt Windows Vista when it was released, I believe I managed to run it on my system for a grand total of 2 hours 30 minutes before reverting to Windows XP.

Windows 7 fared better, I installed the beta and liked it then shelved it until the RTM release before adopting it as my main operating system on both my work machines and and on my desktop at home. I was so enthused with it that I deployed Windows 7 to my then Girl Friends laptop a change that is not to  be made lightly.

Now Windows 8 is on the horizon and I decided from the time of the developer preview that I was going to immerse myself in Microsoft’s new operating system – complete immersion.

You would have to be under a rock to be unaware that Microsoft released the Windows 8 Customer Preview yesterday, I don’t find it at all odd that Microsoft chose to release this during their MVC12 Summit – it gives the masses something to chew on whilst the more vocal members of the Microsoft Community are busy getting their yearly dose of NDA covered information.

I spent some time working through the Windows 8 Developer Preview and Visual Studio 11 figuring out the length and breadth of the new release of Microsoft’s IDE and .Net Framework – during this period I did not spend much time looking in to how you used the operating system itself as I preferred to wait for a more rounded release – which is exactly what the Community Preview appears to be.

Taking the dive yesterday evening I inserted the preview DVD I had burned earlier in the day and began the upgrade process.

I was pleasantly surprised to discover the upgrade process was entirely painless, the first phase involved scanning my machine for incompatible programs before the upgrade could begin – luckily there were none. My next interaction with the system was about 45 minutes later when I was asked to personalise a my systems colour.

That was it, my computer was running the Windows 8 preview upgraded from my previous corporate build of Windows 7.

So far I have only encountered few bug bears whilst orientating myself with Windows 8, the most notable of these were.

  • Out of date graphics drivers. Hardly unsurprising that they needed to be upgraded as they were causing artefact’s to appear on the metro desktop.
  • App Authentication not being available in the UK.

My old applications have just worked so far, including Visual Studio 2010 (The item I was most worried about not working) although it appears to have some issues connecting to IE10 to debug web app’s – but I can live with that problem. I have two other Windows 7 machines which I can use for debugging sessions.

We will see how the next few days works out before a form some kind of judgement on Windows 8.

MenuHelperModel.ascx must derive from….

I recently added the excellent MVCSiteMapProvider to a project to replace the static menu lovingly crafted earlier in the development process to bring the site in to line with the other sites we have built.

Whilst the provider was working correctly on 5 other sites for some reason it was throwing the error shown below.

The full error was:

System.InvalidOperationException was unhandled by user code
Message=The view at ‘~/Views/Shared/DisplayTemplates/MenuHelperModel.ascx’ must derive from ViewPage, ViewPage<TViewData>, ViewUserControl, or ViewUserControl<TViewData>.
Source=System.Web.Mvc

A short Google session later put me on the track to fixing it, the problem is occuring because I have both MVC2 and 3 on my machine and this is causing a conflict. To avoid the conflict I’ve added an Assembly Binding Redirection to my web.config  as shown below.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
</assemblyBinding>

This allows the MVC3 binary to deal with any requests for earlier versions and has allowed my site to function correctly.

Tutorial: Managed Service Accounts

This week I finally took the plunge in to learning about Managed Service Accounts (MSA) and how they work, it is an item which has sat on my todo list for the last 6 months.

In order to take full advantage of MSA’s you need to be your domain in Server 2008 R2 mode, this allows the domain to automatically handle the SPN’s and password resets. MSA’s do work under Server 2008 Operation level however in this mode SPN’s must be managed manually by the System Administrators – which kind of defeats the point of a managed account.

Things you need:

  • Active Directory Power Shell Scripts
  • Services hosted on Windows Server 2008 R2 or Windows 7
  • Domain Administrator Privileges in your domain
  • Local Administrator Privileges on the target server

Continue reading

If it works, I don’t care.

On an average day I receive around 30 automated emails reporting system status, recently I realised that since Christmas  I’ve not read a single one of these messages.

Nadda.

Nothing.

Zip.

That is bad, in fact it is very bad.

As it means that not only have I ignored the status okay messages but I’ve also ignored the failure messages that have been generated by our systems.

The deluge of information hitting my inbox has caused me to suffer from information blindness, and coupled with a higher beat rate in the office as we race towards a big deploy in March its lead to things slipping through the cracks.

Important things like backup or expiry notices.

In order to resolve my information blindness I’ve chosen to change how I personally tackle monitoring of systems and services.

Starting from Monday, I’ve reconfigured the alerting and monitoring to only send me messages when an actionable event occurs. If a self test or a backup runs successfully I don’t want to know about it, because that’s what it is meant to be doing by design. I only want to be alerted if a task or job fails to complete successfully.

Good bye SQL Backup Notifications.

Good bye UPS Self Test notifications.

Hello Inbox zero.

If its working, I don’t care what its up too.

I would like to highlight that the change in alerting ethos doesn’t change how I’m configuring monitoring, that is still set to monitor and log the metrics on how our services are performing. Outside of alerting there is still management reporting to be done on our service levels and there is still a need to provide detailed information about how things are running when I inevitably need to see the CTO with a request for resources.

Developer Tools – Chocolatey Edition

In order to chase down a hardware bug with my computer it became necessary to rebuild my system, not once – but twice in a two day period. Having to do this meant that I was basically giving a way 1 day of work whilst I reconfigured my system just how I like it.

There are in fact two problems with this and these are:

I don’t; have 1 day of work time to loose.

I’m really quite lazy (In a good way) I don’t like repeating work unless there is no option.

The issue of loosing work time allowed this to become an opportunity for me to try out the Chocolatey Machine Package Manager and do you know what.

I’m hooked.

Many of the third party tools I install on my system are present on Chocolatey and those that aren’t I’m seriously considering getting permission to package and upload to their package site.

My current tool kit installs:

  • Notepad++
  • WinDirStat
  • msysgit
  • Putty
  • PSTools
  • Papercut

I’d love to hear if you think there’s a tool that I should check out!

In 5 years time…

This week has provided an opportunity for me to reflect on what I am doing and what I want to be doing, its that age old interview question that is bouncing around in my head.

What do you see yourself doing in 5 years?

Having a firm grounding in Systems Administration and an ever growing experience as a Developer I’ve been exposed to a series of Technologies ranging from SQL Server 2000 through to Share Point 2010 and everything in between. One of the benefits of this exposure is learning the things that I cannot see myself doing in 5 years time.

Things I don’t imagine I’ll be

  • Exchange Administrator
  • Active Directory Administrator
  • Network Administrator

These are all areas where I have experience and I know that if the need arises I can handle working in these areas, but as a day to day role – they just don’t make me tick.

My more recent experience at work has lead me down another path, the path of the DBA.

So I’m back in the world of study.

It turns out I really enjoy working with SQL Server both as a DBA and as a SQL Developer and this is an area that I want to expand on, so that is what I’m doing – expanding my knowledge.

Step one of my plan is to prepare for and sit (By the end of May hopefully) 70-432 TS: Microsoft SQL Server 2008, Implementation and Maintenance followed by 70-450  PRO: Designing, Optimizing and Maintaining a Database Administrative Solution Using Microsoft SQL Server 2008. This may be a bit of a tall order given that I’ve got 9 websites to launch on our new hosting platform at work and a project of my own due in to the world at the end of April (My wife and I are expecting a baby girl :) ) – but if I don’t set the deadline I know I’ll find reasons not to be doing this in 12 months time.

So I have my answer.

In 5 years time I would like to be a DBA.

10K Challenge Site – Your input

Following some comments on Twitter I’m going to throw my hat in the ring and build a 10K Challenge website for folks like The Nubby Admin to use in Stack Exchange, I’ve got a couple of ideas about the site already but I want to throw out the question.

What would you want the challenge site to do?

Open floor for feature requests no matter how big or small, post your comment and I’ll add them to my backlog.

Virtual SQL Server

I’m taking the plunge and building our new SQL Server on top of our Three Node Hyper-V Cluster, this is a major shift in method for the company – every other SQL Server we’ve deployed to production has been done on physical hardware.

A few of the resources I’ve used to build this system are:

My investigations have lead to the deployment of a single Virtual Server running Microsoft SQL Server 2008 R2 which sits on top of a 3 node Hyper-V Cluster which is our version of Poor Man’s High Availability. It will mean the service is down during maintenance periods but we need to generate more revenue through the service before we can take a step towards a truly highly available SQL Infrastructure. Had the business requirements called for a highly available SQL Instance I would likely have deployed this on a 2 Node Fail Over Cluster however the steer for this server was to provide a new SQL Database Server for our Web Tier without incurring any further licensing or hardware cost (The new SQL Server license was purchased previously).

This server is going to run for the next 6 months hosting the back end databases for our new publishing platform that I’m working on, after this point a strategic decision will be taken on whether we push our remaining SQL Servers to our Hyper-V Cluster or whether we move back to our previous model of buying one stonking great server and installing all the SQL’s there.