What is DevOps and How it works ?

Ilyess Ennaceur
5 min readMar 24, 2019

What Is DevOps ?

DevOps is a term for a group of concepts that, while not all new, have catalyzed into a movement and are rapidly spreading throughout the technical community. Like any new and popular term, people may have confused and sometimes contradictory impressions of what it is. Here’s my take on how DevOps can be usefully defined; I propose this definition as a standard framework to more clearly discuss the various areas DevOps covers. Like “Quality” or “Agile,” DevOps is a large enough concept that it requires some nuance to fully understand.

Definition of DevOps :

DevOps is a combination of cultural philosophies, practices and tools that enhance a company’s ability to deliver applications and services at a high rate, for products that evolve and improve faster than those of companies using traditional software development and infrastructure management processes. This speed allows companies to better serve their customers and gain competitiveness.

How DevOps works ?

In a DevOps-based model, development and operations teams are no longer isolated. Sometimes they are merged into one team. The engineers who compose it then work throughout the entire life cycle of an application, from its design and test to deployment and operation, and develop a range of skills related to different functions.
In some DevOps models, quality assurance and security teams can also be more integrated into the development, operation and the rest of an application’s life cycle. When each person on a DevOps team focuses on security, it is sometimes a question of DevSecOps.
These teams use practices to automate processes that were once manual and slow. They leverage a technology stack and tools that help them operate and evolve applications quickly and reliably. These tools also help engineers to perform tasks autonomously (for example, code deployment or infrastructure provisioning) that would normally require the help of other teams, which further increases their Productivity.

The benefits of DevOps :

  • Speed :

Advance faster, accelerate the pace of innovations for your customers, improve your ability to adapt to the market and gain efficiency. With the DevOps model, these goals are within the reach of your development and operations teams. For example, microservices and continuous delivery allow teams to take ownership of the services and update them more quickly.

We can use:

— JUnit for unit testing and regression testing

— JMeter — an open-source tool to load test functional behavior and performance measures

— Selenium for test automation

— Appium for cross platform testing

— Robot Framework — an operating system and application independent automation framework for acceptance testing and acceptance test-driven development (ATDD)

— vcr for automatic recording and replay HTTP interactions with minimal code

— Jira TestNG for structuring and monitoring the progress

— Cucumber for automated acceptance tests written in a behavior-driven development (BDD) style

— PyTest for writing tests with almost zero overhead for creating unit tests.

  • Fast delivery :

Increase the pace and frequency of publications to improve and innovate faster. The faster you publish new features and fix bugs, the sooner you can meet your customers ‘ needs and gain competitiveness. Continuous integration and continuous delivery are practices that automate the process of software publishing, from design to deployment.

  • Reliability

Ensure the quality of application updates and infrastructure changes to deliver a reliable product at an accelerated pace while continuing to deliver a positive experience to end users. Use practices like continuous integration and continuous delivery to ensure that each change is functional and safe. Monitoring and logging practices help you stay informed about real-time performance.

  • Evolutionary

Operate and manage your infrastructure and development processes on a large scale. Automation and consistency help you manage complex or changing systems in an efficient and less risky way. For example, infrastructure as a code helps you manage your development, test, and production environments in a consistent and more efficient way.

DevOps Reading List :

DevOps is still new so an undefined batch of blogs that changes monthly and following people on Twitter is often the best source of up to date information. Yes, that’s annoying. However, there are several books and other reliable sources of good information you can use and then share with others.

  • Top pick — The DevOps Handbook, by Gene Kim, Patrick Debois, John Willis, John Allspaw, and Jez Humble, came out in late 2016 and is finally a definitive source on DevOps. If you just get one book, get this one.
  • The Phoenix Project, Gene Kim, George Spafford, Kevin Behr — In novel format inspired by the seminal Lean work The Goal, this is a narrative of a DevOps implementation in a troubled software company.
  • Web Operations, various — An O’Reilly book collecting a series of essays on Web operations that are really thoughts from a lot of the key DevOps pioneers.
  • Continuous Delivery, Jez Humble and David Farley — While CI/CD isn’t the sum total of DevOps like some people would have it, it’s certainly a major area of innovation and this is the definitive work on it.
  • A Practical Approach to Large-Scale Agile Development, Gary Gruver — For those who think DevOps is just for startups or just for Web software, this is the tale of how the HP LaserJet firmware division transitioned to an agile/CI/DevOps structure.
  • The Practice of Cloud System Administration, Tom Limoncelli, Strata Chalup, Christina Hogan — A textbook style guide from the operations side, with loads of great new-style systems guidance and a lot of explicit DevOps content.
  • Release It!, Michael Nygard — There needs to be more books like this, it explains common systems failure patterns and success patterns — I think of it as the Gang of Four Design Patterns book for systems.
  • Lean Software Development, Mary and Tom Poppendieck — Lean is being increasingly adopted within the DevOps community, but starting from Deming and TPS is somewhat intimidating. This book is the seminal work on Lean in software.
  • And round it off with Gareth Rushgrove’s DevOps Weekly email newsletter.

For more Information, Please write me to ilyessnaceur@gmail.com

--

--

Ilyess Ennaceur

Network engineer | International multidisciplinary engineering School of Sousse-Tunisia