One of the core aspects of our Enterprise Private Cloud is On-Demand Self-Service and the only way to make this work is by instituting automation across the enterprise as the norm. This means almost everything that happens today in the infrastructure environment needs to have a way to automate it, and as we have experienced over the last year... provisioning a virtual machine is easy, but getting all of the supporting aspects automated is a much greater challenge. We also made a decision to not do our Cloud as a "Greenfield" install, meaning we are taking the approach of setting up our existing infrastructure to be part of our Private Cloud - which is a challenge but necesary.
In our enterprise environment we have adopted ITIL like many other enterprise IT organizations, however a lot of the process standardization is still very manual, therefore it is much easier to mask issues in the environment or differences in configurations by using humans (my peers and I) as glue to make it all work. But once you send a computer system after another computer system with automation you really start to see where things need to be improved. Unlike humans, computers only think in binary unless you give them lots of complex logic to deal with ambiguity or problems that they may encounter. So when the automation hits a snag or something it wasn't programmed to deal with it, it can't try to figure it out like you and I can (unless of course it is programmed to do some analysis)... it just fails.
The really great aspect about all of this is we are finding where infrastructure components have been setup differently even though we have standards, and we can pinpoint problems globally with automation vs, having someone tell us something is broken. As we move up the computing infrastructure stack in regards to what we offer through on-demand self-service we will continue to find more issues with configurations or lack of robustness in endpoints, however to me this is the exciting part about automation - the real opportunity to attain quality and agility through implementing automation that continues to move up the stack of IT workflow. Where we previously masked the problems with people working around it, we now have to get in and really root cause the issues and improve the environment.
So yes, automating the Enterprise infrastructure is a very challenging assignment, but it is very exciting to be part of making it happen. As we focus our automation on something that is consumable like our Infrastructure as a Service, we are really starting to see the need to bring together the various teams that previously worked in silos and have them all work together to establish robust and standardized infrastructure components that can equate to a holistic and powerful service that our customers can consume.
Are you doing this too? If so, how have you handled this challenge?