I would like to get better control over my deployment environments, but I share the system administration responsibility with an IT department that has their own (not fully automated) processes for bootstrapping VM-instances, managing organization users and performing security updates.
Can I still benefit from using Chef (probably Chef-Solo), even though the systems will have an initial state that is outside my control, and will periodically change due to security updates outside of Chef (and possibly also other manual intervention)? I'm not in a position to introduce a different workflow at the IT department.
Their responsibilities:
- Provide the hardware and VM
- Install an OS with a "basic set of features" (currently SLES 11)
- Applying security updates from the same SLES-release
- Manage access for any organization users
- Backups
My responsibilities:
- Install and manage application dependencies (with a policy to prefer packages from the SLES distribution)
- Applying security updates to anything installed that are not part of the SLES distribution
- Configure needed services
- Deploying applications
As far as I can tell this goes against the idea of a fully controlled environment that is behind tools like Chef, and it will leave room for divergences between production environments and between them and my staging environment (a local VM that IT never touches).
Is using a tool like Chef still worth the "bother"? How would my workflow need to differ from that of a fully controlled environment?