SSAEMAll Courses
Log inSign up

Programming · 입문~중급 · 김강사

DevOps 강의 시리즈 — Linux부터 분산 시스템까지

개발자를 위한 실무 중심 DevOps 로드맵 (139강)

About This Course

DevOps 로드맵 Overview

이 강의 시리즈를 시작하기 전에, DevOps가 뭔지 그리고 앞으로 뭘 배우게 되는지 전체 그림을 먼저 그려볼게요.


🎯 이 강의 시리즈는 누구를 위한 건가요?

  • 개발은 해봤는데 서버 운영은 처음인 분
  • "배포는 어떻게 하는 거지?" 싶었던 분
  • DevOps 엔지니어로 커리어를 시작하려는 분
  • 이미 일하고 있지만 체계적으로 정리하고 싶은 분

🧠 DevOps가 뭔가요?

한마디로

개발(Development)과 운영(Operations)을 하나로 연결하는 것이에요.

비유로 이해하기

레스토랑을 생각해보세요.

  • 셰프(개발자) — 요리를 만드는 사람
  • 홀 매니저(운영) — 요리가 손님에게 제대로 전달되고, 주방이 원활하게 돌아가게 하는 사람

예전에는 셰프가 요리만 만들고 던지면, 홀 매니저가 알아서 서빙했어요. 문제가 생기면 "내 요리는 괜찮았는데?" vs "가져온 그대로 냈는데?" 서로 떠넘기기 일쑤였죠.

DevOps는 셰프와 홀 매니저가 함께 일하는 방식이에요. 요리를 만드는 과정부터 손님 테이블까지, 전체 흐름을 같이 책임지는 거예요.

diagram…
diagram…

🔍 DevOps 엔지니어는 뭘 하나요?

쉽게 말하면 이런 질문들에 답하는 사람이에요.

질문DevOps가 하는 일
서버가 갑자기 느려졌어요원인 찾고 해결 (Linux, Monitoring)
코드를 서버에 어떻게 올려요?자동 배포 파이프라인 구축 (CI/CD)
사용자가 갑자기 10배 늘었어요자동으로 서버 늘리기 (K8s, Cloud)
서버가 해킹당했어요보안 체계 구축 (Security)
서버비가 너무 많이 나와요비용 최적화 (Cloud, FinOps)
장애가 났는데 원인을 모르겠어요로그/메트릭 분석 (Observability)
서버 100대를 똑같이 세팅해야 해요코드로 인프라 관리 (IaC)

🗺️ 전체 로드맵

총 12개 카테고리, 124개 강의로 구성되어 있어요.

diagram…

왜 이 순서인가요?

각 카테고리는 앞의 것을 기반으로 해요. 비유하면 건물을 짓는 것과 같아요.

diagram…
  • 1층 (Linux + Networking) = 건물의 기초. 이게 없으면 위에 아무것도 못 쌓아요
  • 2층 (Containers + Kubernetes) = 건물의 뼈대. 현대 DevOps의 핵심
  • 3층 (Cloud + IaC) = 건물의 외벽과 설비. 인프라를 코드로 관리
  • 4층 (CI/CD) = 엘리베이터. 코드를 자동으로 위아래로 이동
  • 5층 (Observability + Security + SRE) = 관리실. 건물이 잘 돌아가는지 감시
  • 옥상 (Scripting + Distributed Systems) = 전체를 연결하는 자동화와 설계 원칙

📦 각 카테고리 미리보기

1️⃣ Linux / System (14강)

모든 서버의 기본. DevOps의 출발점.

컴퓨터의 운영체제를 이해하는 단계예요. 파일은 어디에 저장되는지, 프로세스는 어떻게 관리하는지, 서버가 느려지면 어디를 봐야 하는지 배워요.

배우는 것: 파일 시스템, 권한, 프로세스, systemd, 디스크, 로그, 성능 분석, 커널 내부

실무 예시: "서버 디스크가 100%래요!" → df -h로 확인 → 큰 로그 파일 찾아서 정리


2️⃣ Networking (13강)

서버끼리 어떻게 대화하는지.

인터넷이 어떻게 동작하는지, 데이터가 어떤 경로로 전달되는지 이해하는 단계예요. DNS, 로드밸런싱, VPN 같은 걸 배워요.

배우는 것: TCP/UDP, HTTP, DNS, 로드밸런싱, TLS/인증서, VPN, CDN

실무 예시: "사이트가 안 열려요!" → DNS 문제인지 서버 문제인지 dig, curl로 진단


