devops-resources

授权协议 Readme
开发语言 SHELL
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 哈宪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ℹ️  This repository is about gathering any useful resources and information regarding DevOps and secondly, provide some roadmap for those who want to practice DevOps.

��  Feel free to add more resources by sumitting pull requests



DevOps

Jenkins

Git

Ansible

Network

Linux

Terraform

Containers

Coding

Python

Go

Shell Scripting

Kubernetes

Prometheus

Mongo

SQL

Cloud

AWS

Azure

Google Cloud Platform

OpenStack

Security

Puppet

OpenShift

ELK

DataOps

DevOps

DevOps Roadmap

  • The following path is opinionated. You can find alternative paths in the alternative roadmaps section
  • Do NOT attempt to learn everything, especially if you are a complete beginner (the burnout will make you regret you ever heard the word DevOps)
  • Learn enough to say "I know what is DevOps and I understand how to practice it". You can learn everything else by demand or when you feel ready

The must list

Topic What to learn Alternatives Description
Version Control Git - Version Control is used everywhere and Git is the leading version control technology
Programming At least one programming language None. Don't settle for learning only shell scripting Anyone who practice DevOps should know programming to some extent
Operating System Linux Other distribution of Linux :D Operating Systems is another must when it comes to DevOps
Protocols DHCP, UDP, TCP, HTTP, SSH Not as an alternative, you can simply learn later: NFS, NTP, FTP Learn how these protocols work and what they are used for
Applications Web Server, Load Balancer, Cache, Database Learn how they work and try out some implementations (e.g. MySQL for databases and httpd for web servers)
System Design Availability, Reliability, Scalability, Performance Learn how to design infrastructure and systems

The second must list :)Seriously though, don't try to master everything in this list and start with something that you are interested in. The order has no meaning in this case.

Topic What to learn Alternatives Description
Configuration Management and IaC Ansible and Terraform CM: Chef, Puppet and Salt. IaC: Pulumi and CloudFormation
Cloud Azure, AWS, GCP -
Containers Podman and Kubernetes Docker instead of Podman. Nomad instead of Kubernetes
CI/CD Jenkins, GitHub Actions Gitlab CI, Circle CI, Argo CD
Logging and Dashboards Elastic Stack, Report Portal, Grafana Graylog, Splunk
Monitoring Prometheus Nagios, Datadog

Alternative Roadmaps

There are other DevOps roadmaps and learning plans out there. If you feel the one above is little bit too much or just want to look at other options, maybe you'll find the following useful

Name Description
DevOps Roadmap DevOps skills roadmap. What to to learn at each step.
DevOps 3 Weeks Plan Detailed plan on what to do at each day

Learn about DevOps

Name Description
What is DevOps? - Amazon Learn what is DevOps by Amazon and which AWS services can help you to practice DevOps
What is DevOps? - Red Hat Learn what is DevOps by Red Hat, including many interesting articles
What is DevOps? - Microsoft Learn what is DevOps by Microsofy, including Azure DevOps service
What is DevOps? - Google Learn what is DevOps by Google

Learn Git

Make sure you are comfortable with the following list once you done learning Git basics

  • Commit changes to a project
  • Submit pull/merge requests
  • Working with branches
  • Rebase changes (change order, squash, ...)
Name Description
Interactive Git Branching Learning Visual and interactive way to learn Git branching
Learn git concepts, not commands Article on Git concepts
Codeacademy Learn Git Not Free

Programming

Practicing DevOps without knowing programming is like eating cornflakes with ketchup - it's just doesn't makes sense (yes, my analogies are the worst).
Here is a list of some good sites to practice programming in general:

Name Comments
HackerRank Practice Coding skills
Exercism Over 48 languages and 2600 exercises
LeetCode Practice programming online

A better approach might be to actually write some DevOps related scripts or projects. Start simple. Here are some ideas:

  • Write a script that gets a number of instances and a name of a platform (AWS, local, Azure, ...) as parameters and provisions those instances on the chosen platform
  • Write a script to parse logs and extract some specific information you are interested in
  • Write a script that extracts information from some website using web scraping libraries

Operating Systems

