By JP Schaaphok
Enabling DevOps is not a trivial task in today’s software environment. One of our customers approached us asking for help to transform how they provide IT services within their organization. Their executive team challenged the business units to improve the software development lifecycle and decrease the overall time to market. Their core business consists of developing internet security software, where the need for effective development and quality assurance is essential to preventing potential data breaches. They began the process of adopting agile to support the rapid change demanded by their customers.
It’s a common story (do more with the same or less!) and the IT department was not provided with additional headcount to handle the growing frequency of infrastructure requests. The IT team responded by finding solutions to enable development to streamline their workflows and deploy self-service provisioning tools, enabling DevOps.
What was needed was a private cloud solution to support the customer’s objectives to improve the development lifecycle. The system is made up of several components that include a self-service catalog, automation, configuration management and orchestration. The overall solution would enable IT to provide the development teams the ability to repeatedly create consistent virtual machines at any scale in a highly secure environment. This dramatically accelerated development productivity and reduced the potential for errors in the environment.
Through a series of workshops and discovery meetings we were able to pinpoint the specific behaviors and workflows of the developers and their requirements in areas such as:
- Deployable system images
- Functional role based application deployments
- Consistent configuration parameters for applications and system settings
- Enforcement of data retention policies and security compliance
Based on the outcome of these workshops we developed a reference architecture, which included the following technologies: VMware vRealize Automation, vRealize Orchestrator (vRO), vSphere, and Puppet Enterprise. vRealize Automation is a heterogeneous cloud management platform, which is capable of managing virtual instances on multiple cloud providers through an integrated framework and custom vRO modules. vRealize Orchestrator provides us the ability to interface with 3rd party systems such as Puppet Enterprise or anything with a REST or SOAP API. Puppet Enterprise ensured that the provisioned systems had the necessary configurations applied to make sure all the necessary software for a given application stack would be installed when something was ordered. This software stack could run on the existing hardware infrastructure, expand to use commodity compute platform and burst to public cloud solutions.
Bringing these tools together provided developers a self-service dashboard to request IT resources in a repeatable and consistent fashion. Power users within the development groups were provided access to manage images, catalog items, and the configuration management repository. These power users worked as a liaison of IT to help promote adoption, education and support day to day operations.
We helped IT identify routine tasks that qualified for automation and incorporated those tasks in vRealize Automation. Automating these routine processes allowed them the ability to focus on strategic planning, technology research, root cause analysis, capacity management, workflow governance and resource management. VMware vRealize Automation provides a centralized platform managing the entire lifecycle of the IT resources specifically by enforcing business policies, governance, lease duration, financial show back and resource reclamation.
Puppet Enterprise was used to provide a mechanism for IT and the development team to automate a lot of processes.
This provided a centralized system for application and system configurations, which helped improve standardization. This work helped our customer set a solid foundation to adopt platform as a service, CI/CD workflows and DevOps methodologies over multiple phases.
Our customer decreased their overall time to market from days down to thirty minutes and standardized the IT offerings through a self-service catalog, which enabled them to do more with less. It had the added benefit of making the IT department’s job a lot easier by automating repeated tasks of the development teams. The business now looks to the IT department as a solution provider rather than a roadblock to accomplishing the objectives of the business.