10000 GitHub - user01010011/devops-resources: DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP

Notifications You must be signed in to change notification settings

user01010011/devops-resources

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ℹ️  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 submitting pull requests


DevOps
DevOps
Jenkins
Jenkins
Git
Git
Ansible
Ansible
Network
Network
Linux
Linux
Terraform
Terraform
coding
Coding
Python
Python
Go
Go
Bash
Shell Scripting
kubernetes
Kubernetes
VictoriaMetrics
VictoriaMetrics
Prometheus
Prometheus
Mongo
Mongo
Cloud
Cloud
AWS
AWS
azure
Azure
gcp
Google Cloud Platform
openstack
OpenStack
security
Security
puppet
Puppet
ELK
ELK
ELK
DataOps
OpenShift
OpenShift
sql
SQL
Containers
Containers

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 VictoriaMetrics, 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
How to Become a DevOps Engineer in Six Months? Skills you need to become DevOps Engineer

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
Who is DevOps? - Spacelift Who is DevOps? Is it Worth it to Become a DevOps Engineer?

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

    My top picks:

    Name Description
    Codefresh Blog Probably best GitOps content out there

    Other DevOps & Software Engineering related blogs

    Name Description
    Spacelift Blog Excellent tech blog on Kubernetes, Ansible, Terraform and Engineering in general
    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
    DoorDash Engineering Blog Not only DevOps
    Palark tech blog Tech blog dedicated to DevOps & SRE

    Articles

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

    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"
    cheat-sheet-pdf "Cheat-Sheet Collection for DevOps, Engineers, IT and more"
    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

    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)
      • Spacelift ($$$)
    • Images

    • 841D

      Cloud

      • AWS
      • Azure
      • GCP
      • OpenStack
    • Monitoring

    • Log Management

    • Dashboards

      • Grafana
      • Kibana (Elastic)
      • Report Portal (Mostly for Test Automation)
    • 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
    • Containers Orchestration

      • Kubernetes
      • OpenShift
      • Nomad
    • Alerting

      • PagerDuty
      • ServiceNow
      • Slack (Mostly used for IM)
    • Metric Storage

      • InfluxDB
      • Splunk
      • Cloud Storage services and Databases

    More Infra & DevOps projects

    Credits

    Images and icons attribution can be found here

    License

    License: CC BY-NC-ND 3.0

About

DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Groovy 58.1%
  • Python 41.9%
0