DevOps 로드맵 요약

로드맵을 기반으로 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


클라우드 디자인 패턴

  • 유효성
  • 데이터 관리
  • 설계 및 구현
  • 관리 및 모니터링