Introduction

Let’s start a new serie of articles on DevOps ! Before talking about methods, good practices, automation, CI/CD, pipelines or DevOPS tools, we will begin by defining what is DevOps.

What is Development ?

In the software industry, development is referred to as a process by which software is created using procedures or programming language. It involves coding, which provides functionalities and features to the customer.

What is Operation ?

Operations, in another hand, include administrative processes and support for hardware and software. It means, infrastructure management, monitoring and quality assurance for customers and internal to the company.

What is DevOps ?

The contraction of β€œDev” and β€œOps” refers to replacing siloed Development and Operations we just discussed abut. The goal is to create multidisciplinary teams that now work together with shared and efficient practices and tools !

DevOps practices include several topics we will discuss in upcoming articles. However, let’s get the basics on all of them πŸ™‚

Continuous Integration

Continuous integration (CI) is the practice of merging all developers’ working copies to a shared mainline several times a day. The workflow is the following :

  • Run test locally
  • Compile code
  • Run tests
  • Deploy

Continuous Delivery

Continuous Delivery comes after CI and it is the ability to introduce changes with every commit, making the code ready for production so that it can be deployed to production on demand and as a routine activity. Code changes can be like new features, bug fixes, updates, configuration changes, etc.

The workflow is the following :

  • Release
  • Deploy
  • Operate

Continuous Deployment

Continuous Deployments contrasts with continuous delivery, in which software functionalities are also frequently delivered and deemed to be potentially capable of being deployed but are actually not deployed. In Continuous Deployment, softwares are deployed automatically.

Version Control

Usually using Git, enables teams located anywhere in the world to communicate effectively during daily development activities. It makes it easy for you to keep track of collaborative and personal projects. Each file on GitHub has a history, making it easy to explore the changes that occurred to it at different time points.

Agile Planning

Agile planning is used to plan and isolate work into sprints, manage team capacity, and help teams quickly adapt to changing business needs.

Monitoring and Logging

Monitoring and Logging of running applications including production environments for application health as well as customer usage, helps organizations form a hypothesis and quickly validate or disprove strategies

Infrastructure as Code

Process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. Famous tools are Puppet, Ansible or Terraform.

MicroServices

Microservices describes the architectural pattern of composing a distributed application from separately deployable services that perform specific business functions and communicate over web interfaces. DevOps teams encapsulate individual pieces of functionality in microservices and build larger systems by composing the microservices like building blocks.

Containers

If you have no idea what containers are, you should definitively check my previous articles related to containers πŸ˜‰

https://www.linkedin.com/pulse/docker-series-what-lionel-gurret/

Why DevOps rocks ?

Here are the benefits of DevOps for your company :

  • Improves deployment frequency
  • Increased code quality
  • Lowers the failure rate of new releases
  • More collaboration between the teams and departments
  • Shorter lead times between fixes
  • Improves the mean time to recovery

Sources

Microsoft.com

Leave a Comment

Your email address will not be published. Required fields are marked *