Top

파이썬으로 하는 데브옵스 [자동화, 클라우드, 머신러닝, 데이터 엔지니어링까지]

  • 원서명Python for DevOps: Learn Ruthlessly Effective Automation (ISBN 9781492057697)
  • 지은이노아 기프트(Noah Gift), 케네디 베어먼(Kennedy Behrman), 알프레도 데자(Alfredo Deza), 그릭 게오르규(Grig Gheorghiu)
  • 옮긴이전진우
  • ISBN : 9791161755380
  • 40,000원
  • 2021년 06월 30일 펴냄
  • 페이퍼백 | 644쪽 | 188*235mm
  • 시리즈 : 프로그래밍 언어

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/python-for-devops)

요약

파이썬을 통해 데브옵스를 가장 효율적으로 실천할 수 있는 방법을 구체적인 사례와 함께 설명한다. 특히 CI/CD, 모니터링, 테스트 자동화 등 데브옵스 전문가에게 필요한 다양한 업무와 더 나아가 클라우드와 머신러닝에 이르기까지 파이썬을 활용해 얼마나 다양하고 가치 있는 일을 할 수 있는지 배울 수 있다.

추천의 글

"언어에 대한 훌륭한 소개와, 이를 현대 소프트웨어 개발에 없어서는 안 되는 모든 기술 영역에서 사용하는 고급 과정"
-제레미 이브라우(Jeremy Yabrow)/ 엔지니어링 디렉터, BeyoundView. Inc

"데브옵스 실력을 키우는 데 도움이 될 새로운 지식과 기술을 접하게 될 것이다."
-웨스 노박(Wes Novack)/ 시스템 아키텍트, Pluralsight

이 책에서 다루는 내용

■ 파이썬 언어에 대한 간략한 소개
■ 텍스트 자동화, 명령줄 툴 작성, 파일 시스템 자동화 방법
■ 리눅스 유틸리티, 패키지 관리, 빌드 시스템, 모니터링 및 측정, 자동화 테스트
■ 클라우드 컴퓨팅, 코드형 인프라, 쿠버네티스, 서버리스
■ 데브옵스 관점의 머신러닝 운영 및 데이터 엔지니어링
■ 머신러닝 프로젝트 구축, 배포 및 운영

이 책의 구성

이 책의 내용은 몇 가지 주제로 나뉜다. 첫 번째 부분은 파이썬의 기초로 언어를 간략히 소개하고 텍스트 자동화, 명령줄 툴 작성, 파일시스템 자동화를 다룬다.
다음 부분은 운영에 관한 내용으로 유용한 리눅스 유틸리티, 패키지 관리, 빌드 시스템, 모니터링 및 도구, 테스트 자동화 등을 설명한다. 유능한 데브옵스 전문가가 되려면 숙달해야 할 필수 주제다.
다음으로 클라우드 기초를 다루는 부분에서는 클라우드 컴퓨팅, 코드형 인프라, 쿠버네티스 및 서버리스를 설명한다. 현재 소프트웨어 산업은 클라우드 역량을 갖춘 인재를 충분히 발굴하는 데 어려움을 겪고 있다. 이 부분을 숙달하면 곧바로 연봉과 경력 모두에 보상으로 이어질 것이다. 그 다음은 데이터 부분이다. 머신러닝 운영과 데이터 엔지니어링은 모두 데브옵스 관점에서 다룬다. 플라스크, 사이킷런, 도커, 쿠버네티스를 이용한 머신러닝 모델의 구축, 배포, 운영 등 머신러닝 프로젝트도 자세하게 설명한다. 클라우드 기초의 마지막 부분인 16장은 사례연구, 인터뷰, 데브옵스 현장의 이야기가 담겨 있다.

저자/역자 소개

지은이의 말

