클라우드·DevOps·SRE 부트캠프
작은 안내판 웹 서비스를 Linux에서 실행하고 컨테이너·CI·IaC·관측·복구를 차례로 연결합니다.
- 대상
- 국비 웹 과정 수료생과 비전공 입문자를 대상으로 합니다. 제공된 Java 서비스에서 운영 작업을 익힙니다.
- 시작 전
- 파일·폴더와 브라우저 사용부터 시작합니다. Linux 실습 환경·Git·Java 17·Docker 설치를 안내하며 유료 클라우드 계정은 요구하지 않습니다. Python 실습은 변수·조건·반복·JSON 읽기의 준비 예제를 제공합니다.
- 학습 시간
- 126시간 안팎
트랙 프로젝트
작은 웹 서비스의 배포·복구 파이프라인
안내판 조회 API를 로컬 컨테이너에 배포합니다. 검증한 이미지와 설정을 분리하고 실패 배포의 이전 버전 복구·데이터 복원·자원 정리까지 재현합니다.
수료하면 할 수 있는 일
- Linux·HTTP·DNS를 이용해 서비스 접속을 진단합니다.
- 셸과 Git으로 실행 절차와 변경을 기록합니다.
- 이미지를 빌드하고 동일 버전으로 서비스를 실행합니다.
- 환경 변수와 볼륨·포트 설정을 분리합니다.
- CI에서 테스트와 이미지 빌드를 수행합니다.
- 배포 실패 시 이전 버전으로 되돌리는 절차를 검증합니다.
- IaC로 실습 자원을 만들고 변경 계획을 확인합니다.
- VPC·서브넷·보안그룹의 통신 범위를 설명합니다.
- 최소 권한과 비밀 주입으로 접근을 제한합니다.
- 사용량을 확인하고 사용하지 않는 실습 자원을 정리합니다.
- 지표·로그·트레이스로 요청 실패를 추적합니다.
- SLI와 SLO의 차이를 설명하고 장애 회고를 작성합니다.
모듈
- Linux 실행 환경과 변경 기록
터미널 경험이 없어도 경로·권한·종료 상태를 읽고 서비스 작업을 기록합니다.
10시간 안팎
workspace/와 scripts/를 만들고 경로가 바뀌어도 실행되는 준비 스크립트를 작성합니다.
- 작은 웹 서비스 실행과 접속 진단
제공된 Java 서비스를 띄우고 DNS·TCP·TLS·HTTP 순서로 접속 실패를 좁힙니다.
12시간 안팎
제공된 안내판 API를 Java 17·Spring Boot 3.1.x로 빌드하고 /health와 /notices를 확인합니다.
- 컨테이너 이미지와 재현 가능한 실행
앞 모듈의 서비스를 고정된 이미지로 실행하고 설정과 데이터를 분리합니다.
12시간 안팎
m02 서비스를 컨테이너화하고 릴리스 명세에 실제 이미지 digest를 기록합니다.
- CI 테스트와 이미지 빌드 자동화
검증이 통과한 변경만 이미지와 릴리스 명세로 남깁니다.
12시간 안팎
m03 이미지 빌드를 테스트 이후에 연결하고 변경 ID·digest·테스트 요약을 산출물로 저장합니다.
- IaC 자원 구성과 네트워크 경계
코드로 로컬 실습 자원을 만들고 VPC·서브넷·보안그룹의 통신 범위를 설명합니다.
16시간 안팎
m04 릴리스 명세를 Terraform 입력으로 사용해 전용 Docker 네트워크·서비스·볼륨을 생성합니다.
- 최소 권한과 비밀 주입
서비스 계정과 배포 계정의 권한을 구분하고 비밀을 저장소 밖에서 전달합니다.
12시간 안팎
m05 서비스에 저장소 밖의 실습 비밀 파일과 비루트 서비스 계정을 연결합니다.
- 헬스 체크와 배포·롤백
테스트를 통과한 이미지를 배포하고 사용자 요청 실패 시 이전 버전으로 복구합니다.
16시간 안팎
m04 CI 통과 산출물만 받아 m06 후보 환경에 배포하고 readiness·사용자 요청 검사 후 프록시를 전환합니다.
- 지표·로그·트레이스와 요청 추적
배포 전후 자료를 비교하고 하나의 실패 요청을 관측 자료로 추적합니다.
14시간 안팎
m07 배포 파이프라인에 전후 관측 자료 수집을 연결하고 로그·지표·트레이스를 함께 저장합니다.
- SLI·SLO와 장애 회고
사용자 흐름에 맞는 목표와 경보를 정하고 복구 기록에서 후속 작업을 도출합니다.
10시간 안팎
m08 관측 자료로 안내판 조회 성공률 SLI와 교육용 SLO의 기간·목표·제외 조건을 작성합니다.
- 사용량·자원 정리와 최종 인계
사용량 근거와 데이터 보존 절차를 남기고 전체 배포·복구 파이프라인을 시연합니다.
12시간 안팎
m01~m09 산출물을 하나의 실행 안내에 묶고 빌드→배포→실패 감지→이전 버전 복구를 시연합니다.
신입 기본기 대응표
| 영역 | 완료 기준 | 모듈 |
|---|---|---|
| 운영 기반 |
| m01-linux-workspacem02-service-network |
| 컨테이너 |
| m03-container-release |
| 배포 자동화 |
| m04-ci-artifactsm07-deploy-rollback |
| 인프라 구성 |
| m05-iac-network |
| 권한과 비용 |
| m06-identity-secretsm10-usage-handoff |
| 관측과 신뢰성 |
| m08-observabilitym09-slo-incident |
면접 질문 대응
- 컨테이너 이미지와 실행 중 컨테이너의 차이를 설명합니다. m03-container-release
- 환경마다 달라지는 설정을 주입하는 방법을 설명합니다. m03-container-releasem06-identity-secrets
- CI에서 실패한 테스트 이후의 배포 동작을 설명합니다. m04-ci-artifacts
- VPC·서브넷·보안그룹의 역할을 설명합니다. m05-iac-network
- 실습 자원을 안전하게 정리하는 순서를 설명합니다. m10-usage-handoff
- 지표·로그·트레이스로 확인하는 정보를 설명합니다. m08-observability