#DevOps
Containerized Developer Operations
Tactic
DevOps is the integration
and automation
of the software development and information technology operations. DevOps encompasses necessary tasks of software development and can lead to shortening development time and improving the development life cycle.
According to Neal Ford, DevOps, particularly through continuous delivery, employs the “Bring the pain forward” principle, tackling tough tasks early, fostering automation and swift issue detection. Software programmers and architects should use fitness functions to keep their software in check.
Although debated, DevOps is characterized by key principles: shared ownership, workflow automation, and rapid feedback.
From an academic perspective, Len Bass, Ingo Weber, and Liming Zhu—three computer science researchers from the CSIRO and the Software Engineering Institute—suggested defining DevOps as “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”. However, the term is used in multiple contexts.
At its most successful, DevOps is a combination of specific practices, culture change, and tools.
Containerization
In software engineering, containerization is operating-system–level virtualization or application-level virtualization over multiple network resources so that software applications can run in isolated user spaces called containers
in any cloud or non-cloud environment, regardless of type or vendor. The term “container” is overloaded, and it is important to ensure that the intended definition aligns with the audience’s understanding.
Container
orchestration
or container management is mostly used in the context of application containers. Implementations providing such orchestration includeKubernetes
andDocker
swarm.