Thursday, April 23, 2020

DevOps 101

DevOps = culture + processes + automation(tools)

What is DevOps?
DevOps is an approach that focuses on bringing the Development and Operations team together to obtain products and services with maximum efficiency and quality.

DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.

DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

DevOps is short for development and operations. It bridges the gap between three traditionally siloed departments: development (dev), quality assurance (QA), and operations (ops). Its goal is to deliver high-quality software in a shortened systems development lifecycle.

DevOps is nothing but a set of philosophies, practices, and tools that help an organization to deliver better products faster by facilitating an integration of the development and operations functions.

In a nutshell, it is culture, mindset, methodology, framework.

How is DevOps?
DevOps requires a philosophical and cultural change combined with a more practical implementation of tools and best practices.

DevOps is achieved through tools, processes, and automation, but, even more than that, through a change in organizational culture. DevOps requires strong teams, communication, and transparency between departments. Everyone is involved throughout the software creation process and, therefore, everyone gains a sense of ownership over the final product.

A brand-new team that is rolling out a new software service would require someone with good experience in infrastructure provisioning, deployment automation and monitoring. A team that supports a stable product might require the service of an expert who could migrate home-grown automation projects to tools and processes around standard configuration management and continuous Integration tools.

DevOps engineer must be able to understand and use a wide variety of open-source tools and technologies.

DevOps brings a holistic approach to the complete business delivery system.
  • Other skills necessary for the job are more about mindset.
  • Most of the steps in this process are automatically done.
  • DevOps mainly works in a sense by automating a lot of the tasks.
  • DevOps initiates on automating as much as possible using multiple tools.

The DevOps lifecycle is all about agility and automation. Each phase in the DevOps process flow focuses on closing the loop between development and operations and driving production through continuous integration, delivery, deployment, and feedback.
  • Coding – code development and review, source code management tools, code merging
  • Building – continuous integration tools, build status
  • Testing – continuous testing tools that provide quick and timely feedback on business risks
  • Packaging – artifact repository, application pre-deployment staging
  • Releasing – change management, release approvals, release automation
  • Configuring – infrastructure configuration and management, infrastructure as code tools
  • Monitoring – applications performance monitoring, end-user experience

The DevOps strategy has a few steps to be followed for a successful implementation process.
  • 1) Initiating the DevOps culture
  • 2) CI/CD process
  • 3) Containerization
  • 4) Integrating DevOps tools
  • 5) Continuous testing
  • 6) Monitoring application performance

Why is DevOps?
DevOps is used in the software development life cycle (SDLC) to improve the methodologies.

If we can consider the Software Life Cycle divided into these five processes:
  • Continuous Development
  • Continuous Testing
  • Continuous Deployment
  • Continuous Monitoring
  • Continuous Integration

DevOps will automate all these processes with the following benefits
  • Improve team leaders' experience and effectiveness
  • Continuous delivery
  • The ability of different disciplines (development, operations, and infosec) to achieve win-win outcomes
  • Increase organizational performance
  • Avoid deployment pain
  • Lean management practices

No comments:

Post a Comment