Blog Archive

Sunday, 12 August 2018

Demystify DevOps

DevOps is short for (software) development and operations.
DevOps is a concept, which means it is like a large basket and contains many things including DevOps philosophies, culture, practices and tools. The main goal of DevOps is to accelerate the process from integration, testing, releasing to deployment and infrastructure management. Bass, Weber, and Zhu defined it by:
"DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality. "[1]
With this concept, development team and operation team are not siloed any more. Instead, they are merged and unified on a toolchain level across the following stages shown in the diagram:
Such toolchain involves all kinds of tools that you may already be familiar with:
  1. Code — Git, Jira, Eclipse
  2. Build — Maven, Gradle, Ant
  3. Test — Selenium, JMeter, NUnit, Specflow
  4. Release — Jenkins
  5. Deploy — Chef, Ansible
  6. Operate — Amazon Web Service, Azure 
  7. Monitor — Nagios, Sensu
The advantages of DevOps are obvious: speed, reliability, scalability, security and collaboration.

[1] Bass, Len; Weber, Ingo; Zhu, Liming. DevOps: A Software Architect's Perspective.

No comments:

Post a Comment

Software Testing Tools

There are various software testing tools available for QAs to increase efficiency, visibility, accuracy, and ability of their work. The tool...