There is so much focus on improving release to production cycle in the last 18 months or so. I assume all of us know why?
- CD based products are dying and there is more focus on delivering services online
- Device explosion has given a lot of focus on building apps and releasing them
- The cloud provides a suitable environment to experiment in production and plan your releases based on customer feedback
- Technology & Tools helps to build an intelligent continuous integration environment
- Analytics & Machine Learning help in identifying smart patterns in productions
Everyone wants to operate in DevOps model to realize industry proven benefits such as
- Time to market: Much faster time to market compared to traditional release approach of software product and services.
- Low failure rate: It helps in reducing failure rates of any release by ensuring better collaboration between dev. and ops team.
- Decreased time between releases: Frequent releases in a short span of time help the products and services in the market.
- Improved recovery time: Recovery time for the system is better as compared to the traditional approach.
- Continues improvement: Regular feedback process helps in automation and continuous improvement in the quality of products and services.
Recently we worked very closely with one of our strategic customer using this approach and saw these benefit realization
DevOps implementation requires some real effort in all three key areas shown below
Technology plays an important role in driving this change.
There are multiple technologies available in market today to deliver DevOps Environment as shown below –
We must look for an opportunity to automate all the key steps involved in software engineering.
- Code analysis
- Unit test automation
- Release management
- Build and release configuration and management
- Create experimentation environment in production
- Setup continuous integration and deployments
- Automated De-provisioning of Infrastructure
- Product quality certification through
- Performance testing
- Security testing
- Functional testing
- Deployment testing
- Instrumentation to log data in production to generate app insight
We must look at the processes and KPIs as well to drive better collaboration and accountability in the engineering and ops teams.
- Involvement of operations team in project planning and execution
- New KPI to drive integrated excellence
- MTTD – Mean time to detection
- MTTF – Mean time to failure
- MTBF – Mean time between failures
- MTTR – Mean time to resolution
- Focus on Continuous improvements using
- Six Sigma, Lean methodologies
- Collect application insight from production
- Advance analytics using machine learning
There is so much discussion about change in people skills, role etc. as well in the industry. I strongly believe we still need core people to drive engineering and operations with high quality. Yes, there are additional skills needed to focus on operations excellence from the beginning.
Stay tuned, we will publish more about our learnings/ offering in next blogs… Happy Learning…
Click Here to learn more about the Engineering and R&D services By HCL Technologies.