지난 10여년 간 기술 분야에는 많은 변화가 있었다. 데이터의 인기가 높아졌고, 클라우드는 어디에나 존재하며, 많은 조직에서 어떤 형태의 자동화가 필요하게 됐다. 이러한 변화의 과정에서 파이썬은 세계에서 가장 인기있는 언어 중 하나가 됐다. 이 실용적인 자원은 도커, 쿠버네티스 및 테라폼을 비롯한 오늘날 가장 유용한 데브옵스 툴을 사용해 일상적인 리눅스 시스템 관리 작업에 파이썬을 사용하는 방법을 보여준다.
리눅스와 상호작용하고 자동화하는 방법을 배우는 것은 전문가에게 필수이며, 파이썬은 이 작업을 훨씬 쉽게 해준다. 이 책을 통해 소프트웨어를 개발하고 컨테이너를 사용해 문제를 해결하는 방법뿐만 아니라 소프트웨어의 모니터링, 측정, 부하 테스트 및 운영 방법을 배울 수 있다. 파이썬을 사용해 효과적으로 업무를 완료하는 방법을 찾고 있다면 이 책이 가이드가 되어 줄 것이다.

지은이 소개

노아 기프트(Noah Gift)

듀크 MIDS와 노스웨스턴 대학원 데이터 사이언스, UC 버클리 대학원 데이터 사이언스, UC 데이비스 경영 대학원의 MSBA 프로그램 강사다. 약 20년의 파이썬 프로그래밍 전문 경력이 있고, 파이썬 소프트웨어 재단 펠로우(Python Software Foundation Fellow)다. 여러 회사에서 CTO, 총괄 매니저, 컨설팅 CTO와 클라우드 아키텍트에 이르기까지 다양한 역할로 근무했다. 현재는 스타트업을 비롯한 여러 회사에 머신러닝과 클라우드 아키텍처에 대해 컨설팅을 하고 있으며, Pragmatic AI Labs(https://paiml.com)의 창립자로서 CTO 레벨 컨설팅을 수행하고 있다.
O’Reilly, Pearson, DataCamp, Udacity 등을 통해 클라우드 머신러닝에서 데브옵스에 이르는 주제를 다룬 2권의 책을 포함해 100편 이상의 기술 출판물을 출판했다. 또한 공인 AWS 솔루션 아키텍트다. 캘리포니아 데이비스 대학교 MBA, 로스앤젤레스 캘리포니아 주립대학교 컴퓨터 정보 시스템 석사, 샌 루이스 오비스포 캘리포니아 폴리테크닉 주립대학교에서 영양학 학사 학위를 취득했다.
더 많은 정보는 깃허브(https://github. com/noahgift), 개인 웹사이트(https://noahgift.com), 링크드인(https://www.linkedin.com/in/noahgift)에서 확인할 수 있다.

케네디 베어먼(Kennedy Behrman)

초기 단계의 스타트업을 위한 클라우드 솔루션 설계 및 구현 전문 베테랑 컨설턴트다. 펜실베이니아 대학교에서 컴퓨터 정보 기술 석사, 컴퓨터 그래픽 및 게임 프로그래밍 프로그램 석사 학위를 포함해 학사와 석사 학위를 모두 취득했다.
데이터 엔지니어링, 데이터 사이언스, AWS 솔루션 및 엔지니어링 관리 분야에 경험이 있으며 파이썬과 데이터 사이언스 관련 여러 출판물의 기술 편집자로 활동했다. 데이터 사이언티스트로서 스타트업을 위한 독점적 그로스 해킹 머신러닝 알고리즘 개발을 도와 플랫폼의 기하급수적인 성장을 이끌었다. 이후 해당 기술을 지원하는 데이터 사이언스 팀을 고용해 관리하고 있다. 이 경험 외에도 거의 15년 동안 파이썬 언어 분야에서 활동하면서 사용자들에게 강연을 하고, 기사를 작성하며, 여러 출판물의 기술 편집자로 활동하고 있다.

알프레도 데자(Alfredo Deza)

열정적인 소프트웨어 엔지니어이자 열렬한 오픈소스 개발자이며, 빔(Vim) 플러그인 작성자 겸 사진 작가, 전 올림픽 선수다. 오픈소스 소프트웨어, 자기 개발, 프로 스포츠에 대해 전 세계에서 여러 강의를 했다. 효율적이고 탄력적인 환경을 추구하며 회사 인프라 재구축, 공유 스토리지 설계, 복잡한 빌드 시스템 교체를 수행했다. 테스트 및 문서화에 대한 강한 신념으로 강력한 개발 관행을 어디에서든 지속적으로 추진하고 있다.
지식을 갈망하는 개발자이며, 자신의 지역에서 파이썬, 파일시스템 및 스토리지, 시스템 관리, 프로 스포츠에 대한 프레젠테이션을 한다.

그릭 게오르규(Grig Gheorghiu)

프로그래머, 테스트 엔지니어, 연구실 관리자, 시스템/네트워크/보안/클라우드 아키텍트, 데브옵스 책임자 등 다양한 역할로 25년 이상의 업계 경험을 쌓았다. 지난 20년 동안 이바이트(Evite), 내스티 갈(Nasty Gal)같은 대규모 소비자 대면 및 전자상거래 웹사이트의 인프라를 설계하고 구축했을 뿐만 아니라 기술 운영 및 엔지니어링 팀을 이끌어왔다. 루마니아 부쿠레슈티 대학교에서 CS 학사 학위를, 로스앤젤레스 USC에서 CS 석사 학위를 받았다.
미디엄(https://medium.com/@griggheo)에서 프로그래밍, 클라우드 컴퓨팅, 시스템 관리, 데이터 분석, 자동화 테스트 툴과 기술에 대해 블로그를 작성하고 있다. 그가 언젠가 받았던 포춘 쿠키에 담긴 ‘그의 생각은 창의적이고 독창적이며 기민하다’라는 말이 사실이라고 믿고 싶어 한다.

옮긴이의 말

단순명료한 제목에서도 알 수 있듯이 이 책은 데브옵스에 필요한 여러 기술 요소를 파이썬으로 구현하는 방법을 설명합니다. 책을 좀 더 자세히 들여다보면 저자들은 기술 가이드를 넘어 데브옵스의 필요성과 가치 그리고 이를 실천해야만 하는 이유를 역설하며 새로운 기술의 거대한 물결을 적극적으로 수용하고 활용해야 함을 강조합니다. 데브옵스, 자동화, 클라우드, 빅데이터, 머신러닝은 원래부터 하나였던 것처럼 이제 따로 떨어져서는 온전히 그 가치를 유지하기 어려워 보입니다. 파이썬은 이 모든 것을 하나의 언어로 엮어주는 훌륭한 도구입니다. ABCD(AI, Blockchain, Cloud, Data)의 지속적인 발전과 함께 파이썬 역시 앞으로도 오랜 시간 꾸준한 사랑을 받을 것으로 예상됩니다.
이 책 한 권을 익힌다고 해서 파이썬으로 클라우드, 머신러닝 등을 자유자재로 활용할 수 있는 슈퍼 엔지니어가 되는 것은 아닙니다. 하지만 가장 인기 있는 프로그래밍 언어로 다양한 최신 기술을 쉽고 효율적으로 활용하는 방법을 배울 수 있고, 실제 데브옵스 현장의 사례와 생생한 목소리를 통해 폭넓은 통찰을 얻기에는 충분해 보입니다. IT 엔지니어로서 지금 하고 있는 업무를 어떻게 개선할 수 있을지 또는 앞으로 어떤 기술 영역으로 성장해 나갈지 고민하고 있다면 많은 도움이 될 것이라 생각합니다.

옮긴이 소개

전진우

삼성SDS에 신입으로 입사해 삼성SDS 및 국내외 관계사 전반에 적용되어 있는 IT 인프라 모니터링 솔루션의 설계/개발, 구축 프로젝트, 기술지원 등을 수행했다. 이후 해당 솔루션의 상품 관리자 역할을 맡아 상품기획 업무를 담당하면서 모니터링 솔루션 영역에서는 영업을 제외한 모든 업무를 경험했다. 현재는 사내 운영지원시스템의 코드 실행 자동화 소프트웨어를 개발하고 있다. 15년여 회사 생활의 가장 자랑스러운 업적은 아름다운 아내와 귀여운 딸을 얻은 것이다.

목차

목차
  • 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장. 클라우드 컴퓨팅
    • 클라우드 컴퓨팅의 기반
    • 클라우드 컴퓨팅의 종류
    • 클라우드 서비스의 종류
    • 코드형 인프라
    • 지속적 전달
    • 가상화와 컨테이너
    • 분산 컴퓨팅의 도전과 기회
    • 클라우드 시대의 파이썬 병행처리, 성능 및 프로세스 관리
    • 결론
    • 연습문제
    • 사례연구

  • 10장. 코드형 인프라
    • 인프라 자동화 툴 분류
    • 수동 프로비저닝
    • 테라폼을 활용한 인프라 프로비저닝 자동화
    • 풀루미를 활용한 인프라 프로비저닝 자동화
    • 연습문제

  • 11장. 컨테이너 기술: 도커 및 도커 컴포즈
    • 도커 컨테이너란 무엇인가
    • 도커 이미지와 컨테이너의 생성, 작성, 실행, 삭제
    • 도커 레지스트리에 도커 이미지 퍼블리싱
    • 동일한 이미지로 각기 다른 호스트에 도커 컨테이너 실행하기
    • 도커 컴포즈를 통한 멀티 도커 컨테이너 실행
    • 새로운 호스트와 OS에 도커 컴포즈 서비스 포팅하기
    • 연습문제

  • 12장. 컨테이너 오케스트레이션: 쿠버네티스
    • 쿠버네티스 개념의 간략한 개요
    • Kompose를 사용해 docker-compose.yaml에서 쿠버네티스 매니페스트 만들기
    • 미니큐브를 기반으로 로컬 쿠버네티스 클러스터에 쿠버네티스 매니페스트 배포하기
    • 풀루미를 통해 GCP에서 GKE 쿠버네티스 클러스터 시작하기
    • GKE로 플라스크 예제 애플리케이션 배포하기
    • 프로메테우스와 그라파나 헬름 차트 설치
    • GKE 클러스터 삭제
    • 연습문제

  • 13장. 서버리스 기술
    • ‘빅 3’ 클라우드 프로바이더에 동일한 파이썬 함수 배포
    • 자체 호스팅 FaaS 플랫폼에 파이썬 함수 배포
    • AWS CDK를 사용한 DynamoDB 테이블, Lambda 함수 및 API Gateway 메소드 프로비저닝
    • 연습문제

  • 14장. MLOps와 머신러닝 엔지니어링
    • 머신러닝이란 무엇인가
    • 파이썬 머신러닝 생
    • 클라우드 머신러닝 플랫폼
    • 머신러닝 성숙도 모델
    • 쿠버네티스와 도커를 활용한 sklearn 플라스크
    • 쿠버네티스와 도커를 활용한 sklearn 플라스
    • 연습문제
    • 사례연구
    • 학습평가

  • 15장. 데이터 엔지니어링
    • 스몰 데이터
    • 파일 쓰기
    • 파일 읽기
    • 라인 읽기 및 처리를 위한 제너레이터 파이프라인
    • YAML 사용하기
    • 빅데이터
    • 빅데이터 툴, 구성요소 및 플랫폼
    • 실시간 스트리밍 수집
    • 사례 연구: 자체 개발 데이터 파이프라인
    • 서버리스 데이터 엔지니어링
    • 결론
    • 연습문제
    • 사례연구

  • 16장. 데브옵스 현장의 이야기와 인터뷰
    • 영화를 만들지 못하는 영화 스튜디오
    • 게임을 출시하지 못하는 게임 스튜디오
    • 파이썬 스크립트 출시까지 60초 소요
    • 캐시와 지능형 계측기로 화재 진압
    • 자동화로 자신의 업무를 없애라!
    • 데브옵스 안티패턴
    • 인터뷰
    • 권고사항
    • 연습문제
    • 도전과제
    • 캡스톤 프로젝트

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안