Why apparently having a hosting department is a bad idea
Hosting is a crucial business for websites. No matter how many talented developers you employ when the hosting breaks your website breaks. That’s why any company needs to care about its server admins and how they are organized.
Having a dedicated department seems to be the worst option.
There are roughly three options to organize admin work within web development.
- Outsourcing – choose a partner that does it all for you and works with you on the required solutions.
- Integration – get admins as part of your development team and have them work on the same projects.
- Encapsulation – form an admin department responsible for all things hosting.
I experienced all three by now as well as various variations and mixes.
Outsourcing is usually something done on a product basis. You host a website somewhere and work with their admins. However you don’t make them a strategic partner hosting all of your products. As a service provider these external guys are usually dedicated and have a strong interest to keep you as a client. That’s why they perform well.
Integration is usually found in larger companies. Admin people are part of the development team and are as dedicated and committed as the developers. They share the same goal and all pull on the same rope.
A dedicated department however – and I experienced this twice – has only one goal and that is to have everything running. All products at once. Usually these departments are at the far end of the food chain as nobody at management understands the difference between administrating some storage servers for exchanging documents.
That’s why these department are forced to save costs which they try by standardisation of processes and infrastructure.
The conflict rises as goals differ between products and administration. You get different timings and different investments. If you push a new product you will get some investment for it to get development going but your admin staff will most likely not participate in that and will most likely be a bottleneck.
Usually those departments draw a clear line of permissions and responsibilities. Your code. Our servers. Do not interfere.
In other words your development team can not possibly do anything on the servers on their own. Imagine times of having not enough admins in the department. Imagine urgent changes that need to go live. Imagine holidays and sickness. It’s not at all a rare situation that all of these happen at once. Even constantly. Deadlock is always close.
I would at all times recommend a clever mix of outsourcing and integration. Outsource the hardware stuff to a solid partner that knows how to scale. Amazon would be a good option. Integrate admin resources per product to steer that service to fully support your product strategy.