3️⃣ Containers (9강)

앱을 어디서든 똑같이 실행하는 방법.

"제 컴퓨터에서는 되는데요?" 문제를 해결해주는 기술이에요. Docker를 중심으로 컨테이너의 개념부터 최적화, 보안까지 배워요.

배우는 것: Docker, Dockerfile, containerd, 이미지 최적화, 컨테이너 보안

실무 예시: 개발자가 만든 앱을 Docker 이미지로 패키징 → 어떤 서버에서든 동일하게 실행


4️⃣ Kubernetes (19강)

컨테이너 수백 개를 자동으로 관리하는 오케스트라 지휘자.

컨테이너가 1개면 Docker로 충분하지만, 수십~수백 개가 되면 누가 관리하나요? Kubernetes가 자동으로 배포, 스케일링, 복구를 해줘요.

배우는 것: 클러스터 구조, Pod, Service, Ingress, 오토스케일링, Helm, Service Mesh

실무 예시: 트래픽 급증 → K8s가 자동으로 Pod 10개 → 100개로 확장 → 트래픽 줄면 다시 축소


5️⃣ Cloud - AWS (18강)

서버를 직접 사지 않고 빌려 쓰는 방법.

물리 서버를 사서 데이터센터에 넣는 대신, AWS에서 클릭 몇 번으로 서버를 만들고 없앨 수 있어요.

배우는 것: EC2, VPC, S3, RDS, Lambda, IAM, 비용 관리, DR

실무 예시: 새 서비스 출시 → VPC 설계 → EC2 + RDS 구성 → ALB로 로드밸런싱 → CloudWatch로 모니터링


6️⃣ Infrastructure as Code (6강)

인프라를 코드로 관리하는 방법.

AWS 콘솔에서 클릭으로 서버를 만들면, 누가 뭘 바꿨는지 추적이 안 돼요. 코드로 관리하면 Git처럼 버전 관리가 가능해요.

배우는 것: Terraform, Ansible, CloudFormation, Pulumi

실무 예시: terraform apply 한 줄로 VPC + 서브넷 + EC2 + RDS 한번에 생성


7️⃣ CI/CD (13강)

코드를 자동으로 테스트하고 배포하는 파이프라인.

개발자가 코드를 push하면, 자동으로 빌드 → 테스트 → 배포까지 진행되는 시스템을 만들어요.

배우는 것: Git, GitHub Actions, Jenkins, 배포 전략, GitOps, ArgoCD

실무 예시: git push → 자동 테스트 → Docker 이미지 빌드 → K8s에 canary 배포 → 문제 없으면 전체 배포

diagram…

8️⃣ Observability (11강)

시스템 안에서 무슨 일이 일어나고 있는지 보는 눈.

서비스가 잘 돌아가는지, 어디가 병목인지, 에러가 어디서 나는지 실시간으로 파악하는 체계를 만들어요.

배우는 것: Prometheus, Grafana, ELK, OpenTelemetry, Jaeger, Alerting

실무 예시: API 응답 시간이 서서히 느려짐 → Grafana 대시보드에서 발견 → Jaeger로 병목 구간 추적 → DB 쿼리가 원인

diagram…

9️⃣ Security / DevSecOps (7강)

보안을 나중에 하지 말고, 처음부터 파이프라인에 녹이는 것.

배포 파이프라인 안에 보안 검사를 넣어서, 취약한 코드나 이미지가 프로덕션에 올라가지 못하게 해요.

배우는 것: OAuth/OIDC, Vault, 이미지 스캐닝, Supply Chain Security, Policy as Code

실무 예시: CI 파이프라인에서 Trivy로 이미지 스캔 → 치명적 취약점 발견 → 배포 자동 차단


🔟 SRE / Reliability (6강)

"서비스가 99.9% 안정적으로 돌아가게 하려면?"

서비스 안정성을 숫자로 정의하고, 장애에 체계적으로 대응하고, 장애에서 배우는 문화를 만들어요.

배우는 것: SLO/SLI, Incident Management, Postmortem, Chaos Engineering, FinOps, Platform Engineering

실무 예시: SLO 99.9% 설정 → 이번 달 에러 버짓 43분 → 남은 버짓 10분 → 이번 주는 위험한 배포 보류


1️⃣1️⃣ Scripting & Automation (5강)

반복 작업을 코드로 자동화하는 능력.

