The client, a large company providing a wide variety of contact center solutions, must support a wide variety of product features. The ongoing product offerings required on-premise installation of a great number of moving parts. Such installation would involve a hundred applications and their dependencies, installed on four major operating system versions in various combinations.The Professional Services department had developed a manual installation process that required days, even weeks to finish. Though the steps were well-documented, in such a complex environment it was highly unlikely that every person would correctly follow every instruction and press all the right buttons in order to effect a successful install. Human involvement in every step almost guarantees the introduction of error, making repeatability a near impossibility.
Automation, infrastructure as code, and configuration management. The summation of these steps, executed by Chef in all supported operating systems, reduced client’s installation time from days to hours and, most importantly, in a repeatable manner. The most important benefit of automation is not speed but repeatability, the ability to execute a process multiple times with identical results. This can’t be properly effected using configuration management and automation alone; CI/CD is a necessary key to the solution. Infrastructure code, like application code, must have its own pipeline.
Flugel created reference architectures to be used for validating the code being executed in the pipeline at any given time. Any change, from the modification of a single character to creation of a new architecture, automatically triggers a validation process comprised of automated tests to ensure that the whole mechanism works as expected.
Operating systems: RHEL 7x, RHEL 6.x, Windows 2008, Windows 2016.
Major tools used: Chef, Jenkins, Python, PowerShell.