A Beginner's Guide to Starting in DevOps

Fuhad YusufFuhad Yusuf
4 min read

What is DevOps

DevOps is a software development methodology that accelerates the delivery of higher-quality applications and services by combining and automating the work of software development and IT operations teams.

DevOps is a term coined to describe the need to accelerate the process of developing and optimising application deployments to enhance users’ usage and ensure a very short time to production.

DevOps is coined from Development and Operations, as it tends to bridge the gap between both aspects of the software development lifecycle(SDLC).

Imagine having to wake up around 2:00 am because a recent bug change has broken production. However, with DevOps, extensive tests are done before any code updates are added to the shared repo.

To truly acclimate to the DevOps world, the following are core principles that act as the foundation for the DevOps culture. (PS: These principles may differ from organisation to organisation, but their general goal is the same across the board)

Continuous Integration/Continuous Delivery (CI/CD): (Automating the integration of code changes and deployment to reduce downtime and lag, and ensuring all tests are done correctly).

One of the core principles of DevOps is continuous integration and continuous deployment. New code changes are continuously integrated into a shared repo and tested. This is to ensure that no bugs are pushed to the main codebase. Continuous deployment ensures that once the new features/code changes are vetted in the CI pipelines, they can be immediately deployed, thereby reducing the time and red tape associated with old software development practices.

Shared Responsibility: (Ensuring all hands are on deck in the software development process)

Another principle in the DevOps culture is the shared responsibility nature of DevOps, unlike the traditional “us vs them”, common among the development and operations teams, DevOps teams are responsible for the product from initial planning to delivery. This ensures continuous collaboration and accountability.

Some other principles include:

Automation, Customer-Based Decision making, Data-Based decision making, Regular Improvements.

When was DevOps introduced.

DevOps gained widespread usage during the early 2000s, before then teams developed applications using the waterfall methodologies, which took several months/years to build, test, fix bugs, get feedback, and deploy to users. This method led to long-term delays before features are released, and many bug fixes can occur during this period, further delaying the deployment. Furthermore, the business needs may have changed, rendering all those months/years of work useless.
To improve this process, developer teams started adopting the Agile methodologies in development, foremost of them being the CI/CD. And as DevOps grew, it further enhanced the interaction between development and operations.

Why do organisations need DevOps.

DevOps grew out of a need to provide frequent updates and features to users and reduce the time between these separate actions. With the many processes and tools used to achieve this, teams can now develop and deploy new features to users in the shortest time possible and receive feedback for further improvements. Some important benefits of DevOps include

Better collaboration, Accelerated delivery, Greater Reliability of applications, Quicker Scaling of Resources, Enhanced security of applications against maliciousness.

Where does DevOps come in.

DevOps culture is needed and useful across all sectors of the SDLC, from development (allowing quick deployment of features to receiving feedback and users' pain points) to testing (allowing immediate testing for bugs and edge cases found in code changes). It’s also an important factor in security (as compliance teams don’t have to wait till the product gets to the market to start working on the security concerns). As they are easier and less expensive to address and continuously run those checks throughout the SDLC.

Myth Breakers:

Things I didn’t know about DevOps before now

I thought DevOps was all about deploying code on the server, but now I realise just how important they are as a critical asset of the organisation.

I didn’t know DevOps interfaced with the security aspects of the application, but now I get to see that with a DevOps culture, security of applications can be well thought out and added before the application becomes complex.

Fun Facts:

One sweet thing I learned about DevOps is the automation, you can automate literally everything you need in operations. And automation is also a part of its principles.

Conclusion

In essence, the DevOps culture is a methodology that fosters collaboration between the development and operations teams in an organisation to deliver well-structured and optimal products. It requires constant communication, shared responsibility among all stakeholders to ensure a streamlined approach to development and operations.

The DevOps culture is a continuously growing field with new subsectors opening up (DevSecOps, GitOps, AIOps, BzDevOps, etc) and with new technologies and tools developed to further aid in the administration of DevOps.

Thank you for reading so far, stay tuned for more thoughts as I continue my DevOps journey.

If you feel the need to read more on this topic, I found a good read on IBM DevOps topic page, and on roadmap docs.

1
Subscribe to my newsletter

Read articles from Fuhad Yusuf directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Fuhad Yusuf
Fuhad Yusuf