본문 바로가기
DevOps

DevOps 로드맵 정리

by Hwan,. 2023. 3. 12.
728x90
반응형

로드맵을 기준으로 DevOps 분야에 대한 공부 방향성과 현재 지식 수준을 점검해보려고 한다.

기준은 구글에 검색해서 나온 이미지 중 정리가 잘 되었다고 생각한 이미지이다.

https://dev.to/ankit01oss/the-complete-devops-roadmap-28n1

 

The complete DevOps roadmap 🚀

Hi there, This is Ankit, your friendly DevOps content curator. I read a lot of articles about...

dev.to

 

기본적인 내용이나 활용 등 어느정도 알고 있다고 생각한 항목은 내용을 작성했고, 애매하게 알고있다고 생각한 내용은 주황색, 잘 모른다고 생각한 항목은 빨간색으로 강조했다.


Learn a Programming Language

  • c
    : 포인터, 구조체, 함수 등 기본적인 개념 이해
    : Windows API 활용 및 DLL 작성 가능
  • c++
    : 클래스, 템플릿, STD 등 기본 문법 활용이 가능
  • Python
    : 기본 문법 및 자료 구조 활용 능숙
    : 리스트 컴프리헨션, 람다 함수, 데코레이터, 비동기 활용 가능
    : 다양한 패키지 활용 경험
  • Ruby : 모름
  • Go
    : 기본 문법 및 고루틴 이해
    : 예제 수준 작성 가능 
  • Rust : 모름
  • JavaScript/Node.js
    : 기본적인 JavaSctript  및 Ajax 작성 가능
    : 간단한 Node.js 백엔드 구축 및 기동 가능

 


Understand difference OS concepts

  • Networking
    : 라우터, 스위치, 허브 개념
    : OSI 7 Layer 이해
    : 랜, 구리, 광케이블 융착 가능
    : 채널먹스, MSPP 운용 경험
    : TCP/ UDP 개념 이해
  • Sockets
    : c, Python 소켓 프로그래밍 가능
    : Raw 소켓 테스트 수준으로 가능
  • I/O Management : 
  • Virtualization : 하이퍼바이저, VM?
  • Memory/ Storage : 
  • File Systems :
  • POSIX Basics : 
  • Process management : 
  • Startup management (initd) : 
  • Service management (systemd) : 
  • Threads and Concurrency : 

 


Operating System

  • Linux (Debian, SUSE Linux, Fedora, Ubuntu, CentOS, Rocky, RHEL)
    : rpm build.spec 수정/작성 가능, yum repository 구축 가능, rpm/ deb 버전 별 설치 가능
    : 서비스, 네트워크 인터페이스, NTP, locale, iptables 등 명령어 능숙
    : 유저별 그룹관리, 계정 생성 및 ssh 연동, 자원 관리 
    : Clonezilla 활용 가능
    : 쉘 스트립팅 가능
  • Unix (FreeBSD, OpenBSD, NetBSD) : OpenBSD만 설치 해봄
  • Windows
    : PowerShell 스크립트 가능 (COM 포트 시리얼 통신 등)
    : Windows API 활용 가능
    : DLL injection, Global hooking 코드 작성 경험 있음
    : 커널 디버깅 환경 구축 가능 (windbg, 가상 머신)
    : 필터/HID 드라이버 기초 개념 이해 및 예제 수준 작성 가능
  • Windows Server : 설치 및 IIS 서버 구축, 사설 ssl 인증서 발급 가능

 


Learn to live in Terminal

  • Bash Scripting
  • Vim/ Nano/ PowerShell/ Emacs
  • Compiling apps from source : gcc 
  • System Performance : nmon, iostat, sar, vmstat
  • Others : strace, dtrace, systemtap, uname, df, history
  • Nerwork : nmap, tcpdump, ping, mtr, traceroute, airmon, airodump, dig, iptables, netstat
  • Process Monitoring : ps, top, htop, atop, isof
  • Text Manipulation Tools : awk, sed, grep, sort, uniq, cat, cut, echo, fmt, tr, ni, egrep, fgrep, wc

 


Networking, Security and Protocols

  • Emails : SMTP, IMAPS, POP3S, DMARC, SPF
    : 툴을 활용한 메일서버 구축, 구글 smtp와 연동 등 작업은 가능, 프로토콜 구조 등을 알지는 못함
  • Protocols : HTTP, HTTPS, FTP, SSL/TLS, SSH
    : 각자 개념 등에 대해 어느정도 설명이나 이해는 가능하지만 프로토콜 구조를 완벽하게 알지 못함
  • Port Forwarding : 공유기, 툴 등을 활용하여 포트포워딩 가능
  • Domain Keys : 


What is and How to setup ___

  • reverse Proxy : 대략적으로 이해
  • caching server : 
  • Load Balancer : 개념 이해 및 간단한 활용 가능
  • Forward Proxy :
  • firewall : 개념 및 iptables 등 기본 방화벽 활용 가능, inbound/ outbound 정책 추가 가능
  • webserver : IIS, Nginx, Apache, Tomcat, caddy
    : 정적 웹서버 구축 및 config 설정 가능

 


Learn Infrastructure as Code

  • Containers : Docker, LXC
    : Docker 사용 가능, Dockerfile 작성 가능, 네트워크 및 특권 설정 가능, docker compose 일부 활용 가능
  • Configuration Management : Ansible, Chef, SaltStack, Puppet
    : 어떤 용도이고 각 도구 별 차이점은 대략적으로 알고있지만 실제 사용 경험이 적거나 없음
  • Container Orchestration : Kubernetes, Docker swarm, mesos, nomad
    : 쿠버네티스 클러스터, minikube 구축 가능, pod/deployment/service/CNI 등 기본 용어와 개념은 알지만 활용 미숙함
  • Infrastructure Procisioning : Terraform, CloudFormation, Pulum
    : Terraform의 Write-> Plan-> Apply 구조와 작성된 tf 파일 활용은 가능하지만 이해도가 낮음

 


Learn some CI/CD Tools

  • Gitlab CI : 구축 및 기본 기능 활용 가능
  • Jenkins : 구축, 플러그인, 노드추가, 프로메테우스 연동, 파이프라인 이해 
  • Github Actions
  • Travis CI
  • TeamCity
  • Circle CI
  • Bamboo
  • Azure DevOps

 


Learn how to monitor software and Infrastructure

  • Infrastructure Monitoring :  Prometheus, Nagios, Grafana, Zabbix, Monit, Datadog
  • Application Monitoring : Jaeger, New Relic, Instana, AppDynamics, OpenTracing
  • Logs Management : Elastic Search, Graylog, Splunk, Papertrail

 


Cloud Providers

  • AWS 
  • GCP
  • Azure
  • Heroku
  • Digital Ocean
  • Linode
  • Vultr
  • NCP

 


Cloud Design Patterns

  • Availability
  • Data Management
  • Design and Implementation
  • Management and Monitoring

 

728x90
반응형

댓글