목차5개 항목
DevOps는 개발(Development)과 운영(Operations) 사이의 벽을 줄여, 코드가 사용자에게 닿기까지의 과정을 빠르고 안전하게 만드는 문화이자 기술 묶음이다. 사람이 손으로 하던 빌드·테스트·배포를 파이프라인으로 자동화하고(CI/CD), 애플리케이션을 컨테이너로 포장해 어디서나 같은 방식으로 실행되게 하며, 트래픽에 따라 서버를 늘리고 줄이는 일이 여기에 속한다. 애자일로 배포 주기가 짧아지자 자주 배포하려는 개발 조직과 변경을 줄이려는 운영 조직의 갈등이 커졌고, 반복 작업을 기계가 매번 같은 방식으로 하게 만들어 잦은 배포와 안정성을 함께 얻으려는 데서 DevOps가 나왔다.
노트
컨테이너·쿠버네티스
| 노트 | 내용 |
|---|---|
| VM과 컨테이너 | VM과 Docker 컨테이너 비교, 오케스트레이션·오토 스케일링과 쿠버네티스가 표준이 된 이유 |
| Dockerfile 작성과 컨테이너의 PID 1 | 이미지와 컨테이너, RUN·CMD·ENTRYPOINT, Alpine vs Debian, 컨테이너가 바로 꺼지는 이유와 tini |
| Docker Compose | compose.yaml의 주요 키, 네트워크 드라이버, named volume·bind mount, 점검 명령 |
| Docker 네트워크와 볼륨 | 네트워크 드라이버와 bridge 원리, 사용자 정의 네트워크·내장 DNS, -p와 EXPOSE, 통신 제한, 볼륨·바인드 마운트·tmpfs, 볼륨 수명·드라이버, 스토리지 드라이버 |
| Docker 컨테이너 운영: 자원 제한, 보안, 로그, 장애 진단 | cgroups 자원 제한과 CPU 스로틀링·OOM, 비root·rootless·capability·seccomp, Docker 소켓·DinD 위험, 로그 회전, 종료 코드·재시작 정책·정리 |
| 쿠버네티스 구조와 핵심 개념 | 컨트롤 플레인과 노드의 구성 요소, 파드·워크로드 리소스, 서비스 네 유형, 디자인 패턴, kubectl |
| 쿠버네티스 위 웹 서비스의 요청 경로 | 로드 밸런서·게이트웨이·서비스 메시를 거쳐 파드에 닿는 요청 경로, Terraform·Helm·Istio·Prometheus·Grafana의 역할 |
| 쿠버네티스 워크로드와 파드 생명주기 | 파드 단계와 컨테이너 상태, 재시작 정책, 프로브, 사이드카·앰버서더·어댑터·초기화 컨테이너, Deployment·StatefulSet·DaemonSet·Job·CronJob |
| 쿠버네티스 네트워킹: 서비스, DNS, Ingress, NetworkPolicy | CNI, kube-proxy 모드, 서비스 유형 세부, CoreDNS, 이그레스, Ingress·Gateway API, NetworkPolicy, Istio·Linkerd, 연결 문제 진단 |
| 쿠버네티스 저장소와 설정: PV·PVC, ConfigMap, Secret | 볼륨 유형, 접근 모드·회수 정책, StorageClass·CSI, ConfigMap·Secret 주입과 보안 수준, 외부 비밀 저장소, 변경 반영 문제 |
| 쿠버네티스 스케줄링과 자원 관리, 오토스케일링 | 어피니티·토폴로지 분산·테인트, requests·limits와 QoS, LimitRange·ResourceQuota·PriorityClass, HPA·VPA·Cluster Autoscaler |
| 쿠버네티스 보안: 인증, RBAC, 서비스 계정, 파드 보안 | 인증 방식과 kubeconfig, RBAC와 최소 권한, 서비스 계정 토큰, securityContext, Pod Security Standards·Admission |
| 쿠버네티스 운영: Helm, 업그레이드, 관측, 장애 진단, 오퍼레이터, GitOps | Helm 차트·훅, 버전 업그레이드·etcd 백업, drain·PDB, 로그·지표, CrashLoopBackOff·ImagePullBackOff·kubectl debug, CRD·오퍼레이터, Argo CD·Flux, 멀티 클러스터 |
배포·운영
| 노트 | 내용 |
|---|---|
| CI/CD | 지속적 통합·배포의 의미, Docker와 함께 쓰는 흐름, GitHub Actions 예시와 도구 |
| 배포 전략: 롤링, 블루-그린, 카나리, 섀도, 피처 토글 | 다운타임·롤백 속도·비용·노출 범위로 비교한 배포 방식, 배포와 출시 분리 |
| 내구성 워크플로와 Temporal | 스케줄 배치의 디스크 포화·알림 누락 문제, Workflow·Activity·서버·워커 구조, cron·Jenkins와의 역할 차이, 중복 실행 방지 같은 운영 주의점 |
| 12요소 앱 | 설정·백엔드 서비스·폐기 가능성·개발·운영 일치 같은 열두 원칙과 지금의 구현 |
| 관측 가능성: 로그, 트레이스, 메트릭 | 세 기둥의 차이, OpenTelemetry, 풀·푸시 수집, 시계열 DB |
| 서버 장애 진단 패턴 | load average·I/O 지표, 힙 덤프, 커넥션·DNS·쿼리·Redis 메모리 장애 유형 |
| 장애 대응과 포스트모템 | 탐지 → 전파 → 해결 → 보고 → 회고, 임시 조치, 비난 없는 포스트모템과 액션 아이템 |
| 서비스 운영 준비 체크리스트 | 회복력·확장·무중단 배포·로그·알림·지표·백업·보안 등 열두 분야의 출시 전 최소 기준, 지금은 따르지 않는 항목 |
| 고가용성과 재해 복구 설계 | HA와 DR의 차이, RTO·RPO, 백업·파일럿 라이트·웜 스탠바이·액티브-액티브, 운영 도구까지 포함한 전 계층 다중화와 전환 훈련 |
클라우드
| 노트 | 내용 |
|---|---|
| 클라우드 기초와 AWS | 클라우드의 이점과 NIST 다섯 특징, 배포 모델, IaaS·PaaS·SaaS와 공동 책임 모델, 받치는 기술(가상화·SDN·NFV), 리전·가용 영역, EC2 인스턴스와 요금 모델, ECS·EKS·Lambda, 보안 그룹과 RDS 접속(배스천 SSH 터널), IaC |
| 클라우드 서비스 지도: AWS·Azure·GCP 대응표 | 범주별 서비스 대응표, AWS 학습 순서, 클라우드 로드 밸런서, 빅데이터 파이프라인과 Hadoop·Spark, 모니터링 기능 |
| 클라우드 네이티브와 코드형 인프라 | 클라우드 네이티브의 네 축, IaaS·PaaS·컨테이너 변천, CNCF 랜드스케이프, IaC·GitOps |
| AWS VPC 네트워크 구성 | 서브넷·라우팅, 인터넷 게이트웨이·NAT, VPN·Direct Connect, 피어링·Transit Gateway, PrivateLink |
| AWS Lambda의 내부 구조 | 동기·비동기 호출 경로, 실행 환경 배정, Firecracker 마이크로VM, 청크 저장, SnapStart |
| 서버리스 아키텍처 | IaaS·PaaS·컨테이너와 차이, FaaS·BaaS, 함수 호출 경로와 코드 구성 방식, 콜드 스타트 같은 제약과 맞는 곳 |
| S3·CloudFront로 정적 사이트 배포하기 | 비공개 S3 + OAC, ACM·Route 53 도메인, SPA 라우팅, 캐시 헤더와 무효화, GitHub Actions OIDC 배포 |
| Terraform: 코드로 클라우드 인프라 만들기 | write → init → plan → apply, 상태 파일과 원격 백엔드·잠금, 모듈, 드리프트, CI 운영 |
| Packer와 머신 이미지 굽기 | 소스·프로비저너·후처리기 빌드 흐름, HCL2 템플릿과 packer init, Dockerfile과의 차이, 골든 이미지·굽기 vs 볶기·불변 인프라 |
| 클라우드 비용 최적화와 숨은 비용 | 비용을 줄이는 여섯 방법, 공인 IPv4·유휴 자원·송신 전송 같은 숨은 비용 |
| 스타트업 인프라 선택 원칙 | 데이터는 관리형, 단순한 도구, 관측 표준·IdP·비용 추적은 처음부터 같은 인프라 결정 기준 |
| 클라우드 SLA·계약과 규제 | 가용성·응답성 지표, 서비스 크레딧, 이전 대상 고르기, 출구 전략, 계약 체크리스트, 클라우드컴퓨팅법의 이용자 권리와 공공·금융·의료·교육 분야 규정 |
조직·문화
| 노트 | 내용 |
|---|---|
| DevOps, SRE, 플랫폼 엔지니어링, NoOps와 클라우드 거버넌스 | 협업 문화, SLO·에러 버짓, 내부 플랫폼, 서버리스 지향의 차이, 클라우드 운영 조직 모델(CCoE)과 가드레일 거버넌스 |
| 플랫폼 엔지니어링: 내부 개발자 플랫폼과 골든 패스 | 개발자를 고객으로 보는 IDP, 다섯 구성 요소와 오케스트레이터, 포털과 플랫폼, 골든 패스 설계, 최소 실행 가능 플랫폼 |
| DevSecOps와 클라우드 보안 | 위협 모델링, 코드·의존성·이미지·IaC 자동 검사, 비밀 관리, 취약점 관리, 클라우드의 관리적·기술적 위협과 CVE·CCE 점검, 보안 솔루션 배치 |
| ChatOps: 채팅에서 운영하기 | 채팅방 봇 명령으로 배포·조회·장애 대응, 투명성과 온보딩, 도입 단계, 권한·비밀·알림 피로 |
서비스 전체의 데이터 흐름 속에서 DevOps가 차지하는 자리는 웹 확장성의 구성 요소에서 함께 볼 수 있다. 모바일 앱의 OTA 배포는 CodePush 참고.