top of page

What is DevOps ?

DevOps is  the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.






 

How DevOps Works ?

Development and Operations teams are are merged into a single team where the developers/engineers/quality assurance and security teams work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps. DevOps teams uses tools and  practices to automate the processes which helps them operate and evolve applications quickly and reliably. 

Benefits of DevOps

  • Speed

  • Reliability

  • Rapid Delivery

  • Security

  • Scale

  • Improved Collaboration

DevOps Practices

  • Continuous Integration

  • Continuous Delivery

  • Microservices

  • Infrastructure as Code

  • Monitoring and Logging

  • Communication and Collaboration

Overview of CI/CD

  • CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development.

  • Main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment.

  • CI/CD is a solution to the problems integrating new code can cause for development and operations teams

  • CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or site reliability engineering (SRE) approach.

What's the difference between CI and CD (and the other CD)?

  • The acronym CI/CD has a few different meanings. The "CI" in CI/CD always refers to Continuous Integration, which is an automation process for developers.

  • Successful CI means new code changes to an app are regularly built, tested, and merged to a shared repository.

  • It’s a solution to the problem of having too many branches of an app in development at once that might conflict with each other.

  • The "CD" in CI/CD refers to Continuous Delivery and/or Continuous Deployment, which are related concepts that sometimes get used interchangeably.

  • Continuous Delivery usually means a developer’s changes to an application are automatically bug tested and uploaded to a repository (like GitHub or a container registry), where they can then be deployed to a live production environment by the operations team.

  • Purpose of continuous delivery is to ensure that it takes minimal effort to deploy new code.

  • Continuous Deployment refers to automatically releasing a developer’s changes from the repository to production, where it is usable by customers.

  • It addresses the problem of overloading operations teams with manual processes that slow down app delivery.

  • It builds on the benefits of continuous delivery by automating the next stage in the pipeline.

What are some common CI/CD tools and when to choose which one?

One of the best-known open-source tools for CI/CD is the automation server Jenkins. Some of the other prominent CI/CD tools are Gitlab, Travis CI, Bamboo and Spinnaker

bottom of page