Best practices for applying the IBM DevOps approach
Business needs, market trends, and customer demands are forcing organizations to develop and deploy applications, products, and services at a rapid rate. Increasing speed, though, can also increase human errors, failed deployments, and production outages.
IBM DevOps offers best practices to manage faster releases. You can apply DevOps practices anywhere — wherever your greatest friction, blockages, or pain points are.
Pain points — and remedies
"My development team is bombarded by new and changing requirements that slow down progress and weaken quality."
Plan, track, and version everything
Continuous business planning ensures transparency
Whether it's a brand new app or feature to meet a customer requirement — or a change to a patch to the operating system, a change to a middleware parameter, an updated test case, or a bugfix — everything should be tied to a requirement and work item. This association lets you plan the ensuing activities, communicate about them, and know when they're done.
"I need to maintain a stable and secure IT production environment, but it's jeopardized when developers keep speeding up releases."
Collaborative development enables visibility
App status, app performance, build quality and status, production troubles, team efficiency, and bottlenecks should all be visible via dashboards, so the IT operations team knows what's coming and can prepare accordingly.
"My IT production team is tired of the inevitable 'release weekend.'
Continuous automation of release management ensures repeatability
Error-prone spreadsheets and legacy processes may be bogging your team down. Cut time, errors, and costs by automating the deployment of apps, middleware configuration, and database changes into development, test, and production environments. And with cloud, you can even automate the provisioning and deployment of the virtual machines, middleware, and application code.
"Everything is automated, except for quality."
Continuous testing ensures quality
All the automation in the world won't help you if you can't be sure that things work. You need to continuously test the VM configurations, the middleware installation, the deployment scripts and, of course, the application, software, or service.
Keep deployment scripts, infrastructure definitions for all environments, test cases, and code in an SCM system to enable rapid, error-free repeatability.
"Monitoring app performance late in the cycle leads to fire-fighting and finger-pointing"
Monitor and audit everything
Continuous monitoring ensures accountability
Agents monitor the application; audit logs capture the deployment actions; work items instrument teams' activities.