DevOps transformation cannot happen in one day as it is the long journey and long-range plan of,
(i) discovering the fact-finding mission to understand the what kind of tools & process working. What can be improved to best serve my organization needs, by working with the team, go-through process by process, that will help us to identify process ripe for improvements?
For example, talk with,
- IT team to know the process, tools, hardwares, manual effort, time-consuming task and list of services that are running on servers.
- Development team to know the bottleneck when new environment setup ready, Issues faced after the infrastructure ready, difficulties during the code commit in version control, environmental challenges or limitation faced during unit test, how is the code compiled either as a full module or submodule and how frequent codes are committed.
- Test team to know the process of how the test case designed, an effort for manual testing and scope of automation testing.
- Security team to know whether they involve an initial phase of the development lifecycle, security and compliance policies involved during the application & infrastructure deployments.
- Management/Business improvement team to know the company standards with regards to software reliability, quality & delivery.
(ii) Standardizing development method, packaging the module, Code commits on version control unit, User access policies, build status announcement, unit testing, Provision base configuration & application specific requirements, infrastructure as code, integration & acceptance testing, deployment & performance monitoring.
(iii) Automate complete build process under version control tool – the application code, infrastructure code, deployment scripts, test script, environment provisioning, third-party libraries & database schemas. So any changes due to environment mismatch can be tracked and maintained as a different file.
(iv) Identify Continuous improvement on other manual activity such as Database migration, network firewall rules setup, provisioning VM machines/cloud system & storage configuration, Scaling & high availability configurations. So the next steps would be on automating the complex application deployment, infrastructure deployment.
(v) Driving the innovation on cloud migration option, self-service tools for developers to provision the infra as per their needs, automate the legacy environments & adopting new technologies like containers or microservices.
There are six approaches well explained https://devops.com/six-step-approach-enterprise-devops-transformation/ about DevOps transformation.
Puppet Labs publishes the State of DevOps Reports based on responses from over 20,000 tech professionals worldwide. They conclude that organizations embracing DevOps practices consistently outperform their peers. For example,
- Companies with high-performing IT organizations are twice as likely to exceed their profitability, market share, and productivity goals.
- High-performing IT organizations experience 3 times lower change failure rates and recover 24 times faster than their lower-performing peers. They also deploy 200 times more frequently with 2,555 faster lead times.
For more information, see the following video and the 2016 State of DevOps Report.
Also, you can go-through case study in https://puppet.com/resources/case-study