매일 수동으로 하는 작업을 Python이나 Go로 자동화하고, 팀과 효과적으로 협업하는 방법을 배워요.

배우는 것: Python, Go, YAML/JSON, Makefile, 기술 문서 작성, Agile

실무 예시: 매일 아침 수동으로 하던 로그 정리를 Python 스크립트로 자동화 → cron에 등록 → 매일 새벽 자동 실행


1️⃣2️⃣ Distributed Systems (4강)

여러 서버가 협력할 때 생기는 근본적인 문제와 해결 패턴.

마이크로서비스 환경에서 반드시 마주치는 설계 원칙이에요. 짧지만 모든 카테고리를 관통하는 개념이에요.

배우는 것: CAP theorem, consensus, Raft, HLC (Hybrid Logical Clock), circuit breaker, retry, Rate Limiting & Idempotency, Outbox 패턴 (Transactional Outbox + Debezium CDC), Consistent Hashing & 데이터 파티셔닝 (Sharding), 복제 토폴로지 & Quorum (R+W>N), 메시지 큐 비교 (Kafka / RabbitMQ / Pulsar / NATS)

실무 예시: 결제 API 타임아웃 → retry 했더니 중복 결제 발생 → idempotency key로 해결


📊 학습 시간 예상

구간카테고리예상 시간난이도
기초Linux + Networking3~4주⭐⭐
핵심Containers + Kubernetes4~5주⭐⭐⭐
인프라Cloud + IaC3~4주⭐⭐⭐
파이프라인CI/CD2~3주⭐⭐
운영Observability + Security + SRE3~4주⭐⭐⭐
마무리Scripting + Distributed Systems1~2주⭐⭐
전체약 16~22주

매일 12시간 기준으로 약 45개월이면 전체를 한 바퀴 돌 수 있어요.


⚡ 학습 팁

1. 완벽하게 이해하고 넘어가지 마세요

처음에는 70% 이해로 충분해요. 뒤의 내용을 배우면서 앞의 개념이 "아 그래서 그랬구나!" 하고 연결돼요.

2. 반드시 직접 해보세요

읽기만 하면 다음 날 잊어버려요. 모든 강의에 실습이 있으니 직접 타이핑하세요.

3. 에러를 두려워하지 마세요

에러 메시지를 읽고 해결하는 과정 자체가 DevOps의 핵심이에요. 실무에서 하는 일의 절반은 트러블슈팅이에요.

4. 메모하면서 배우세요

"이건 나중에 이럴 때 쓰겠다" 같은 자기만의 메모를 남기세요.


📝 정리

DevOps = 개발 + 운영을 하나로 연결

12개 카테고리:
├── 기초: Linux → Networking
├── 핵심: Containers → Kubernetes
├── 인프라: Cloud → IaC
├── 파이프라인: CI/CD
├── 운영: Observability → Security → SRE
└── 마무리: Scripting → Distributed Systems

총 124개 강의 / 약 4~5개월 분량
순서대로 하면 자연스럽게 연결됨

🔗 다음 강의

다음은 모든 것의 시작점인 01-linux/01-filesystem.md — Linux 파일 시스템 구조 예요.

서버에 접속하면 가장 먼저 마주치는 것이 파일 시스템이에요. /etc는 뭐고 /var는 뭔지, 왜 그런 구조인지부터 시작해볼게요.

Curriculum12 chapters · 139 lessons

14 lessons marked [Preview] are free to watch.

Chapter 1. Linux 기초와 운영16 lessons
  • DevOps 엔지니어를 위한 리눅스 명령어 가이드Preview
  • 리눅스 학습 환경 준비Preview
  • Linux 파일 시스템 구조Locked
  • Linux 파일 권한 (Permissions / ACL)Locked
  • Linux 사용자와 그룹 관리Locked
  • Linux 프로세스 관리 (Process Lifecycle / Signals)Locked
  • systemd와 서비스 관리Locked
  • cron과 타이머 (예약 작업)Locked
  • 디스크 관리 (파일 시스템 / LVM / RAID)Locked
  • 로그 관리 (syslog / journald / log rotation)Locked
  • 네트워크 명령어 (iproute2 / ss / tcpdump / iptables)Locked
  • SSH / bastion host / tunnelingLocked
  • Bash Scripting / Shell PipelineLocked
  • 성능 분석 (top / vmstat / iostat / sar / perf / eBPF)Locked
  • 커널 내부 (cgroups / namespaces / sysctl / ulimit)Locked
  • Linux 보안 (SELinux / AppArmor / seccomp)Locked
