Updated: 03 September 2023

DevOps

Based on this DNA course

Overview

Introduction to DevOps

Development teams were separated into two parts

  • Software Developers
  • Operations

DevOps is the result of merging these two areas of operation together in order to support the software development lifecycle

We make use of DevOps processes, and other tools to automate out build, testing, deployment and monitoring

The purpose of DevOps is to help reduce the friction between the process software moving from development into production

DevOps enables us to more quickly and easily improve our project in response to customer needs

Key Benefits

  • Quickly go from code to production
  • Accelerate app delivery
  • Deploy confidently by using repeatable annd automated processes

We can improve our

  • Product
  • Environment
  • Processes

Where to start

We need to start off by looking at the entire ecosystem and identifying our key pain points, and start off by addressing that

Continuous Delivery vs Continuous Deployment

Continious delivery is the ability to deploy to any environment at any time

Continious deployment is the act of actually making the deployment, this is an option based on our software type and the type of changes we are actially making

IBM Cloud Continuous Deployments

DevOps Tools

We make use of a variety of tools for development, mainly broken into the following three groups

Source Code Management

  • Git
  • GitHub
  • Subversion
  • IBM Jazz
  • Microsoft TFS

Builds

  • Urban Code Build
  • Jenkins
  • Team City
  • Bamboo
  • Travis

Artifacts

  • Artifactory
  • Nexus