로드맵을 기반으로 DevOps 분야의 연구 분야와 현재 지식 상태를 확인합니다.
기본은 구글 검색해서 나온 이미지들 중에서 잘 정리된 것 같은 이미지입니다.
https://dev.to/ankit01oss/the-complete-devops-roadmap-28n1
완전한 DevOps 로드맵
안녕하세요, 친절한 DevOps 콘텐츠 큐레이터 Ankit입니다. 에 대한 글을 많이 읽었습니다…
dev.to

기본적인 내용과 사용법 등 어느 정도 안다고 생각했던 항목들이 작성되었고, 어렴풋이 안다고 생각했던 내용들이 작성되었습니다. 주황색내가 잘 모른다고 생각했던 요소 빨간색스트레스
프로그래밍 언어 배우기
- 씨
: 포인터, 구조체, 함수 등 기본 개념 이해
: Windows API 사용 및 DLL 작성 - C++
: 클래스, 템플릿, STD 등의 기본 문법을 사용할 수 있습니다. - 파이썬
: 기본 문법 및 데이터 구조를 다루는 데 능숙
: 목록 이해, 람다 함수, 데코레이터 및 비동기 사용
: 다양한 패키지 경험 - 루비: 몰라
- 가다
: 기본 구문 및 고루틴 이해
: 샘플 레벨 작성 가능 - 녹: 알 수 없음
- 자바스크립트/Node.js
: 기본 JavaScript 및 Ajax 작성 능력
: 간단한 Node.js 백엔드를 구축하고 시작할 수 있습니다.
다양한 운영 체제 개념 이해
- 네트워킹
: 라우터, 스위치 및 허브의 개념
: OSI 7계층 이해
: 란, 구리, 광케이블 융착 가능
: 채널 mux, MSPP 운영 경험
: TCP/UDP 개념 이해 - 소켓
:c, Python 소켓 프로그래밍 가능
: raw 소켓 테스트 레벨에서 가능 - I/O 관리:
- 가상화: 하이퍼바이저, VM?
- 저장:
- 파일 시스템:
- POSIX 기초:
- 공정 관리:
- 시작 관리(initd):
- 서비스 관리(systemd):
- 스레드 및 동시성:
운영 체제
- 리눅스(데비안, 수세 리눅스, 페도라우분투, CentOS, 록키, RHEL)
: rpm build.spec 수정/생성 가능, yum 리포지토리 생성 가능, rpm/deb 버전별 설치 가능
: service, network interface, ntp, locale, iptables 등의 명령어에 능숙
: 사용자별 그룹 관리, 계정 생성 및 SSH 연동, 리소스 관리
: 클론질라 사용 가능
: 쉘 스크립팅 가능 - 유닉스(FreeBSD, OpenBSD, NetBSD) : OpenBSD만 설치해 보았습니다.
- 창문
: PowerShell 스크립트 사용 가능(COM 포트, 직렬 통신 등)
: 윈도우 API 사용 가능
: DLL 인젝션 및 글로벌 후킹 코드 작성 경험
: 커널 디버깅 환경(windbg, virtual machine) 생성 가능
: 기본 필터/HID 드라이버 개념 이해 및 샘플 레이어 작성 - 윈도우 서버 : IIS 서버 설치 및 구축, 사설 SSL 인증서 발급 가능
터미널에서 사는 법 배우기
- Bash 스크립팅
- 정력/나노/파워쉘/ 이맥스
- 소스에서 앱 컴파일: gcc
- 시스템 속도: nmon, iostat, sar, vmstat
- 다른: strace, dtrace, systemtapuname, df, 기록
- 네트워크: nmap, tcpdump, ping, mtr, Traceroute, Airmon, Airodump, 파기iptables, netstat
- 프로세스 모니터링: ps, top, htop, 위, isof
- 텍스트 편집 도구: awk, sed, grep, sort, 고유한고양이, 자르다에코, fmt, tr, 아니요쳅, fgrep, 화장실
네트워크, 보안 및 프로토콜
- 이메일: SMTP, IMAPS, POP3S, DMARC, SPF
: 도구로 메일서버 생성, 구글 SMTP 등으로 작업이 가능하나 프로토콜 구조 등을 알지 못하는 경우 - 로그: HTTP, HTTPS, FTP, SSL/TLS, SSH
: 각 개념은 어느 정도 설명되거나 이해할 수 있지만 프로토콜 구조는 완전히 이해되지 않습니다. - 포트 포워딩 : 라우터, 툴 등을 통해 포트 포워딩이 가능합니다.
- 도메인 키:
___은(는) 무엇이며 어떻게 설정합니까?
- 리버스 프록시: 대략적인 이해
- 캐싱 서버:
- 로드 밸런서: 개념을 이해하고 바로 사용
- 정방향 프록시:
- 방화벽 : concept, iptables 등의 기본 방화벽 사용 가능, ingress/egress 정책 추가 가능
- 웹 서버: IIS, Nginx, Apache, Tomcat, 캐디
: 정적 웹 서버 구조 및 구성 설정 가능
코드로서의 학습 인프라
- 컨테이너: 도커, LXC
: Docker 사용 가능, Dockerfile 생성 가능, 네트워크 및 권한 설정 가능, Docker Compose 부분 사용 가능 - 구성 관리: 앤서블요리사, SaltStack, 꼭두각시
: 각 도구의 용도와 차이점에 대한 대략적인 개념은 있지만 실제 사용 경험이 거의 없거나 전무합니다. - 컨테이너 오케스트레이션: 쿠버네티스Docker 떼, 메소스, 유목민
: Kubernetes 클러스터, Minikube 구축 가능, Pod/Deployment/Service/CNI 등 기본적인 용어 및 개념을 안다. - 인프라 처리: 테라포밍구름 형성, 풀룸
: Terraform의 Write->Plan->Apply 구조와 작성된 tf 파일을 사용할 수 있으나 이해도가 낮음
몇 가지 CI/CD 도구 알아보기
- 깃랩 CI : 기본 기능으로 생성하여 사용 가능
- Jenkins: 빌드, 플러그인, 노드 추가, Prometheus 통합, 파이프라인 이해
- Github 작업
- 트래비스 CI
- 팀시티
- 서클 CI
- 대나무
- 애저 데브옵스
소프트웨어 및 인프라를 모니터링하는 방법 알아보기
- 인프라 모니터링: Prometheus, 나기오스, 그라파나, 자빅스, 모닛, 데이터 개
- 애플리케이션 모니터링: 헌터, 뉴렐릭, 인스타나, AppDynamics, OpenTracing
- 로그 관리: 탄력적 검색, 그레이로그, 스플렁크, 페이퍼트레일
클라우드 공급자
- AWS
- GCP
- 하늘빛
- 헤로쿠
- 디지털오션
- 리노드
- 무자비한 사람
- NCP
클라우드 디자인 패턴
- 유효성
- 데이터 관리
- 설계 및 구현
- 관리 및 모니터링