Chapter 2. 네트워킹14 lessons
  • 네트워킹 학습 환경 준비Preview
  • 네트워크 기초 (OSI / TCP / UDP / ports / sockets)Locked
  • HTTP 에코시스템 (HTTP/1.1 ~ HTTP/3 / QUIC / gRPC / WebSocket)Locked
  • DNS (recursive resolver / authoritative / record types / caching)Locked
  • 네트워크 구조 (CIDR / subnetting / routing / NAT)Locked
  • TLS / 인증서 관리 / mTLSLocked
  • 로드 밸런싱 (L4 vs L7 / reverse proxy / sticky sessions / health check)Locked
  • Nginx / HAProxy 실무 설정Locked
  • 네트워크 디버깅 실전 (ping / traceroute / tcpdump / wireshark / curl / telnet)Locked
  • 네트워크 보안 (WAF / DDoS 방어 / Zero Trust)Locked
  • VPN / 터널링 (IPsec / WireGuard / OpenVPN / Direct Connect)Locked
  • CDN (CloudFront / Cloudflare / Edge Caching)Locked
  • Service Discovery (CoreDNS / Consul / 내부 DNS)Locked
  • API Gateway / OpenAPILocked
Chapter 3. 컨테이너 (Docker)10 lessons
  • 컨테이너 학습 환경 준비Preview
  • Container vs VM / OCI 표준Locked
  • Docker CLI / 기본 명령어Locked
  • Dockerfile 작성법Locked
  • 컨테이너 런타임 (containerd / CRI-O / runc)Locked
  • 컨테이너 네트워크 (bridge / overlay / host)Locked
  • 이미지 최적화 (multi-stage / distroless / multi-arch)Locked
  • 컨테이너 레지스트리 (ECR / Docker Hub / Harbor)Locked
  • 컨테이너 트러블슈팅 (inspect / stats / 디버깅)Locked
  • 컨테이너 보안 (rootless / scanning / signing)Locked
Chapter 4. Kubernetes20 lessons
  • 쿠버네티스 학습 환경 준비Preview
  • Kubernetes 클러스터 아키텍처Locked
  • Pod / Deployment / ReplicaSetLocked
  • StatefulSet / DaemonSet / Job / CronJobLocked
  • ConfigMap / Secret / External SecretsLocked
  • Service / Ingress / Gateway APILocked
  • CNI / Calico / Cilium / FlannelLocked
  • CSI / PV / PVC / StorageClassLocked
  • liveness / readiness / startup probeLocked
  • Rolling Update / Canary / Blue-Green 배포 전략Locked
  • HPA / VPA / Cluster Autoscaler / KEDALocked
  • RBAC / ServiceAccountLocked
  • Helm / KustomizeLocked
  • kubectl 확장 / krew / 실전 팁Locked
  • K8s 트러블슈팅 전체Locked
  • NetworkPolicy / PSS / OPA / FalcoLocked
  • etcd 백업 / Velero / DR 전략Locked
  • Operator / CRDLocked
  • Service Mesh — Envoy / Istio / LinkerdLocked
  • 멀티 클러스터 / 하이브리드 K8sLocked
Chapter 5. 클라우드 (AWS)20 lessons
  • AWS CLI 명령어 완전 정복Preview
  • AWS 클라우드 학습 환경 준비Preview
  • IAM 전체Locked
  • VPC / Subnet / Routing / PeeringLocked
  • EC2 / Auto ScalingLocked
  • S3 / EBS / EFSLocked
  • RDS / Aurora / DynamoDB / ElastiCacheLocked
  • DB 운영 (backup / replication / pooling)Locked
  • ELB / ALB / NLB / Global AcceleratorLocked
  • Route 53 / CloudFrontLocked
  • ECR / ECS / EKS / FargateLocked
  • Lambda / API Gateway / EventBridgeLocked
  • SQS / SNS / Kinesis / MSKLocked
  • KMS / Secrets Manager / WAF / ShieldLocked
  • CloudWatch / CloudTrail / SSM / ConfigLocked
  • Cost Explorer / Budgets / Savings PlansLocked
  • Organizations / Control TowerLocked
  • Well-Architected Framework 6대 축Locked
  • RTO / RPO / DR 전략 / Chaos EngineeringLocked
  • 멀티 클라우드 / 하이브리드Locked
