DevOps As A Culture
The Devops Mindset. Image Credits: Wikipedia
I honestly started to think that the word “DevOps” now becomes a meaningless buzzword. From what I’ve learnt, DevOps was never a role, it’s a development culture. Looking at the job listing of some tech companies, I feel weird that there’s now a Senior Devops Engineers role. If it’s about maintaining and governing the software that has been deployed it’s just, really, the plain-old Operations Engineer. Changing their title does not mean the company have DevOps Culture.
The Culture Of DevOps
From my observation as well as talking with people working in startup to big enterprises, some think DevOps is one of the following:
- A Dev who think like an Ops guy.
- An Ops guy who can dabble in Python and Shell Script.
- Sysadmin and NOC guy re-invented
Which, unfortunately devops is none of the above. The point of DevOps is to break the silos between a development and operations guy. To make a shared ownership on code in production and increase collaboration between team.
If an organisation ever have a sign-off or hand-off process and extensive documentation between development to operations team. It’s a telltale sign that they’re just use devops as a blanket. Having DevOps as a role just make more silos as developers just think that the ‘devops guy’ is just an ops guy. The role within a devops team is still the same. DevOps as a culture only blurs the line between developers and operations guy.
It’s frequent for developers to disengage when it comes to operations and maintenance. In a team with devops culture, developers and operations share their responsibilities. Developers will aware of the operations’ pain so they can find a way to improve deployment and maintenance, for example, by improving logging and monitoring or to gain insight from monitoring in production. Likewise, the operations team will share the responsibility of the system business goal.
The first collaboration between developers and operations team usually as a form of adoption of automation by operations staff and the awareness of developers into operational concerns such as monitoring and logging.
The goal of adopting devops is to deliver code to production much more quicly without too much beauraucracy. It’s a competitive edge in ever-evolving business in 21st century.
Operations Is Part Of Agile Team
To foster adoption of devops. It’s important to involve operations team during iteration. During iteration, the role of operations team is to make sure that code can be deployed on day one quickly. These are the tactical approach:
- Make a formal process on developing, testing, and deploying the code. Making criteria on what kind of code is deemed releasable. This can be metrics such as test or test coverage.
- Separate environment and decouple feature release, deployment, and production.
- Automate ALL the frequent deployment and testing tasks.
- Create agility within organisation to be able to focus on things that matters (revenue, user acquisition, etc.)
Devops has never been a formal role. The only way to have ‘devops’ in an organisation is remove barrier between developer and operations staff not by adding more role. If you’re doing microservices, the culture should be already internalised in the team’s heart and mind.