{"id":15039023,"url":"https://github.com/tungbq/devops-basics","last_synced_at":"2025-05-14T08:08:32.773Z","repository":{"id":219772468,"uuid":"534915452","full_name":"tungbq/devops-basics","owner":"tungbq","description":"🚀 Practical and document place for DevOps toolchain","archived":false,"fork":false,"pushed_at":"2025-04-07T02:41:11.000Z","size":2802,"stargazers_count":1734,"open_issues_count":10,"forks_count":162,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-05-12T04:15:29.115Z","etag":null,"topics":["ansible","aws","cd","ci","ci-cd","cloud","devops","devops-basic","devops-project","devops-tool","devops-tools","docker","elk","helm","iac","jenkins","k8s","monitoring","python","terraform"],"latest_commit_sha":null,"homepage":"https://devops-basics.thedevopshub.org","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tungbq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"tungbq","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2022-09-10T06:41:18.000Z","updated_at":"2025-05-11T09:59:00.000Z","dependencies_parsed_at":"2024-03-09T02:28:21.804Z","dependency_job_id":"c58fe574-7339-47c8-b49c-e081e8d61267","html_url":"https://github.com/tungbq/devops-basics","commit_stats":{"total_commits":875,"total_committers":39,"mean_commits":"22.435897435897434","dds":"0.21371428571428575","last_synced_commit":"ffd259b9cf0cabfb8ed67ca19fe4821e1a65ddea"},"previous_names":["tungbq/devops-basic","tungbq/devops-basics"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tungbq%2Fdevops-basics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tungbq%2Fdevops-basics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tungbq%2Fdevops-basics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tungbq%2Fdevops-basics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tungbq","download_url":"https://codeload.github.com/tungbq/devops-basics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101558,"owners_count":22014908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","aws","cd","ci","ci-cd","cloud","devops","devops-basic","devops-project","devops-tool","devops-tools","docker","elk","helm","iac","jenkins","k8s","monitoring","python","terraform"],"created_at":"2024-09-24T20:41:15.079Z","updated_at":"2025-05-14T08:08:32.749Z","avatar_url":"https://github.com/tungbq.png","language":"HCL","funding_links":["https://github.com/sponsors/tungbq"],"categories":["HCL"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/0/05/Devops-toolchain.svg\" width=\"500\"\u003e\u003c/h1\u003e\r\n\u003ch1 align=\"center\"\u003eDevOps Basics\u003c/h1\u003e\r\n\r\n\u003cp align=\"center\"\u003e🚀 Practical and document place for DevOps toolchain 💝\u003c/p\u003e\r\n\u003cp align=\"center\"\u003eWith comprehensive documentation, basic hands-on scripts, advanced examples, and additional resources for a variety of DevOps tools\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\r\n  \u003ca href=\"#contributors-\" target=\"_blank\"\u003e\u003cimg alt=\"👪 All Contributors: 34\" src=\"https://img.shields.io/badge/all_contributors-34-blue.svg?style=flat-square\" /\u003e\u003c/a\u003e\r\n  \u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\r\n  \u003ca href=\"https://img.shields.io/github/last-commit/tungbq/devops-basics/main\"\u003e\u003cimg alt=\"last commit\" src=\"https://img.shields.io/github/last-commit/tungbq/devops-basics/main\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://github.com/tungbq/devops-basics/releases\"\u003e\u003cimg alt=\"devops-basic release\" src=\"https://img.shields.io/github/release/tungbq/devops-basics.svg\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://github.com/tungbq/devops-basics/stargazers\"\u003e\u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/tungbq/devops-basics\"/\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n## Introduction :wave:\r\n\r\nYou are new to DevOps or want to learn some DevOps tools, or you are already a DevOps engineer, and you are looking for DevOps documents and a place to practice DevOps tools? This repository will assist you in enhancing your DevOps skills and serve as a bookmark for documents related to DevOps. Key features include:\r\n\r\n- **Wide range of topics**: Explore **30+** important DevOps subjects like Docker, Kubernetes, Terraform, Ansible, Cloud services, System Architecture, Monitoring, and more.\r\n- **Useful resources**: Each topic comes with an overview, official documentation links, cheatsheets, and extra resources to help you learn more.\r\n- **Hands-On practice**: Get basic examples for each topic so you can try out what you learn.\r\n- **Advanced examples**: Once you've grasped the basic concepts, exploring advanced examples will further elevate your skills.\r\n\r\nThis is the **first** repo of my DevOps trio repositories: [**devops-basics**](https://github.com/tungbq/devops-basics) ↔️ [devops-practice](https://github.com/tungbq/devops-practice) ↔️ [devops-project](https://github.com/tungbq/devops-project), designed to help you learn, practice, and apply DevOps.\r\n\r\n## Getting started :rocket:\r\n\r\n### What is DevOps?\r\n\r\nDevOps combines development (Dev) and operations (Ops) to increase the efficiency, speed, and security of software development and delivery compared to traditional processes. A more nimble software development lifecycle results in a competitive advantage for businesses and their customers (source: GitLab)\r\n\r\nFor a deeper understanding, please refer to the definition from the big company:\r\n- From AWS: [What is DevOps?](https://aws.amazon.com/devops/what-is-devops/)\r\n- From GitLab: [What is DevOps?](https://about.gitlab.com/topics/devops/)\r\n- From Microsoft: [What is DevOps?](https://learn.microsoft.com/en-us/devops/what-is-devops)\r\n- From Atlassian: [What is DevOps?](https://www.atlassian.com/devops)\r\n\r\n### Roadmap\r\n- ➡️ [roadmap.sh/devops](https://roadmap.sh/devops)\r\n- ➡️ [DevOps toolchain](https://en.wikipedia.org/wiki/DevOps_toolchain)\r\n\r\n## DevOps topics 🔥\r\n\r\nWe cover a wide range of DevOps topics in our content library, explore them under [**topics**](./topics/). You can also refer to [**roadmap.sh/devops**](https://roadmap.sh/devops) to see where each topic fits in the toolchain\r\n\r\n\u003ctable\u003e\r\n    \u003ctr\u003e\r\n        \u003cth\u003e\u003c/th\u003e\r\n        \u003cth\u003eItem\u003c/th\u003e\r\n        \u003cth\u003eContent\u003c/th\u003e\r\n        \u003cth\u003eOfficial Docs\u003c/th\u003e\r\n        \u003cth\u003eHands-on\u003c/th\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=ansible\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eAnsible\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/ansible/\"\u003eansible\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.ansible.com/\"\u003edocs.ansible.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/ansible/basic/helloworld/ansible-helloworld.sh\"\u003e ansible-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://wac-cdn.atlassian.com/dam/jcr:9567a40e-6541-4905-bf08-dfe201aa80e7/illustrations-spot-Agile.svg?cdnVersion=1946\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eAgile\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/agile/\"\u003eagile\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.atlassian.com/agile\"\u003ewww.atlassian.com/agile\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/agile/README.md\"\u003eAgile resources\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=docker\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eDocker\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/docker/\"\u003edocker\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.docker.com/\"\u003edocs.docker.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/docker/basic/docker-helloworld.sh\"\u003edocker-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://avatars.githubusercontent.com/u/13629408\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eKubernetes (k8s)\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/k8s/\"\u003ek8s\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://kubernetes.io/docs/home/\"\u003ekubernetes.io/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/k8s/basic/helloworld/k8s-helloworld.sh\"\u003e k8s-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://upload.wikimedia.org/wikipedia/commons/a/a1/Istio-bluelogo-nobackground-unframed.svg\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eIstio\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/istio/\"\u003eistio\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://istio.io/latest/docs/\"\u003eistio.io/latest/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"https://istio.io/latest/docs/setup/getting-started/\"\u003egetting-started\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003c!-- \u003ctd\u003e\u003cimg  src=\"placeholder_logo_url\"\u003e\u003c/td\u003e --\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=aws\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eAws\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/aws/\"\u003eaws\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.aws.amazon.com/\"\u003edocs.aws.amazon.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html\"\u003eEC2_GetStarted\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=azure\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eAzure\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/azure/\"\u003eazure\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://learn.microsoft.com/en-us/azure/?product=popular\"\u003elearn.microsoft.com/azure\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/azure/basic/\"\u003eazure/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://helm.sh/img/helm.svg\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eHelm\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/helm/\"\u003ehelm\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://helm.sh/docs/\"\u003ehelm.sh/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/helm/basic/helm-helloworld.sh\"\u003ehelm-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=jenkins\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eJenkins\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/jenkins/\"\u003ejenkins\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.jenkins.io/doc/\"\u003ewww.jenkins.io/doc\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/jenkins/basic/Jenkins-Hello-World.md\"\u003eJenkins-Hello-World.md\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=terraform\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eTerraform\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/terraform/\"\u003eterraform\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://developer.hashicorp.com/terraform/docs\"\u003eterraform/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/terraform/basic/terraform-helloworld.sh\"\u003eterraform-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=bash\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eShell\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/shell/\"\u003eshell\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://devdocs.io/bash/\"\u003edevdocs.io/bash\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/shell/basic/basic.sh\"\u003ebasic.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=git\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eGit\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/git/\"\u003egit\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://git-scm.com/doc\"\u003egit-scm.com/doc\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/git/basic/hello-world/git-helloworld.sh\"\u003egit-helloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=elasticsearch\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eElk\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/elk/\"\u003eelk\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.elastic.co/guide/index.html\"\u003ewww.elastic.co/guide\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/elk/basic/helloworld/\"\u003eelk/basic/helloworld\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://avatars.githubusercontent.com/u/30269780\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eArgoCD\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/argocd/\"\u003eargocd\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://argo-cd.readthedocs.io/en/stable/\"\u003eargo-cd.readthedocs.io\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/argocd/basic/\"\u003eargocd/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=githubactions\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eGithub-Action\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/github-action/\"\u003egithub-action\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.github.com/actions\"\u003edocs.github.com/actions\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"https://docs.github.com/en/actions/quickstart#creating-your-first-workflow\"\u003eCreate First Workflow\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=gitlab\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eGitlab CI\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/gitlabci/\"\u003egitlab-ci\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.gitlab.com/ee/ci/\"\u003edocs.gitlab.com/ee/ci\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"https://docs.gitlab.com/ee/ci/quick_start/\"\u003eCreate First Pipeline\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Groovy-logo.svg/1920px-Groovy-logo.svg.png\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eGroovy\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/groovy/\"\u003egroovy\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://groovy-lang.org/documentation.html\"\u003egroovy-lang.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/groovy/basic/\"\u003egroovy/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=prometheus\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003ePrometheus\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/prometheus/\"\u003eprometheus\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://prometheus.io/docs/\"\u003eprometheus.io/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/prometheus/basic/prometheus-helloworld.sh\"\u003ehelloworld.sh\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=py\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003ePython\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/python/\"\u003epython\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.python.org/doc/\"\u003ewww.python.org/doc\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/python/basic/\"\u003epython/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=openstack\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eOpenstack\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/openstack/\"\u003eopenstack\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.openstack.org/2023.2/\"\u003edocs.openstack.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/openstack/basic/\"\u003eopenstack/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=azure\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eAzure-DevOps\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/azuredevops/\"\u003eazuredevops\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://learn.microsoft.com/en-us/azure/devops\"\u003elearn.microsoft.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/azuredevops/basic/\"\u003eazuredevops/basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=vscode\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eCoding\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/coding/\"\u003ecoding\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"./topics/coding/\"\u003ecoding\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/coding/practice.md/\"\u003epractice.md\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e📖\u003c/td\u003e\r\n        \u003ctd\u003eArchitecture\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/architecture/\"\u003earchitecture\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://github.com/tungbq/devops-basic/blob/main/topics/architecture/README.md\"\u003earchitecture/README.md\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/architecture/\"\u003eArchitecture\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=graphql\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eMicroservices\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/microservices/\"\u003emicroservices\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://aws.amazon.com/microservices/\"\u003eaws/microservices\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/microservices/basic/\"\u003ebasic demo\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=nginx\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eNginx\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/nginx/\"\u003enginx\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://nginx.org/en/docs/\"\u003enginx.org/en/docs\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/nginx/basic/\"\u003eNginx basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.datocms-assets.com/58478/1638283616-packer.svg\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003ePacker\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/packer/\"\u003epacker\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.packer.io/\"\u003ewww.packer.io\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/packer/basic/\"\u003ePacker basic\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://upload.wikimedia.org/wikipedia/commons/8/87/Sql_data_base_with_logo.png\"\u003e\u003c/td\u003e\r\n        \u003ctd\u003eSQL\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/sql/\"\u003esql\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://github.com/tungbq/devops-basic/blob/main/topics/sql/README.md\"\u003esql/README.md\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/sql/mysql-basics.md\"\u003emysql-basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://upload.wikimedia.org/wikipedia/commons/a/ab/Haproxy-logo.png\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eHAProxy\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/haproxy/\"\u003ehaproxy\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.haproxy.org/\"\u003ewww.haproxy.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/haproxy/basic/\"\u003eHAProxy basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://upload.wikimedia.org/wikipedia/commons/0/01/Apache_Kafka_logo.svg\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eKafka\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/kafka/\"\u003ekafka\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://kafka.apache.org/\"\u003ekafka.apache.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/kafka/basic/\"\u003eKafka basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=cloudflare\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eCloudflare\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/cloudflare/\"\u003ecloudflare\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://developers.cloudflare.com/\"\u003edevelopers.cloudflare.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/cloudflare/basic/\"\u003eCloudflare basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://upload.wikimedia.org/wikipedia/commons/d/d5/Virtualbox_logo.png\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eVirtualbox\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/virtualbox/\"\u003evirtualbox\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://www.virtualbox.org/wiki/Documentation\"\u003evirtualbox.org/wiki/doc\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/virtualbox/basic/\"\u003eVirtualbox basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://avatars.githubusercontent.com/u/6412311?s=200\u0026v=4\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eDynatrace\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/dynatrace/\"\u003edynatrace\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://docs.dynatrace.com/docs\"\u003edocs.dynatrace.com\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/dynatrace/basic/\"\u003eDynatrace basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" src=\"https://skillicons.dev/icons?i=windows\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eIIS\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/iis/\"\u003eiis\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://learn.microsoft.com/en-us/iis/\"\u003elearn.microsoft.com/iis\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/iis/basic/\"\u003eIIS basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" width=\"32\" src=\"https://tomcat.apache.org/res/images/tomcat.png\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eApache Tomcat\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/apachetomcat/\"\u003etomcat\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://tomcat.apache.org/\"\u003etomcat.apache.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/apachetomcat/basic/\"\u003eTomcat basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.apache.org/logos/res/httpd/default.png\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eApache HTTPD\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/apache-httpd/\"\u003ehttpd\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://httpd.apache.org/\"\u003ehttpd.apache.org\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e✔️ \u003ca href=\"./topics/apache-httpd/basic/\"\u003eHTTPD basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003e\u003cimg height=\"28\" width=\"32\" src=\"https://cdn.worldvectorlogo.com/logos/snyk.svg\" /\u003e\u003c/td\u003e\r\n        \u003ctd\u003eSnyk\u003c/td\u003e\r\n        \u003ctd\u003e\u003ca href=\"./topics/snyk/\"\u003esnyk\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e📖 \u003ca href=\"https://snyk.io/\"\u003esnyk.io\u003c/a\u003e\u003c/td\u003e\r\n        \u003ctd\u003e🏃 \u003ca href=\"./topics/snyk/basic/\"\u003eSnyk basics\u003c/a\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\r\n- And **more upcoming topics...⏩** you can star/follow this repository to get more up-to-dated content ⭐\r\n- For additional resources to practice these tools, visit: [**devops-project**](https://github.com/tungbq/devops-project)\r\n\r\n## Extra content (from other repos) :arrow_upper_right:\r\n\r\n| Item                   | Link                                                                          |\r\n| :--------------------- | :---------------------------------------------------------------------------- |\r\n| The DevOps Hub         | ☁️ [TheDevOpsHub](https://github.com/TheDevOpsHub)                            |\r\n| devops-practice        | 👷 [devops-practice](https://github.com/tungbq/devops-practice)               |\r\n| devops-project         | 🏗️ [devops-project](https://github.com/tungbq/devops-project)                 |\r\n| 90DaysOfDevOps         | 📆 [90DaysOfDevOps](https://github.com/MichaelCade/90DaysOfDevOps)            |\r\n| Container Labs         | 🐳 [container-labs](https://github.com/TheDevOpsHub/container-labs)           |\r\n| python                 | 🐍 [python-examples](https://github.com/tungbq/python-examples)               |\r\n| aws-lab-with-terraform | ☁️ [aws-lab-with-terraform](https://github.com/tungbq/aws-lab-with-terraform) |\r\n| AWS-LearningResource   | 🧰 [AWS-LearningResource](https://github.com/tungbq/AWS-LearningResource)     |\r\n| bookmarks              | 🔖 [bookmarks](https://github.com/tungbq/bookmarks)                           |\r\n| devops-exercises       | 📚 [devops-exercises](https://github.com/bregman-arie/devops-exercises)       |\r\n| devops-resources       | 🔗 [devops-resources](https://github.com/bregman-arie/devops-resources)       |\r\n| howtheydevops          | ❔ [howtheydevops](https://github.com/bregman-arie/howtheydevops)             |\r\n| devops-dockerfiles     | 🏗️ [devops-dockerfiles](https://github.com/tungbq/devops-dockerfiles)         |\r\n\r\n## Contributing\r\n\r\n- See: [CONTRIBUTING.md](./CONTRIBUTING.md)\r\n- If you find this repository helpful, kindly consider showing your appreciation by giving it a star ⭐ Thanks! 💖\r\n- Looking for the issue to work on? Check the list of our open issues [**good first issue**](https://github.com/tungbq/devops-basic/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)\r\n- Feel free to open a new issue if you want to request more content about DevOps\r\n\r\n## Contributors\r\n\r\nThank you all for your contributions! 💖\r\n\r\n\u003ca href=\"https://github.com/tungbq/devops-basics/graphs/contributors\"\u003e\r\n  \u003cimg src=\"https://contrib.rocks/image?repo=tungbq/devops-basics\" /\u003e\r\n\u003c/a\u003e\r\n\r\n## Star History ⭐\r\n\r\n[![Star History Chart](https://api.star-history.com/svg?repos=tungbq/devops-basics\u0026type=Timeline)](https://star-history.com/#tungbq/devops-basics\u0026Timeline)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftungbq%2Fdevops-basics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftungbq%2Fdevops-basics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftungbq%2Fdevops-basics/lists"}