Demystifying DevOps

Demystifying DevOps

In this article, I will be writing about DevOps culture, the different phases of the DevOps lifecycle, and why companies adopt DevOps.

What comes to mind when you hear DevOps?

According to Wikipedia, DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

In layman's terms, DevOps shortens the time it takes to develop software from start to finish. So do you get it now?

The DevOps Culture

The DevOps culture is all about a shared understanding between software development and operations and sharing responsibility for the software they build. That means increasing transparency, communication, and collaboration across development, IT/operations, and "the business" culture. By doing all of these you improve how things are done and reduce the tension between the operations and development, they can both focus more on tasks rather than think about waiting on feedbacks from either team.

Nice right? there is more...

After a couple more digging I found out for DevOps to be successful, there has to be a cultural and mindset change within the organization that is adopting it. This is where DevOps culture comes in. I am sure you must have heard of the saying “DevOps is a culture, not a role” I agree with this, and here is why.

DevOps culture emphasizes collaboration, communication, and shared responsibility. For this culture to succeed each team is meant to follow or hold on to these three points and work together. Collaboration across teams speeds work, communication brings understanding, and shared responsibility makes everyone accountable for any problems that arise not to point blames but if everyone feels responsible for problems they will work together to fix them.

DevOps Lifecycle

DevOps is implemented in different phases with the help of several tools, example of those are;

  • Plan - this is where the development team puts down a plan keeping in mind the application objectives that are to be delivered to the customer.

  • Code - this is where the development team works on the same code and different versions of the code are stored into a repository which is managed by a tool called git, this process is called version control

  • Build - the code is made executable with tools like Maven and Gradle.

  • Test - after building the code it is tested for bugs or errors example of tools used here is Selenium and Appinum amongst others. After it passes the test it moves to the deploy stage
  • Deploy - the operations team deploys the code to the environment. Example of tools used in this process is Docker, Ansible, Kubernetes.
  • Monitoring- after deployment, the product is continually monitored. Examples of Tools used are Nagios and Zabbix

Now the big question...

Why DevOps?

Companies like Netflix, Amazon, Adobe, and the likes are implementing DevOps. Why are they doing this? The answer is simple. These companies are adopting DevOps because the DevOps approach allows companies to adapt faster to update and developmental changes. These changes could take days to weeks but the implementation of DevOps reduces the time to market.

In conclusion, DevOps is an emerging field that has come here to stay and for good reason so if your company isn’t adopting DevOps and it meets the minimum requirements to why not try it.

Please like and share with a friend and you can also reach out to me via Linkedin or Twitter ... Until next time