Deep dive into operation system internals. Linux should be your first choice.Here is a list of resources that will help you learn Linux.
Also, don't waste a second on picking the right distribution. For learning OS concepts and internals, any distribution would work fine.

Name Comments
Linux Journey Written guides + exercises + quiz
Techmint Linux Written articles/lessons
Linux Survival Interactive guide

Once you are familiar with the commands and feel comfortable enough to keep deep diving, learn some OS concepts:

  • Memory Management
  • Processes
  • Kernel
  • Virtulization

Linux Master Application

A completely free application for testing your knowledge on Linux

System Design

System Design can be a complex topic. For that reason, I've created a separate repository for you to learn it properly.

Tooling, Apps & Services

Name Description
Periodic table of DevOps tools Table of DevOps tools per category
DevOps tool chest List of DevOps tools
DevOps Bookmarks NSIA
CNCF Cloud Native Interactive Landscape CNCF's recommended path through the cloud native landscape
DevOpsBookmarks To discover tools in the devops landscape.

Interactive practice and learning sites

Learning by doing proved to be a very effective way to learn new things. If you are at a point where you don't feel comfortable enough to do it by yourself and you look for some guidance, the following sites might assist you

Name Description
KataKoda Linux, Docker, ML, Kubernetes, ... environments and scenarios
QWIKLBAS AWS, GCP, ... lab practice

Community

Another great way to learn is to learn from the experience of others. For that, the are some excellent DevOps communities.

Name Comments
Reddit DevOps Reddit DevOps Community
Linkedin DevOps Linkedin DevOps Community
DevOps Bits Facebook DevOps group. Disclosure: I started it :)

Conferences

Name Comments
DevOpsDays DevOps Conferences around the world
Velocity Oracle's DevOps conference

Books

Read book! Practice is important and the best way to learn practical things but reading about cultures, methods, concepts, ... has its own important role in your path towards mastering DevOps and SRE.

Name Comments
The Phoenix Project DevOps explained through a story of a fictional company on the brink of a failure
The DevOps Handbook
Google SRE books Very detailed books on the theory and also practice of SRE
Essential Infrastructure as Code VBook about automating software infrastructure by capturing desired configurations as a set of scripts.

Blogs & News

Name Description
opensource.com open source related articles including DevOps
CooperPress various newsletters on different topics
afreshcup "covering Ruby on Rails and whatever else I find interesting in the universe of software"
thisweekindevops.com "DevOps news without the hype"
Uber Engineering Not only DevOps
Azure DevOps Blog Microsoft DevOps Blog
DevOps Dudes "Shortening the system development life cycle"
Netflix Tech Blog Not Only DevOps
CloudBees Blog
Red Hat Blog Not only DevOps
Atlassian DevOps Blog
Facebook Engineering Blog Not only DevOps

Articles

Name Description
Infrastructure as Code, Part One
DevOps Best Practices What is DevOps + list of resources

DevOps Snippets

Name Description
DevOpsnipp Sharing DevOps Snippets
Gist Not DevOps specific

Other Great Projects

Name Comments
DevOps Wiki "A wiki of Devops Tools, Tutorials and Scripts"
System Design Primer "Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards."
awesome-sre A curated list of Site Reliability and Production Engineering resources

Interview Questions

Name Comments
System Design Primer "Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards."
kdn251 Interviews
DevOps Exercises By topic, DevOps related questions and exercises

Misc

Name Description
CheatSheets CheatSeets for Kubernetes, Jenkins, YAML, Groovy, etc.
Codelabs "Codelabs provide a guided, tutorial, hands-on coding experience"

Design & Architecture

Name Description
The 12 Factor App must-read in my opinion
A distributed Systems Reading List

DevOps Tooling

  • CI/CD
    • Jenkins (Managed & on-premise, Containers supported, Plugins)
    • GitHub Actions (Hosted service)
    • Travis (Hosted service)
    • CircleCI (Hosted service)
    • GitLab CI (Hosted service and on-premise)
    • Bamboo (Managed service and on-premise)
    • BuildKite (Hosted)
    • Zuul (Hosted and on-premise)
    • Drone
    • Tekton
    • Argo CD

