DevOps is revolutionising the software industry. It can be tricky to implement well, and is often mis-understood. This piece looks to explain how its adoption can bring significant operational benefits . It will cover:
- what DevOps is
- why you should care
- pitfalls to avoid when implementing DevOps
What does the acronym stand for?
Development and Operations.
So, what does DevOps include?
A DevOps approach reduces risk through improved communication, collaboration and automation compared to a traditional siloed approach. Good DevOps practice includes:
- Continuous Integration/Continuous Delivery (CI/CD)
- Multi-disciplinary teams owning the product from planning to release and support
- Monitoring and logging
DevOps works well with:
- Lean project management, usually utilising an Agile framework
- Version control
- Configuration management
- Infrastructure as Code
If that is DevOps, what is DevSecOps?
As DevOps is about removing data silos to encourage seamless communication and collaboration, expanding this to other departments (in this case, security) makes sense as a natural evolution. Some have said that DevSecOps is unnecessary term as security should be included in the DevOps approach. However, we like the distinction as it emphasises the need to include the often-forgotten security teams. DevSecOps includes the security teams and stakeholders’ perspectives from the beginning. This ensures that applications have a considered approach to data governance, compliance and security audits.
Why is automation important?
Automation is crucial for two reasons; your team’s time and the reliability of a process.
It removes the burden of repetitive tasks from your staff, giving them more time to produce valuable work, accelerating projects and reducing costs. Automation improves many simple actions, avoiding human error, forgetfulness and competing priorities to ensure consistent results.
The use of automation can vary between different DevOps applications. However, some of the most prominent use cases include automatic integration of code changes, version management, functional testing, dynamic and static application security testing, application build and deployment.
What is CI/CD?
Continuous Integration and Continuous Delivery is using automation to allow rapid, repeatable iterations of reliable software development and deployment. It can, for example, include the automation of application build and testing triggered by new code changes.
Why value CI/CD?
CI/CD can make your software processes, easier, more repeatable and faster. It improves the feedback loop for driving change, fixing issues and delivering value to the end user.
CI/CD automation encompasses numerous phases within the DevOps infinity loop (seen below), these include:
- All feeding into the continuous planning
A mature implementation of CI/CD will integrate all stages of creating and deploying software into a single, one-click workflow.
A process driven by DevOps can be represented as a continuous feedback loop as the above DevOps infinity loop illustration shows.
Why should I care about DevOps?
- It is the best way to run a team. With a single multi-disciplinary team there is no silo induced friction, less time wastage and maximised output through close collaboration and shared responsibility.
- It reduces risk. Through CI/CD and automation delivering constant feedback, you fully utilise your team to rapidly respond to changing system metrics and process performance.
- Allows your team the freedom to focus on value to the customer. With feedback loops providing the basis for bug fixes early in the process, your team reduces the risk of deploying buggy code, creating reliable value for your customer.
What does Dootrix do?
We work with companies to create a DevOps approach personalised for their team, supported by DevOps best practices, agile process and automation. Enabling companies to create customer value through a collaborative, iterative software development process.
If you think DevOps would suit your company/team, reach out to engage with our experts here
What would Dootrix advise for a company considering the approach?
- Start small. Implementing DevOps is a significant change, it will take time to optimise the approach.
When working with clients, we target one or two high-value proof of concept projects. These projects display the benefit of the approach while localising the processes and tools for the users, easing future rollout within an organisation.
- Get endorsement from key stakeholders. Ensure that the key stakeholders understand the potential value while agreeing a clear definition of success.
Removing the traditional siloed team structure could confuse reporting lines, team dynamics and leadership. By engaging key personnel with the change, you build resilience into your DevOps implementation strategy.
- Get advice, don't go it alone. Like any change in approach, there is no need to go through the pain that someone else has already endured. There are resources and companies to help guide you through this. Leveraging expertise lessens the risk and increases the likelihood of DevOps success for your company.