Chapter 6. IaC (Terraform)7 lessons
  • IaC(Infrastructure as Code) 학습 환경 준비Preview
  • IaC(Infrastructure as Code) 왜 필요한가Locked
  • Terraform 기초Locked
  • Terraform 심화 — Module, State, Workspace, Import, Backend, Terraform CloudLocked
  • Ansible 전체Locked
  • CloudFormation / CDK / PulumiLocked
  • IaC 테스트와 정책 (Terratest / Checkov / OPA / tfsec / Infracost)Locked
Chapter 7. CI/CD14 lessons
  • CI/CD 학습 환경 준비Preview
  • Git 기본 ~ 심화: 버전 관리의 모든 것Locked
  • 브랜칭 전략과 버저닝Locked
  • CI(Continuous Integration) 파이프라인Locked
  • CD(Continuous Delivery/Deployment) 파이프라인Locked
  • GitHub Actions 실무Locked
  • GitLab CI 실무Locked
  • Jenkins 실무 완전 정복Locked
  • Artifact 관리 — Container Registry, Nexus, Artifactory, OCI Artifacts, SBOMLocked
  • 테스트 자동화 전체 가이드Locked
  • 배포 전략 (Deployment Strategy)Locked
  • GitOps — Git을 중심으로 인프라와 애플리케이션을 관리하기Locked
  • 파이프라인 보안 (Pipeline Security)Locked
  • 변경 관리와 Feature FlagLocked
Chapter 8. 옵저버빌리티 (Observability)12 lessons
  • 옵저버빌리티 학습 환경 준비Preview
  • Observability 왜 필요한가Locked
  • Prometheus 완전 정복Locked
  • Grafana 대시보드Locked
  • 로깅 (Structured Logging, ELK Stack, Grafana Loki)Locked
  • 로그 수집 (Log Collection)Locked
  • 분산 추적(Distributed Tracing) — 요청의 여정을 따라가기Locked
  • 쿠버네티스 모니터링 완전 정복Locked
  • APM(Application Performance Monitoring) — 애플리케이션 성능의 모든 것을 한눈에Locked
  • Continuous Profiling — 코드 속 숨은 병목을 찾아내는 현미경Locked
  • 대시보드 설계 — 데이터를 이야기로 바꾸는 기술Locked
  • 알림(Alerting) 완전 정복 — 장애를 가장 먼저 아는 사람이 되기Locked
Chapter 9. 보안 (Security)8 lessons
  • 보안 학습 환경 준비Preview
  • 인증과 인가Locked
  • 비밀 관리 (Secrets Management)Locked
  • 컨테이너 보안 (Container Security)Locked
  • 네트워크 보안 (WAF / Zero Trust / mTLS / Network Policy / VPN / Bastion)Locked
  • 컴플라이언스 (Compliance)Locked
  • DevSecOps — 보안을 개발 문화 속으로Locked
  • 보안 사고 대응 (Incident Response) 완전 정복Locked
Chapter 10. SRE7 lessons
  • SRE 학습 환경 준비Preview
  • SRE 원칙 — 신뢰성을 엔지니어링하는 방법Locked
  • SLI/SLO 실무 — 서비스 신뢰성을 숫자로 약속하는 기술Locked
  • 인시던트 관리 완전 정복 — 장애는 막을 수 없지만, 대응은 설계할 수 있어요Locked
  • 용량 계획 (Capacity Planning)Locked
  • 카오스 엔지니어링 — 일부러 장애를 만들어서 시스템을 강하게 만드는 기술Locked
  • 플랫폼 엔지니어링 (Platform Engineering)Locked
Chapter 11. 스크립팅 (Scripting)6 lessons
  • 스크립팅 학습 환경 준비Preview
  • Bash 스크립팅 완전 정복Locked
  • Python for DevOpsLocked
  • Go for DevOpsLocked
  • 정규식과 데이터 처리 (Regex, jq, yq, sed, awk)Locked
  • 자동화 전략 (Automation Strategy)Locked
Chapter 12. 분산 시스템5 lessons
  • 분산 시스템 학습 환경 준비Preview
  • 분산 시스템 이론Locked
  • 분산 시스템 패턴Locked
  • 데이터 파티셔닝, 샤딩, 복제, 쿼럼 — 데이터를 쪼개고 복제하는 기술Locked
  • 메시지 큐와 스트리밍 — Kafka vs RabbitMQ vs Pulsar vs NATS 한 번에 끝내기Locked

Reviews

You can leave a review after taking this course.

    Q&A0

    Only students taking this course can post questions.

    No questions yet. Be the first to ask!