Managing your family farm in an industrialized world
I have spent a good portion of the last year attempting to work with customers to convert their infrastructure from each application being unique to a streamlined automated power house. There is a dream that every shop has to become like google or Netflix. To run an automated, agile well monitored environment. Every company is racing to provide products that facilitate their new cloud era management.
Every so often there is a product that innovates the so well that is changes the standards. When I was in college being a systems administrator was racking and stacking servers, large storage arrays and huge buildings with cooling units. X86 virtualization changed this game, a large part thanks for VMware innovation. The very fabric of server compute architecture was changed when the first vMotion was completed. VMware virtualization was a game changer. When I look for the game changer to make all my customers’ requirements easy to deploy within five cookie cutter models I cannot find it.
The American Way
The simple answer is my customers are American’s they want it customized every time. They each control their own budgets without any central control. Much like American government each business unit cannot agree on a color let alone a web development platform. The technical teams have always been a second partner in the discussion because they don’t control the budget. There has been many great articles about making IT a business. I won’t go into that side subject because I believe it’s only part of the problem. The simple problem is even if we control the budget we would still have customers who want it their way.
Why can’t you be like Amazon or [..insert cloud provider name here].
This is thrown around a lot. We are compared to Amazon when we fail to have agility. It’s a valid statement if the company is really willing to buy from Amazon. I argue that if you want IaaS like Amazon provides most of IT could provide that really easy… but the business unit wants managed IT. They want that website now and don’t care about the management issues, but when the site fails it’s your fault. When the business buys a site on Amazon and it fails it’s the businesses fault. Your answer to this question really should be it’s a different business model.
Enough ranting what is the solution
To avoid making this post 100% rant I would like to share some of the things I have used to manage the family farm. If you give up the idea that today you can have Amazon (at least until technology game changes come along – Docker or something else like CoreOS) here are my suggestions for managing the farm:
- Monitoring should be automatic – You need a monitoring solution that includes discovery of new assets and monitoring. It should be able to discover services running and monitor them with minimal customer interaction. Monitoring should also include historical and individualized thresholds. If possible monitoring should automatically open up tickets to be worked and resolved. (for VMware virtual vRa and VIN does a decent jobs of this – with some limits)
- Configuration Management – This is the key component that is missing in so many shops. You need to manage your life cycle with configuration management. You should use configuration management to spawn and configure new servers. It should ensure that these servers are in compliance and remediate servers that are out of compliance. This type of configuration management reduces troubleshooting and allows you to manage at least a portion of your infrastructure as a single entity. (There are lots of products I have the most experience with puppet and it works very well)
- Central Log location – Putting all your logs, system, firewall, network, vCenter etc… into a single location allows you to alert across your infrastructure and do discovery in a single pane of glass.
- Documentation – The whole IT industry is really bad at documentation. They have a major epic fail. I cannot count the number of times I have googled for an issue I am facing to find the solution on my own blog or a forum posting I made. We all forget, find a location for documentation that is searchable and share it with the whole team. This will really cut down on repeated wasted time and get your into a thoughtful method of practice. This documentation should include at the most basic level what a server / switch / whatever does and common commands or issues.
- Change Management – The dreaded term… IT shops hate it. Best case scenario changes should be recorded automatically but we do need a single location to locate and answer the grant question what has changed… Some people use wiki’s, some use text files, some use configuration management that logs change tickets. It does not matter you need to have some change management.
- Identity Management – Until you have a single Meta directory for all authentication and authorization any efforts to be agile will fail.
As you can see the field is ripe and ready for vendors to harvest products. While I am waiting for the next game changing technology I am sure I will have more than a few family farms to manage. These products can help. If you want to make the journey off the family farm into a mega business you might want to consider these steps:
- Virtualize everything – removing your dependency on specific hardware or storage vendors
- Consolidate all your services to a common management platform (monitoring, logging, change, hardware, virtualization, etc..)
- Consolidate your operating systems to as few as possible
- Choose a database platform and force all new development into that platform
- Choose an application development platform and force all new development into that platform
- Wait five to ten years to force all applications into the common platform and hope that management has the strength of will to make it that long
I hope my crazy nodes have helped you on your family farm projects. Please add additional suggestions.