이는 관련 학습 리소스에 대한 링크와 함께 DevOps 엔지니어가 되는 방법에 대한 단계별 가이드입니다.
DevOps에 대해 자세히 알아보려면 제 뉴스레터 를 구독하세요.
이 저장소가 도움이 된다면 Patreon에서 저를 지원해 보세요.
이 로드맵의 목적은 풍경에 대한 아이디어를 제공하는 것입니다. 로드맵은 당신이 과장되고 유행하는 것을 선택하도록 격려하기보다는 다음에 무엇을 배워야 할지 혼란스러울 때 당신을 안내할 것입니다. 한 도구가 다른 도구보다 어떤 경우에 더 적합한 이유를 어느 정도 이해해야 하며, 과장되고 유행한다고 해서 항상 해당 작업에 가장 적합한 것은 아니라는 점을 기억해야 합니다.
솔루션을 배우거나 시작하기 위해 이 프로젝트를 좋아하거나 사용하고 있다면 별점을 주세요. 감사해요!
PDF 버전을 다운로드하세요.
DevOps 엔지니어를 위한 학습 리소스(대부분 무료)
1. 힘내
2. 프로그래밍 언어 하나 배우기
3. Linux 및 스크립팅 배우기
4. 네트워킹 및 보안 배우기
5. 서버 관리 배우기
6. 컨테이너 배우기
7. 컨테이너 오케스트레이션 알아보기
8. 인프라를 코드로 배우기
9. CI/CD 배우기
10. 모니터링 및 관찰 가능성 알아보기
11. 하나의 클라우드 제공업체 알아보기
12. 소프트웨어 엔지니어링 실습 배우기
추가 리소스
도구
서적
모든 리소스(파일)는 GIT 저장소에 보관됩니다. 이러한 파일은 애플리케이션 코드일 뿐만 아니라 코드로서의 인프라 이기도 합니다.
Git은 소스 코드 관리에 사용되는 무료 도구입니다. Git은 소스 코드의 변경 사항을 추적하는 데 사용되므로 여러 개발자가 비선형 개발에서 함께 작업할 수 있습니다.
가장 널리 사용되는 두 가지 Git 플랫폼은 GitLab 과 GitHub 입니다.
여기서는 git clone, 분기, 병합과 같은 Git 명령과 풀 요청을 통해 프로젝트에서 협업하는 방법을 배워야 합니다.
자원:
Pro Git 도서 무료
Atlassian을 통해 무료 로 Git 배우기
무료로 Git 분기 배우기
CodeAcademy에서 Git 및 GitHub를 무료로 배워보세요
Git 명령 탐색기 무료
힘내 몰입 무료
시각적 Git 참조 무료
엔지니어는 자동화 스크립트를 작성하는 데 사용할 수 있는 프로그래밍 언어를 하나 이상 아는 것이 좋습니다.
DevOps-es에 널리 사용되는 프로그래밍 언어로는 Python, Go 및 JavaScript가 있습니다.
Python은 다중 패러다임 언어입니다. 해석된 언어이기 때문에 코드는 작성되자마자 실행되며 구문을 통해 다양한 방식으로 코드를 작성할 수 있습니다. Python은 가독성, 일관성 및 사용 용이성에 중점을 두기 때문에 새로운 코더가 배워야 할 첫 번째 언어로 자주 권장됩니다.
여기에서는 구문, if/else, 루프, 데이터 구조 등과 같은 프로그래밍 언어의 기본 개념을 배워야 합니다.
자원:
무료 Python 도서로 지루한 작업 자동화
Python 집중 강좌 무료
최신 JavaScript 튜토리얼 무료
초보자를 위한 JavaScript 집중 강좌 무료
Eloquent JavaScript, 3판, Marjin Haverbeke 무료 도서
예시를 무료 로 살펴보세요
운영 체제는 컴퓨터 사용자와 하드웨어 사이의 다리 역할을 합니다. 사용자가 편리하고 효과적으로 프로그램을 실행할 수 있는 설정을 제공하는 기능입니다.
대부분의 서버는 Linux OS를 사용하므로 Linux와 해당 CLI에 익숙해져야 합니다.
시작하기 쉬운 배포판 중 하나는 Ubuntu 입니다.
또한 개발 및 운영 작업을 자동화하려면 스크립팅을 알아야 합니다.
여기에서는 Bash 또는 Powershell 과 같은 OS별 언어나 Python 또는 Go와 같은 독립적인 언어를 배울 수 있습니다.
자원:
운영 체제 - 개요 무료
쉘 스크립팅 튜토리얼 무료
초보자를 위한 Powershell 튜토리얼: 무료로 Powershell 스크립팅 배우기
Bash 참조 매뉴얼 무료
최종 가이드: Ubuntu 무료 시작하기
FreeBSD 핸드북 무료
Linux 명령 핸드북 무료
네트워크 프로토콜 은 동일한 네트워크에 있는 서로 다른 장치 간에 데이터가 전송되는 방식을 결정하는 설정된 규칙 집합입니다. 본질적으로 이를 통해 연결된 장치는 내부 프로세스, 구조 또는 설계의 차이에 관계없이 서로 통신할 수 있습니다.
여기서는 네트워크 작동 방식, 방화벽 구성 방법, DNS 작동 방식, OSI 모델 , IP 주소, 포트 등을 알아야 합니다.
자원:
OSI 모델 설명 무료
컴퓨터 네트워킹: 하향식 접근 방식 도서 비디오 콘텐츠 비디오
IT 전문가를 위한 TCP/IP 및 네트워킹 기초 Pluralsight 과정
DevSecOps: CI/CD 보안 마스터 | DevOps 파이프라인 Udemy 과정
DevOps의 실제 보안: DevSecOps Book을 통해 지속적인 보안, 배포 및 제공을 보장하세요.
DevOps 보안: 클라우드 북 의 보안
서버 관리에는 서버가 최적의 성능 수준에서 안정적으로 작동하는 데 필요한 모든 인프라 모니터링 및 유지 관리가 포함됩니다. 효과적인 서버 관리 전략 의 기본 목표는 다음과 같습니다.
안정성을 극대화하는 동시에 서버 속도 저하 및 가동 중지 시간을 최소화합니다.
안전한 서버 환경을 구축하세요.
시간이 지남에 따라 조직의 요구 사항을 충족하도록 서버 및 관련 작업을 확장합니다.
여기서는 정방향 및 역방향 프록시 , 캐싱 서버가 무엇인지, Nginx, Apache 또는 IIS와 같은 웹 서버를 작동하는 방법을 알아야 합니다.
자원:
역방향 프록시란 무엇입니까? 무료
캐시 서버 무료
역방향 프록시와 순방향 프록시: 차이점 무료
로드 밸런싱이란 무엇입니까? 무료
방화벽이란 무엇입니까? 무료
NGINX 핸드북은 무료입니다
Apache 서버를 무료로 배우세요
IIS를 무료로 배우세요
컨테이너는 코드와 모든 종속성을 패키지화하는 소프트웨어의 표준 단위이므로 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행됩니다.
Docker 는 오늘날 가장 널리 사용되는 컨테이너 기술입니다. Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 경량의 독립형 실행 가능 소프트웨어 패키지입니다. 여기에서는 컨테이너, Docker 네트워킹, 볼륨, Dockerfile을 실행하고 Docker-Compose를 사용하여 여러 컨테이너를 실행하는 방법을 알아야 합니다.
자원:
컨테이너란 무엇입니까? 무료
상향식 무료 컨테이너 학습
Nana FREE 와 함께 TechWorld가 제공하는 초보자를 위한 Docker 튜토리얼
Docker 숙달: Docker Captain Udemy 과정 의 Kubernetes +Swarm 사용
서비스 메시란 무엇입니까? 무료
Kubernetes를 사용한 DevOps 무료
컨테이너 오케스트레이션은 컨테이너의 배포, 관리, 확장 및 네트워킹을 자동화합니다 .
컨테이너 오케스트레이션은 컨테이너를 사용하는 모든 환경에서 사용할 수 있습니다. 이를 통해 재설계할 필요 없이 동일한 애플리케이션을 다양한 환경에 배포할 수 있습니다. 그리고 컨테이너의 마이크로서비스를 사용하면 스토리지, 네트워킹, 보안을 포함한 서비스를 더 쉽게 오케스트레이션할 수 있습니다.
여기에서는 Kubernetes 의 작동 방식과 Kubernetes 클러스터를 관리하고 여기에 애플리케이션을 배포하는 방법을 배워야 합니다.
자원:
Nana FREE 와 함께 TechWorld가 제공하는 완전 초보자를 위한 Kubernetes 집중 강좌
입문서: Kubernetes의 탄생 과정, 정의, 관심을 가져야 하는 이유 기사
연습 테스트를 통한 공인 Kubernetes 관리자(CKA) Udemy 강좌
Kubernetes 알아보기 - KodeKloud 과정 을 통해 초보자부터 고급까지
클러스터 서비스, 수신 또는 API 게이트웨이를 무료로 사용해야 하는 시기 이해
Service Mesh가 해결하는 문제 이해(추상화 smi-spec.io 무료 사용)
TLS 및 DNS FREE를 자동화하는 방법 알아보기
Kubernetes Up and Running 도서
Kubernetes 학습 경로 - Microsoft에서 무료로 시작하여 영웅이 되기까지 50일
때로는 IaC 라고도 하며 일반적으로 YAML 또는 JSON과 같은 마크업 언어로 인프라를 정의하는 데 사용되는 기술과 도구를 나타냅니다. 코드형 인프라를 통해 엔지니어는 환경 설정 및 해체를 자동화할 수 있습니다. 필요에 따라 골드 카피 환경을 프로비저닝하여 배포를 가속화하고 위험을 제거합니다.
Terraform 은 가장 널리 사용되는 인프라 프로비저닝 도구이지만 Ansible, Chef, Puppet 및 Vagrant와 같은 다른 도구도 있습니다.
여기서는 인프라 프로비저닝 및 구성 관리를 수행하는 방법을 알아야 합니다.
자원:
GUI, CLI, API: 코드형 인프라의 기본 용어를 무료로 알아보세요.
공식 Terraform 튜토리얼 무료
Terraform 무료 종합 가이드
전문가처럼 Terraform 문서를 자동화하세요! 무료
재사용 가능한 Terraform 모듈을 무료로 작성
이스티오란 무엇인가요? 무료
인형 개요 무료
인형 강좌 무료 및 유료
무료 로 Ansible 시작하기
Ansible 기본 학습
Red Hat Ansible 무료 및 유료 시작하기
Ansible Udemy 과정 마스터하기
셰프를 무료로 배우세요
CI/CD(지속적 통합/지속적 배포)는 앱 개발 단계에 자동화를 도입하여 고객에게 앱을 자주 제공하는 방법입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영 팀에 발생할 수 있는 문제에 대한 솔루션입니다.
CI/CD는 통합 및 테스트 단계부터 제공 및 배포에 이르기까지 앱 수명주기 전반에 걸쳐 지속적인 자동화와 지속적인 모니터링을 도입합니다. 이러한 연결된 방식을 종종 " CI/CD 파이프라인 "이라고 하며 개발 및 운영 팀에서 지원합니다.
CI/CD 파이프라인에는 빌드, 테스트, 배포 등 다양한 단계가 있지만 훨씬 더 많은 활동이 포함될 수 있습니다.
버전 관리에서 코드 확인 및 빌드
다양한 종류의 승인을 위한 단계적 게이트 보유
환경 변수 관리
서비스 다시 시작
테스트 실행
그리고 더...
여기에서는 CI/CD 서버를 설정하고, 코드를 통합하고 파이프라인을 자동으로 트리거하고, 관리 도구를 빌드 및 패키지하는 방법을 배워야 합니다.
널리 사용되는 CI/CD 도구 로는 Jenkins, TeamCity, CircleCI, Bamboo, GitLab 및 Azure DevOps가 있습니다.
자원:
지속적인 통합 무료
CI/CD 파이프라인: 부드러운 소개 무료
튜토리얼을 통해 GitLab을 무료로 배워보세요
GitLab CI/CD를 무료 로 시작해보세요
Jenkins, 제로에서 영웅으로: DevOps Jenkins 마스터 Udemy 과정이 되세요
GitHub 작업을 무료로 알아보세요
GitHub Actions 무료 의 워크플로 구문
Azure DevOps를 무료로 알아보세요
GitLab 치트시트 무료
모니터링에는 기획, 개발, 통합 및 테스트, 배포, 운영까지 전체 개발 프로세스를 감독하는 작업이 포함됩니다. 여기에는 프로덕션 환경의 애플리케이션, 서비스 및 인프라 상태에 대한 완전한 실시간 보기가 포함됩니다.
이는 소프트웨어가 프로덕션 단계 에 있을 때 특히 중요하며 인프라와 애플리케이션의 모든 종류의 문제를 추적해야 합니다.
가장 널리 사용되는 두 가지 도구는 Prometheus 와 Grafana 입니다.
여기서는 모니터링을 설정하고 데이터를 시각화하는 방법을 알아야 합니다.
자원:
관찰 가능성이란 무엇입니까? 종합적인 초보자 가이드 무료
무료 마이크로서비스 모니터링 방법, 이유, 내용
DevOps 모니터링 무료
기본 및 고급 모니터링 기술을 무료로 적용
프로메테우스를 무료로 배우세요
Grafana를 무료로 배우세요
탄력적 스택 무료
클라우드 제공업체는 인프라를 추상화하고 보안 및 청구 경계에 따라 이를 프로비저닝하기 위한 API 계층을 제공합니다. 클라우드는 데이터 센터의 서버에서 실행되지만 추상화는 단일 "플랫폼" 또는 대규모 애플리케이션과 상호 작용하는 것처럼 보입니다. 클라우드 제공업체를 통해 리소스를 신속하게 프로비저닝, 구성 및 보호하는 능력은 현대 DevOps의 엄청난 성공과 복잡성 모두의 핵심이었습니다.
시장에서 가장 인기 있는 클라우드 제공업체는 AWS , Azure , 그리고 Google Cloud 입니다.
여기서는 사용자 및 관리, 네트워크, 가상 서버 등을 관리하는 방법을 알아야 합니다.
자원:
시험 AZ-900: Microsoft Azure 기초 무료
Microsoft Azure 기초 인증 과정(AZ-900) 무료
AZ-900 | Microsoft Azure 기초 전체 과정, 무료 연습 테스트, 웹 사이트 및 학습 가이드 무료
최고의 AWS 공인 클라우드 실무자 - 2022 Udemy
Cloud Guru의 AWS 개발자 학습 경로
DevOps 엔지니어로서 당신은 아마도 Scrum 과 같은 Agile 세계의 다른 개발자들과 팀으로 일하게 될 것입니다. 따라서 SDLC 의 다양한 부분과 거기에서 사용되는 도구를 아는 것이 매우 중요합니다.
또한 CI/CD 방식으로 설정해야 하므로 자동화 테스트가 어떻게 작동하는지 알아두는 것이 좋습니다.
여기서는 스크럼이 무엇인지, SDLC 의 모든 단계, 자동화 테스트 작동 방식 등을 알아야 합니다.
자원:
스크럼이란 무엇입니까? 무료
스크럼을 무료로 배우는 방법
소프트웨어 개발 수명 주기(SDLC) 단계 및 모델 무료
Jira의 Agile 초보자 가이드: 과정 설명 무료
안전을 무료로 배우세요
무료로 자동화 테스트 배우기
GitLab - DevOps 무료 초보자 가이드
일반 SDLC 모델 무료
작업 추적 :** Asana, Monday, Jira, Trello, Azure Boards.
소스 코드 제어 : Git, Github, GitLab, BitBucket, Azure DevOps.
CI/CD : Jenkins, Team City, Github Actions, Travis CI, Bamboo, Circle CI, Azure Pipelines, Octopus Deploy, Harness, CloudBees CodeShip.
소스코드 분석 : SonarQube, Veracode.
아티팩트 관리 : Artifactory, Docker Container Register, npm, Yarn, NuGet.
구성 관리 : Terraform, Ansible, Puppet, Chef.
컨테이너 오케스트레이션 : Docker, Kubernetes, Red Hat OpenShift.
모니터링 : Prometheus, Grafana, Splunk, Dynatrace, Kibana.
DevOps 핸드북: 기술 조직에서 세계적 수준의 민첩성, 안정성 및 보안을 구축하는 방법 , Gene Kim, Patrick Debois, John Willis, Jez Humble
이 책에서는 제품 개발, 품질 보증, IT 운영 및 정보 보안을 소개합니다. DevOps를 처음 접하는 사람이나 DevOps의 다양한 구성 요소가 어떻게 함께 작동하는지 자세히 알아보고 싶은 사람에게 유용한 자료입니다.
가속화: 린 소프트웨어 및 DevOps의 과학: 고성능 기술 조직 구축 및 확장 , Nicole Forsgren, Jez Humble, Gene Kim
이 책은 소프트웨어 제공 성능 측정에 대한 연구 결과와 과학을 모두 제시합니다. DevOps를 고위 경영진에게 홍보하는 데 있어 이는 환상적인 도구입니다.
지속적인 제공: 빌드, 테스트 및 배포 자동화를 통한 안정적인 소프트웨어 릴리스 , Jez Humble, David Farley
자동화된 아키텍처 관리 및 데이터 마이그레이션을 소개합니다. 이후 표준이 된 많은 배포 파이프라인 개념이 이 책에서 확립되었습니다. 코드로 구성, 빌드 및 배포 자동화, 효율적인 테스트 기술은 일부 기술 세부 사항에서 다룹니다. 대부분 기술 서적입니다.
팀 토폴로지: Fast Flow를 위한 비즈니스 및 기술 팀 구성 , Matthew Skelton, Manuel Pais
이 책에서는 고객에게 가치를 빠르게 전달할 수 있는 방식으로 팀을 구성하는 방법에 대해 설명합니다. 이는 Stream-Aligned Teams, Enabling Teams, Complicated-Subsystem Teams 및 Platform Teams의 네 가지 기본 팀 토폴로지 세트를 제공하며, 이는 다양한 조직 상황에 맞게 결합하고 조정할 수 있습니다.
효과적인 DevOps: 대규모 협업, 친화성 및 도구 사용 문화 구축 , Jennifer Davis, Ryn Daniels
이 책은 팀 조정을 향상시키는 효과적인 방법을 제공합니다. 정보 사일로를 무너뜨리고, 관계를 모니터링하고, 조직 내 팀 간에 발생하는 오해를 해결하는 방법을 보여줍니다.
Phoenix 프로젝트: IT, DevOps 및 비즈니스 성공 지원에 관한 소설 , Gene Kim, Kevin Behr, George Spafford
효율성과 소통에 관한 고전 소설이다. IT업무는 제조공장 업무와 같아서 업무 흐름을 합리화할 수 있는 시스템을 구축해야 합니다. 최고의 책 중 하나입니다.
사이트 신뢰성 엔지니어링 , Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
이 책에서는 Google의 개발, 배포, 모니터링의 전체 수명주기와 세계 최대 소프트웨어 시스템(SRE라고도 함)을 관리하는 방법을 설명합니다. 자신이 DevOps 측의 "Ops"쪽에 더 가깝다고 생각하거나 다양한 Dev 및 Ops 팀 간의 유대를 강화하는 방법을 알고 싶은 사람은 SRE를 읽어야 합니다.
이 로드맵을 버거로 제시할 수도 있습니다 :).
로드맵이 개선될 수 있다고 생각되면 업데이트가 포함된 PR을 열고 문제를 제출해 주세요. 또한 저는 이 부분을 계속해서 개선할 것이므로 이 저장소에 별표를 표시하여 다시 방문하는 것이 좋습니다.
개선 사항이 포함된 풀 리퀘스트 열기
이슈에 대한 아이디어 토론
소문을 퍼뜨려라
Milan Milanović 박사 - 3MD의 CTO.
Romano Roth - Zühlke의 DevOps 책임자.