As demands on the mainframe escalate, organizations are adopting DevOps to dismantle historical silos and bring teams closer together to continuously improve quality, velocity and efficiency. Through this cultural transformation challenging traditions, you should also dismantle the constraining notion that developers only develop applications and operators only operate on them. Treating infrastructure as code can help with this.
Operations should not be limited to standing up test environments to catch code developers sling over a deployment wall. Instead, the foundational aspect of software development—its flexibility—should be extended to the infrastructure scripts and code that Operations manages, which many incorrectly perceive as rigid and inflexible. Doing so will allow Operations to treat infrastructure as code and give teams the ability to automate as many as possible of the repetitive manual processes they use to provision and manage that infrastructure.
While Operations has accomplished a pseudo-automation of processes with scripts and cloning steps across infrastructure for years, infrastructure as code is different in that you leverage application development practices to manage code that defines the infrastructure so it can be included in an orchestrated pipeline that automates the execution of work within the software delivery life cycle.
Determining What to Automate
Rather than requiring database administrators and systems programmers to use manual processes to modify existing CICS regions or make database changes to support new features and capabilities within a system, organizations should enable their operations teams to treat infrastructure as code to automate and manage it just like development teams do with source code.
Just as with application development, some operations tasks aren’t repetitive enough to be standardized. When deciding what to automate:
- Assess your current process. Operations needs to understand the services they provide and how they provide them within the system delivery life cycle.
- Determine what can be codified. Evaluate each step of the work typically serviced by Operations to determine what can be automated and managed as infrastructure as code.
The Impact on Time
The more steps you can automate in the system-delivery process, the more time you can save and the higher quality output you can deliver. Instead of sending an email to someone and waiting for them to manually provision the target environment or modify a CICS region or database tables, it may be possible to codify that work so it can be managed within a source code management tool and leveraged in an orchestrated pipeline to automatically execute.
Without treating infrastructure as code and leveraging automation, your operations teams will continue at the same pace while your development teams accelerate, constraining the speed and frequency with which innovation is delivered.
If you can refresh your test environment as needed to automatically test changes every time they’re made, you can reduce the time required to successfully test and implement code changes as well as improve quality through a standardized environment that looks the same every time.
Changing the Role of Operations
There’s always a fear that operations teams will see infrastructure as code as an infringement on their job. But should automation really be anathema to those with specialized skill sets? It doesn’t have to be.
By treating infrastructure as code, your operations teams can remove redundant and mundane tasks to focus more on value-added tasks that allow your organization to compete more effectively. Infrastructure as code isn’t an infringement on Operations; it’s an enhancement your operations teams should embrace.
These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.
See an error or have a suggestion? Please let us know by emailing firstname.lastname@example.org.