90DaysOfDevOps Learning Resource

repository·main·Indexed 12 days ago

https://github.com/michaelcade/90daysofdevops

A structured, community-driven learning resource for DevOps and DevSecOps principles using open-source tools. Includes practical guides for deploying the ELK stack (Elasticsearch 7.8.0, Logstash 7.8.0, Kibana 7.8.0) and extensions such as APM Server, Enterprise Search, Filebeat, Metricbeat, Curator, and Logspout using Docker Compose.

Tokens
238.2K
Snippets
574
Records
1.2K
Agent score
94%

What's inside 90DaysOfDevOps

  1. Overview of Nagios for infrastructure monitoring

    main

    Nagios is an infrastructure monitoring tool used to check server status and determine infrastructure health. It provides a high-level view of whether servers are utilized correctly or if tasks are failing.

    There are two main versions:

    • Nagios Core: The open-source version.
    • Nagios XI: The commercial version.

    Nagios can alert engineers when a resource (like a disk or server) enters a critical state, allowing for proactive maintenance to avoid outages.

  2. Overview of Botkube for Kubernetes Troubleshooting

    main

    Botkube is a solution designed to streamline incident response and troubleshooting processes within Kubernetes clusters by integrating with communication platforms like Slack or Microsoft Teams. It centralizes collaboration, automates manual troubleshooting steps, and provides detailed incident information (such as resource descriptions and audit logs) directly within the chat interface.

    Key capabilities include:

    • Tailored Alerting: Uses specific channels to ensure teams (Developers, Platform Engineers, etc.) receive only relevant alerts, reducing noise.
    • In-Platform Incident Response: Allows users to resolve issues and execute commands without switching context from their communication tool to a terminal.
    • Automation: Leverages CNCF tools to speed up command execution and reduce reliance on Kubernetes experts.
    • Security: Integrates with Kubernetes RBAC (Role-Based Access Control) to ensure that actions taken via the bot are secure and authorized.
  3. Overview of the 90DaysOfDevOps Curriculum

    main

    The 90DaysOfDevOps curriculum is a structured learning path designed to provide foundational knowledge in DevOps over 90 days, dedicating approximately 1 hour per day. The curriculum covers over 13 core areas of DevOps, including programming, Linux, networking, cloud providers, version control, containers, Kubernetes, Infrastructure as Code (IaC), configuration management, CI/CD, monitoring, and data management.

    Curriculum Modules:

    • DevOps Fundamentals: Responsibilities, lifecycle, and Agile integration.
    • Programming: Focus on Go (setting up environments, syntax, and workspace).
    • Linux Basics: Commands, filesystem management, text editors (nano/vim), SSH, and bash scripting.
    • Networking: OSI model, protocols, and network automation using Python.
    • Cloud Provider: Deep dive into Microsoft Azure (Security, Compute, Storage, and Networking).
    • Git/Version Control: Installation, configuration, staging, and open-source workflows.
    • Containers: Docker (images, Docker Compose, networking, and security) and alternatives.
    • Kubernetes: Platform selection, cluster deployment, Rancher, and application deployment.
    • Infrastructure as Code (IaC): Terraform and HashiCorp Configuration Language (HCL).
    • Configuration Management: Ansible (playbooks, roles, inventory, and automation controllers).
    • CI/CD Pipelines: Jenkins, GitHub Actions, and ArgoCD.
    • Monitoring & Logging: ELK Stack, EFK Stack, Fluentd, FluentBit, and Grafana.
    • Data Management: Data services, backup/recovery, and disaster recovery.
  4. Overview of the 90DaysOfDevOps curriculum

    main

    90DaysOfDevOps is a structured learning curriculum organized into daily modules covering various domains of DevOps, DevSecOps, and Cloud Engineering. The curriculum is divided into several key thematic tracks:

    • DevSecOps: Foundational security integration.
    • Secure Coding: Practices for writing secure software.
    • Continuous Build, Integration, Testing: CI/CD pipeline fundamentals.
    • Continuous Delivery & Deployment: Automated release processes.
    • Runtime Defence & Monitoring: Protecting and observing running applications.
    • Secrets Management: Handling sensitive credentials.
    • Python: Programming for automation.
    • AWS: Cloud infrastructure.
    • OpenShift: Container orchestration.
    • Databases: Data persistence and management.
    • Serverless: Event-driven and managed compute.
    • Service Mesh: Microservices networking.
    • Engineering for Day 2 Ops: Post-deployment operations and maintenance.
  5. What is Jenkins and its core features

    main

    Jenkins is an open-source automation server written in Java, used to implement Continuous Integration (CI) and Continuous Delivery (CD). It automates the software development process by allowing for continuous development, testing, and deployment.

    Key Features

    • Easy Installation: Runs as a standalone Java-based program on Windows, macOS, and Linux.
    • Easy Configuration: Provides a built-in web interface for setup, configuration, and error checking.
    • Plugins: An extensive update center provides plugins to integrate with various tools in the CI/CD toolchain.
    • Extensibility: The plugin architecture allows for nearly infinite customization and use cases.
    • Distributed Architecture: Supports distributing work across multiple machines to accelerate builds, tests, and deployments across different platforms.
  6. Overview of GitHub features

    main

    GitHub is a web-based hosting service for Git used for Source Code Management (SCM). It provides a social aspect to coding through community interaction. Key features include:

    • Code Repository: Hosting for files and folders.
    • Pull Requests: A mechanism to notify maintainers of changes pushed to a branch, allowing for code review and contribution.
    • Issues: A project management toolset used to track work, bugs, and feature requests.
    • GitHub Actions: A CI/CD pipeline tool to automate building, testing, and deploying code.
    • Projects: Kanban-style boards to link issues and pull requests for better collaboration.
    • Wiki: A place for comprehensive roadmaps and documentation (troubleshooting/how-to).
    • Security: Tools for defining policies and code scanning (e.g., detecting secret environment variables).
    • Insights: Metrics regarding repository activity, commits, issues, and traffic.
  7. Overview of the 2023 DevSecOps Curriculum

    main
    The 2023 edition of the 90DaysOfDevOps curriculum focuses heavily on DevSecOps, integrating security throughout the entire lifecycle. The curriculum is structured into thematic modules covering security practices, continuous integration/deployment, runtime defense, secrets management, and specific technology stacks like AWS, Python, and Red Hat OpenShift. Each day provides a specific lesson designed to build a comprehensive DevSecOps skill set.
  8. Overview of 90DaysOfDevOps learning paths

    main

    90DaysOfDevOps is a structured learning project designed to build foundational knowledge of DevOps principles, processes, and tooling using free, community, and open-source software. The project is organized into three primary learning tracks:

    • DevOps: Core foundational content covering DevOps principles and tooling.
    • DevSecOps: Focused on security topics and perspectives from subject matter experts.
    • Community Edition: A collection of community-led sessions (e.g., 91 sessions shared on YouTube) providing diverse media and resources.

    Users are encouraged to read and watch the content, provide feedback, and engage with the community to discuss findings.

  9. Overview of Gickup for Git repository backups

    main

    Gickup is a tool written in Go designed to automate the backup and restoration of Git repositories. It connects to the APIs of various hosting services to retrieve repository contents and metadata.

    Supported Platforms:

    • GitHub
    • GitLab
    • Bitbucket
    • SourceForge
    • Local repositories
    • Any Git repository accessible via credentials

    Key Capabilities:

    • Local Backups: Save repositories to a local directory, with support for structured directory layouts.
    • Mirroring: Mirror repositories from one hosting platform to another (e.g., GitHub to GitLab).
    • Restoration: Recreate deleted repositories by grabbing the origin and pushing changes.
    • Automation: Once configured via YAML, the process can be fully automated.
  10. Overview of the 90DaysOfDevOps Learning Path

    main

    90DaysOfDevOps is a structured learning curriculum designed to teach DevOps fundamentals over a 90-day period. The goal is to master 13 key DevOps-related domains by dedicating approximately one hour per day. The curriculum covers the following core modules:

    • DevOps Fundamentals: Responsibility, lifecycle, and relationship with Agile.
    • Programming: Learning a language (e.g., Go) including environment setup and basic syntax.
    • Linux Basics: Command line, file systems, SSH, and automation with Bash.
    • Networking: OSI model, protocols, and network automation (e.g., with Python).
    • Cloud Providers: Focus on Microsoft Azure (Security, Compute, Storage, and Networking models).
    • Version Control (Git): Installation, staging, workflows, and open-source collaboration.
    • Containers: Docker, Docker Compose, and container security.
    • Kubernetes: Cluster deployment, multi-node setups, and application deployment.
    • Infrastructure as Code (IaC): Terraform and HashiCorp Configuration Language (HCL).
    • Configuration Management: Ansible (Playbooks, Roles, and Inventory).
    • CI/CD Pipelines: Jenkins, GitHub Actions, and ArgoCD.
    • Monitoring & Logging: Monitoring tools, ELK Stack, EFK Stack, and Grafana.
    • Data Management: Database systems, backup/recovery, and disaster recovery.
  11. Compliance and Vulnerability Scanning with Red Hat OpenShift Operators

    main

    Red Hat OpenShift provides specialized Operators to manage security posture, specifically focusing on compliance and vulnerability scanning.

    Key components include:

    • Red Hat OpenShift Compliance Operator: Used to ensure the cluster meets specific security standards and compliance profiles.
    • Red Hat Quay Container Security Operator: Used for scanning container images for vulnerabilities.

    To effectively manage a secure cloud-native platform, users should focus on the security posture of deploying workloads and utilize these operators to automate scanning and rule enforcement.