1장. 데브옵스를 위한 파이썬 핵심
파이썬 설치 및 실행
절차적 프로그래밍
실행 제어
while 반복문
예외 처리
내장 객체
함수
정규 표현식 사용
지연 평가
IPython의 추가적인 특징들
연습문제
2장. 파일 및 파일시스템 자동화
파일 읽기와 쓰기
텍스트 검색을 위한 정규 표현식 사용
대용량 파일 처리하기
텍스트 암호화
os 모듈
os.path를 활용한 파일 및 디렉터리 관리
os.walk를 사용한 디렉터리 트리 탐색
pathlib의 path 객체
3장. 명령줄로 작업하기
셸에서 작업하기
명령줄 툴 만들기
사례연구: 명령줄 툴을 통한 고성능 파이썬
연습문제
4장. 유용한 리눅스 유틸리티
디스크 유틸리티
네트워크 유틸리티
CPU 유틸리티
Bash와 ZSH로 작업하기
Bash와 ZSH에서의 파이썬
파이썬 원라이너
strace
연습문제
사례연구
5장. 패키지 관리
패키징의 중요성
패키지 가이드라인
전략 선택
패키징 솔루션
systemd를 통한 관리
유닛 설치
연습문제
사례연구
6장. 지속적 통합과 지속적 배포
실제 사례연구: 관리 상태가 부실한 워드프레스 사이트를 휴고로 전환
실제 사례연구: 구글 클라우드 빌드를 통한 파이썬 앱 엔진 애플리케이션 배포
실제 사례연구: NFSOPS
7장. 모니터링 및 로깅
신뢰할 수 있는 시스템 구축의 핵심 개념
불변의 데브옵스 원칙
모니터링
측정
로깅
ELK 스택
연습문제
사례연구
8장. 데브옵스를 위한 pytest
pytest를 통한 Superpower 테스트
pytest 시작하기
pytest의 특징
픽스처
인프라스트럭처 테스트
예시
pytest로 Jupyter Notebook 테스트
연습문제
사례연구
9장. 클라우드 컴퓨팅
클라우드 컴퓨팅의 기반
클라우드 컴퓨팅의 종류
클라우드 서비스의 종류
코드형 인프라
지속적 전달
가상화와 컨테이너
분산 컴퓨팅의 도전과 기회
이 책에서 다루는 내용
■ 파이썬 언어에 대한 간략한 소개
■ 텍스트 자동화, 명령줄 툴 작성, 파일 시스템 자동화 방법
■ 리눅스 유틸리티, 패키지 관리, 빌드 시스템, 모니터링 및 측정, 자동화 테스트
■ 클라우드 컴퓨팅, 코드형 인프라, 쿠버네티스, 서버리스
■ 데브옵스 관점의 머신러닝 운영 및 데이터 엔지니어링
■ 머신러닝 프로젝트 구축, 배포 및 운영
이 책의 구성
이 책의 내용은 몇 가지 주제로 나뉜다. 첫 번째 부분은 파이썬의 기초로 언어를 간략히 소개하고 텍스트 자동화, 명령줄 툴 작성, 파일시스템 자동화를 다룬다.
다음 부분은 운영에 관한 내용으로 유용한 리눅스 유틸리티, 패키지 관리, 빌드 시스템, 모니터링 및 도구, 테스트 자동화 등을 설명한다. 유능한 데브옵스 전문가가 되려면 숙달해야 할 필수 주제다.
다음으로 클라우드 기초를 다루는 부분에서는 클라우드 컴퓨팅, 코드형 인프라, 쿠버네티스 및 서버리스를 설명한다. 현재 소프트웨어 산업은 클라우드 역량을 갖춘 인재를 충분히 발굴하는 데 어려움을 겪고 있다. 이 부분을 숙달하면 곧바로 연봉과 경력 모두에 보상으로 이어질 것이다. 그 다음은 데이터 부분이다. 머신러닝 운영과 데이터 엔지니어링은 모두 데브옵스 관점에서 다룬다. 플라스크, 사이킷런, 도커, 쿠버네티스를 이용한 머신러닝 모델의 구축, 배포, 운영 등 머신러닝 프로젝트도 자세하게 설명한다. 클라우드 기초의 마지막 부분인 16장은 사례연구, 인터뷰, 데브옵스 현장의 이야기가 담겨 있다.