Tools: Ecosystem

DevOps Concepts

Cem Sakarya

DevOps Risk Advisor

Requirements

 

  • Business and engineering interaction
  • Used throughout the software change management process
  • Project Management Tools
  • Communication Tools

Jira logo

Slack logo

Discord logo

1 https://atlassian.design/foundations/logos 2 https://slack.com/media-kit 3 https://discord.com/branding
DevOps Concepts

Version Control Software

  • Main change management technology is git
  • Git is a protocol used for version control
  • Git ensures multiple developers can work on the same software
  • Git has many implementations, most common ones are GitHub and GitLab

  Git

Github

Gitlab

1 https://git-scm.com/downloads/logos 2 https://github.com/logos 3 https://about.gitlab.com/press/press-kit/
DevOps Concepts

Build Tools

 

  • Software needs to be built to become executable
  • Main build tools are: Maven and Gradle

 

Maven

 

Gradle

1 https://maven.apache.org/ 2 https://gradle.com/brand/
DevOps Concepts

CI/CD Tools

 

  • CI/CD pipelines are the main principles of DevOps
  • CI/CD pipelines ensure automated building, testing, and deployment of software
  • Main CI/CD tools are Jenkins and CircleCI

 

Jenkins logo

 

CircleCI logo

1 https://www.jenkins.io/press/ 2 https://circleci.com/legal/trademark-guidelines/
DevOps Concepts

Deployment

 

  • Microservices are developed and deployed independently from each other
  • Containers imitate separate machines
  • Microservices are deployed on separate containers
  • Containers: Docker and Podman
  • Container orchestration: Kubernetes

Docker logo

Podman logo

Kubernetes logo

1 https://www.docker.com/company/newsroom/media-resources/ 2 https://podman.io/ 3 https://kubernetes.io/
DevOps Concepts

Monitoring Tools

  • Products need to be closely monitored and observed for quality and reliability issues
  • Monitor the DevOps health and change management metrics
  • Example tools used for monitoring are SignalFX and AppDynamics

SignalFX logo

 

AppDynamics logo

1 https://www.splunk.com/en_us/products/observability.html?301=/en_us/devops.html
DevOps Concepts

Data management tools: Kafka

 

  • Kafka is a message publishing system
  • Kafka is heavily used in microservices architecture
  • Microservices keep a journal of the work they do on Kafka

Apache kafka logo

1 https://kafka.apache.org/trademark
DevOps Concepts

Data pipeline management tools

 

  • Most tools used for both batch and streaming processing
  • Main tools used for data pipeline management are: Apache Airflow, Hevo Data, and Prefect

Apache Airflow

Hevo Data

1 https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow%20logos 2 https://design.hevodata.com/ 3 https://www.prefect.io/newsroom/logos/
DevOps Concepts

Recap

All tools shown on the DevOps Cycle

DevOps Concepts

Let's practice!

DevOps Concepts

Preparing Video For Download...