What do HP-UX and Serverless have in common?
How something as simple as OS imaging can turn a project sideways.
I know it’s hard to imagine in the era of serverless and docker images, but OS deployments can turn a project sideways. Back in 2015, I ran an SAP migration project. The method SAP recommended involved re-installing the application and data migration. This meant new System IDs and new Operating System deployments. In reviewing the project plan, the OS deployments registered as a moderate risk. After all, even in 2015, building operating system images wasn’t a big deal. Even if these operating system builds were HP-UX. At least until it became a big deal.
We had roughly 300-systems to build. We set a goal of an average of 30-systems a month with the understanding the first couple of months would include below average output, and at some point, we’d enter factory mode for builds. Looking back at the client history, 30-systems a month was the average for similar projects.
The problem we encountered? The team performing the builds was a managed service provider that had never performed similar builds. We had lost the historical knowledge of building the systems. That first month, the application team only accepted 5-builds. What originally was considered a checkmark became the biggest risk to the project.
Of course, the story has a happy ending that I’ll go into detail about at some point. The bottom line is that the issues we faced were no different than what we see in development processes today.
Requirement gathering
Converting requirements into configuration
Codification of configuration build
Repeatable execution of the build (automated or manual)
Q/A and test of the build (automated or manual)
In the end, we had to break down the elements of each step, identify and rectify each phase's problems. Then we rinsed and repeated until we reached the factory mode of our deployment. This process was completed under the pressure of a 10’s-of-million-dollar deadline. However, I’ve since put into practice the learnings from each of the elements. It doesn’t matter if we are talking AMI, Docker Images, or Micro Services; the building discipline remains the same.
My biggest lesson? Validate the capability vs. assuming the capability exists.