Note: "Provisioning" tools can be used to perform configuration management to some extent. The same applies for configuration management tools, which can be used for pprovisioning.

  • Provisioning

    • Terraform (Open Source)
    • CloudFormation (Available only on AWS)
    • Pulumi (Open Source)
  • Configuration Management (all Open Source)

    • Ansible (Agentless, Mutable Infrastructure, Procedural)
    • Puppet (Agent, Mutable Infrastructure, Procedural)
    • Chef (Mutable Infrastructure)
    • Saltstack (Mutable Infrastructure)
  • Images

  • Cloud

    • AWS
    • Azure
    • GCP
    • OpenStack
  • Monitoring

  • Log Management

  • Dashboards

    • Kibana (Elastic)
    • Grafana
    • Report Portal
  • Security

    • Vault - "Secure, store and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets..."
    • Open Policy Agent - "Flexible, fine-grained control for administrators across the stack"
  • Code review

    • Gerrit - Code Review system
    • PullPanda - A collection of Tools such as reminder & analytics
    • Review Board
  • Issue Tracking

    • Jira
    • Bugzilla
  • Code coverage

    • Cobertura
    • Clover
    • JaCoCo
  • Data Processors

    • Spark
    • Apache Hadoop
    • Apache Airflow
    • Presto
  • Analytics Engines

    • Druid
    • Dremio
    • Snowflake
  • Operations Data

    • Salesforce
    • Zuora

More Infra & DevOps projects

Credits

Images and icons attribution can be found here

License

  • 版本说明 flume-1.9.0-bin hadoop-2.7.7 hbase-1.4.13 hive-2.3.6-bin jdk1.8.0_241 spark-2.4.5-bin-hadoop2.7 sqoop-1.4.7 tez-0.9.2-bin zookeeper-3.5.7-bin 前期准备 初始化命令 关闭防火墙 [root@localhost ~]# systemctl stop f

  • 查看虚拟机版本 uname -a 使用yum命令在线安装 yum install docker 安装后查看Docker版本 docker version 启动与停止Docker systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。  启动docker: systemctl start docker  停止docker: systemctl s

  • 1、jenkins-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: jenkins-admin #ServiceAccount名 namespace: yhd-jenkins #指定namespace,一定要修改成你自己的namespace labels: name: jenkins

 相关资料
  • 概述 DevOps 是 开发 和 运维 这两个词的缩写。DevOps 是一套最佳实践方法论,旨在应用和服务的生命周期中促进 IT 专业人员(开发人员、运维人员和支持人员)之间的协作和交流,最终实现: 持续整合 - 从开发到运维和支持的轻松切换 持续部署 - 持续发布,或尽可能经常的发布 持续反馈 - 在应用和服务生命周期的各个阶段寻求来自利益相关方的反馈 DevOps 改变了员工的工作思维方式;D

  • 上节课和大家介绍了Gitlab CI 结合 Kubernetes 进行 CI/CD 的完整过程。这节课结合前面所学的知识点给大家介绍一个完整的示例:使用 Jenkins + Gitlab + Harbor + Helm + Kubernetes 来实现一个完整的 CI/CD 流水线作业。 其实前面的课程中我们就已经学习了 Jenkins Pipeline 与 Kubernetes 的完美结合,我们

  • 翻译:Ranger Tsao 简介 Docker 是一个可以将应用部署在其中的轻量级、隔离的容器。应用程序并行运行在隔离的 Linux 容器中。如果从未使用过 Docker ,可以根据官方教程,轻松入门 Vert.x 提供两个 Docker 镜像给开发人员运行部署程序,分别是: vertx/vertx3 基础镜像,需要进行一些扩展才可以运行程序 vertx/vertx3-exec 给宿主系统提供

  • ks-devops 是基于 Kubernetes 的 DevOps 平台。 特性 开箱即用的 CI/CD 管道 用于使用 Kubernetes 进行 DevOps 的内置自动化工具包 使用 Jenkins Pipelines 在 Kubernetes 之上实现 DevOps 通过 CLI 管理管道

  • Learn DevOps Learn the craft of "DevOps" (Developer Operations)to easily/reliably deploy your App and keep it Up! Why? You should learn more "advanced" DevOps if: You / your team have "out-grown"Herok

  • ℹ️  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :) ��  There are currently 1726 questions ��  To learn more about DevOps and SRE, check