스크랩

구간

Chef 클라우드 서비스 설정관리 자동화 도구 오픈소스 설정관리 도구 셰프의 설치부터 배포까지

원제 : Chef Infrastructure Automation Cookbook

마티아스 마샬 저 | 최광민 역 | 에이콘출판 | 2015년 06월

북트리

정가
$66.00
판매가
$48.11 (27%↓) 최저가 보상
적립금
$0.96 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960777279 / 376쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 셰프를 이용해서 인프라스트럭처를 코드로 정의하는 방법 ■ 쿡북과 베이그런트를 이용해서 셰프 개발과 테스트 환경을 구축하는 방법 ■ 셰프가 제공하는 다양한 검증 도구와 로그를 바탕으로 쿡북과 셰프 런을 디버깅하는 방법 ■ 검증된 코딩 스타일과 패턴을 바탕으로 명확하고 관리하기 편한 쿡북을 작성하는 방법 ■ 데이터 백과 검색을 바탕으로 외부 데이터나 노드 속성을 이용해 쿡북을 실행하는 방법 ■ 설정 관리를 자동화해 클라우드 인프라스트럭처를 관리하고 확장하는 방법 ■ 나이프와 오하이 맞... ★ 이 책에서 다루는 내용 ★ ■ 셰프를 이용해서 인프라스트럭처를 코드로 정의하는 방법 ■ 쿡북과 베이그런트를 이용해서 셰프 개발과 테스트 환경을 구축하는 방법 ■ 셰프가 제공하는 다양한 검증 도구와 로그를 바탕으로 쿡북과 셰프 런을 디버깅하는 방법 ■ 검증된 코딩 스타일과 패턴을 바탕으로 명확하고 관리하기 편한 쿡북을 작성하는 방법 ■ 데이터 백과 검색을 바탕으로 외부 데이터나 노드 속성을 이용해 쿡북을 실행하는 방법 ■ 설정 관리를 자동화해 클라우드 인프라스트럭처를 관리하고 확장하는 방법 ■ 나이프와 오하이 맞춤형 플러그인을 작성해 필요에 맞게 셰프를 확장하는 방법 ★ 이 책의 대상 독자 ★ 정보 관리 시스템과 인프라스트럭처의 기초를 이해하고 있는 시스템 엔지니어나 관리자에게 적합하다. 셰프를 다뤄봤다면 도움이 되지만, 알아야 할 중요한 주제는 책에서 상세히 설명한다. 본격적으로 시작하기 전에 책 전체를 정독하고 싶지 않다면 몇 가지 예제만 당장 실행해봐도 좋다. ★ 이 책의 구성 ★ 1장, '셰프 인프라스트럭처'에서는 셰프 학습의 첫걸음을 뗀다. 쿡북과 롤(role), 엔바이런먼트(environment) 등의 주요 개념을 설명하고, 깃(Git)과 나이프(Knife), 셰프 셸(Chef Shell), 베이그런트(Vagrant), 버크셸프(Berkshelf) 등의 기본적인 도구 사용법을 알아본다. 2장, '쿡북과 셰프 런 검토와 문제 해결'에서는 쿡북을 잘 만드는 방법을 설명한다. 로깅과 디버깅은 물론이고 런 모드가 필요한 이유를 알아보고, 테스트 주도 방식으로 쿡북을 개발하는 과정을 보여준다. 3장, '셰프 언어와 스타일'에서는 속성(attribute)과 템플릿, 라이브러리(library), 경량 리소스 프로바이더(Light Weight Resource Providers) 등 셰프의 부가적인 개념을 살펴본다. 그리고 레시피 안에서 일반적인 루비(Ruby) 코드를 사용하는 방법, 오하이(Ohai)와 나이프 플러그인을 직접 제작하는 방법을 배워본다. 4장, '더 나은 쿡북 만들기'에서는 쿡북의 유연성을 높이는 방법을 알아본다. 속성을 덮어쓰는 방법, 데이터 백(data bag)과 검색 기능을 이용하는 방법, 한 쿡북을 여러 번 적용해도 문제가 없게 하는 방법(멱등성(idempotent)), 크로스플랫폼 쿡북 제작 방법 등을 설명한다. 5장, '파일과 패키지 다루기'에서는 설정 파일을 관리하고, 패키지를 설치하고 관리하는 강력한 기법을 살펴본다. 소스코드를 이용해 소프트웨어를 설치하는 방법과 전체 디렉터리 트리를 관리하는 방법도 설명한다. 6장, '사용자와 애플리케이션'에서는 사용자 관리와 SSH 보안, sudo 설정 방법을 살펴본다. 그리고 엔진엑스(nginx)와 MySQL, 워드프레스(Wordpress), 루비 온 레일스(Ruby on Rails), 바니쉬(Varnish) 등 실제로 많이 사용하는 애플리케이션을 설치해본다. 마지막으로 셰프로 OS X 워크스테이션을 관리하는 방법을 살펴본다. 7장, '서버와 클라우드 인프라스트럭처'에서는 네트워크와 여러 서버에 걸쳐 구동되는 애플리케이션을 살펴본다. 고가용성 서비스 구성과 부하 분산기(load balancer), 나기오스(Nagios)를 이용해 전체 인프라스트럭처를 모니터링하는 방법도 알아본다. 마지막으로 셰프를 사용해 아마존(Amazon) EC2를 관리하는 방법을 설명한다.

저자 소개

독일 태생의 소프트웨어 엔지니어로, 네 명의 자녀를 편안하고 활기차게 잘 보살피는 아버지기도 하며, 네 명의 아이가 만들어내는 혼돈을 잘 극복하고 있다. 린 엔지니어링과 애자일 엔지니어링을 바탕으로 지속적인 배포와 인프라스트럭처 자동화, 데브옵스(DevOps) 관련 기술에 힘을 쏟고 있다. 
최근에는 자바와 루비 온 레일스를 이용한 웹 기반 비즈니스에 도움을 줬고, 시스템 관리자로 성장한 초기에 스스로 설정 관리 도구를 제작하기도 했다. 물론 지금은 전체 인프라스트럭처를 셰프로 관리 중이다. 
2008년에는 댄 애커슨(Dan Ackerson)과 함께 블로그(http://www.agileweboperations.com)를 개설하고 데브옵스의 초기 시절부터 관련 아이디어를 공유해왔다. 트위터 @mmarschall에서도 그를 만날 수 있다. 
구트프라게닷넷 주식회사(gutefrage.net GmbH)의 CTO로, 독일에서 가장 큰 Q&A 사이트를 비롯해 트래픽이 많은 사이트를 운영하는 데 도움을 주고 있다. 컴퓨터 과학 석사에 해당하는 디플롬을 취득했고, 오스버그 대학에서 애자일 소프트웨어 개발에 대한 강의를 하고 있다. 
코딩을 하지 않을 때는 카툰을 그리거나 바둑을 즐기며, 독일 뮌헨에서 살고 있다. 

역자 소개

한양대학교 컴퓨터 전공을 마치고 현재 삼성SDS 연구소 알고리즘 연구팀에서 책임 연구원으로 재직 중이다. 회사에서든 일상에서든 새롭고 흥미로운 기술이라면 무엇이든 배우고 즐길 준비가 돼있으며 백발노인이 돼서도 끝없이 탐구하고 창조하는 사람이 되는 것을 인생의 목표로 삼고 있다.

머리말

★ 지은이의 말 ★

여러분이 시스템 관리자이든 개발자이든 상관없이 반복되는 수동 작업이 지겹거나 서버를 재부팅해도 좋을지 자신이 없다면 인프라스트럭처(infrastructure) 자동화를 고려해야 한다.
이 책에서는 독자가 다섯 대의 서버를 관리하든 5,000대의 서버를 관리하든 50만 대의 서버를 관리하든 규모에 상관없이 서버와 애플리케이션을 설정하고 배포하고 확장하는 데 필요한 모든 레시피(recipe)를 제공한다.
이 책에 담긴 레시피는 실세계에서 발생하는 자동화 문제를 해결하는 방법을 따라 하기 쉽게 단계별로 보여준다. 그리고 이를 바탕으로 고수들의 기술을 배우고, 독자만의 인프라스트럭처 자동화 프로젝트를 수행할 수 있다.
앞으로 간단한 기법부터 실전에 적용할 수 있는 완성도 있는 기법까지, 셰프(Chef)의 다양한 측면을 살펴본다. 쉽고 간단한 예제를 바탕으로 독자의 인프라스트럭처를 자동화하는 데 필요한 셰프의 주요 개념을 이해할 수 있다. 그리고 커뮤니티의 쿡북(cookbook)을 독자의 환경에서 실행하려고 씨름하는 대신, 이미 완성된 코드 예제를 사용할 수 있다.
기본적인 셰프 도구의 사용법을 익힌 후에 문제 발생 시 해결 방법과 셰프 언어를 살펴본다. 이어서 사용자와 애플리케이션, 전체 클라우드 인프라스트럭처를 관리하는 방법을 설명한다. 마지막으로 셰프 생태계에 대해 깊이 살펴보고 독자에게 꼭 필요한 도구들을 제공한다.
이제 실전에서 발생하는 인프라스트럭처 자동화의 문제점을 해결할 수 있는 고수들의 비결을 단계적으로 학습해보자.


★ 옮긴이의 말 ★

“자동화: 어떤 일을 자동적인 수단에 의해 행할 수 있도록 하는 과정의 총칭”

자동화의 동의어로 컴퓨터화라는 말이 쓰일 정도로, 컴퓨터를 연구하고 직업으로 삼는 사람들에게 자동화는 영원한 숙제라고 할 수 있습니다. 그러나 아이러니하게도 수백, 수천 대의 컴퓨터로 이뤄진 IT 인프라스트럭처를 자동화하는 일은 아직까지도 어려운 주제 중 하나입니다. 그만큼 변수가 많고 요구 사항도 다양하다는 말이겠지요.

특히 하드웨어와 네트워크, 소프트웨어를 비롯한 대규모 IT 인프라를 서비스 형태로 제공하는 클라우드 컴퓨팅이 보편화되면서 효율적인 인프라스트럭처 자동화는 필수적인 요소가 되었습니다. IT의 본고장이라고 할 수 있는 미국에서는 셰프(Chef)와 퍼펫(Puppet)을 비롯한 오픈소스 설정 관리 도구를 사용하는 일이 일반화된 지 오래입니다. 반복되는 작업을 간소화하고, 실수를 줄일 수 있다는 이점이 있기 때문입니다.

그 중에서도 셰프는 유연성과 간결함, 커뮤니티에 공개된 수많은 쿡북 덕분에 인프라스트럭처 자동화에 탁월한 도구입니다. 그러나 셰프의 장점은 이뿐만이 아닙니다. 다른 설정 관리 도구에 비해 외부 시스템에 연동하기 쉽고, 이런 장점으로 인해 가상 머신과 미들웨어를 자동으로 구성해 제공하는 클라우드 컴퓨팅 서비스 구축에도 아주 유용한 도구입니다.

이러한 장점에도 불구하고 국내에서는 셰프를 체계적으로 소개하는 안내서를 찾기 힘든 실정입니다. 실무에서 셰프를 직접 활용하고 그 유용함을 잘 알고 있는 옮긴이는 국내 개발자와 운영자들의 궁금증을 조금이라도 덜어주고자 하는 마음으로 번역에 임했습니다.

특히 이 책은 셰프 쿡북 개발은 물론, 쿡북 개발 환경 구성과 테스팅, 배포에 이르는 전 과정을 실무자의 입장에서 다루며, 커뮤니티에 공개된 쿡북을 활용해 실무에서 자주 쓰는 주요 소프트웨어를 설치하고 구성하는 방법도 설명합니다. 이를 바탕으로 셰프를 처음 접하는 초보자는 물론, 당장 실무에 적용해야 하는 독자에게도 좋은 길잡이가 될 것입니다.


 

목차

목차
1장 셰프 인프라스트럭처
__소개
__버전 컨트롤 활용
__워크스테이션에 셰프 설치
__호스티드 셰프 플랫폼 활용
__베이그런트를 이용한 가상 머신 관리
__쿡북 생성과 실행
__나이프를 이용해 셰프 서버?의 파일 검사
__쿡북 의존성 정의
__버크셸프를 이용한 쿡북 의존성 관리
__깃 저장소에서 쿡북을 다운로드하고 벤더 브랜치로 통합
__맞춤형 나이프 플러그인 활용
__현재 깃 브랜치를 기반으로 조직명 변경
__셰프 서버에서 노드 삭제
__셰프 솔로 실행
__롤 활용
__엔바이런먼트 활용
__쿡북 프리징
__셰프 클라이언트를 데몬으로 실행
__셰프 콘솔 활용
2장 쿡북과 셰프 런 검토와 문제 해결
__소개
__셰프 쿡북 테스트
__셰프 쿡북의 문제점 찾기
__셰프스펙을 활용한 테스트 주도형 쿡북 개발
__테스트 키친을 활용한 셰프 쿡북 통합 테스트
__쿡북을 업로드하기 전에 영향을 받는 노드 조회
__노드의 실행 목록을 오버라이드해서 개별 레시피 실행
__why-run 모드로 레시피 수행 내역 미리보기
__셰프 클라이언트 런 디버깅
__마지막 셰프 클라이언트 런의 결과 검증
__레시피에서 예외를 일으키고 로그 남기기
__나이프로 쿡북의 변경 사항 보기
__커뮤니티 예외와 리포트 핸들러 활용
__맞춤형 핸들러 만들기
3장 셰프 언어와 스타일
__소개
__커뮤니티 셰프 스타일 활용
__속성을 이용해 레시피를 동적으로 설정
__템플릿 활용
__보통 루비 코드와 셰프 DSL 혼용
__레시피 안에서 루비 젬 설치와 활용
__라이브러리 활용
__정의 활용
__경량 리소스 제공자(LWRP) 만들기
__애플리케이션 랩퍼 쿡북을 이용한 커뮤니티 쿡북 확장
__맞춤형 오하이 플러그인 제작
__맞춤형 나이프 플러그인 제작
4장 더 나은 쿡북 만들기
__소개
__환경 변수 설정
__셸 명령어에 인수 전달
__속성 오버라이딩
__노드 검색
__데이터 백 활용
__데이터 백 아이템 검색
__데이터 백 아이템 암호화
__외부 스크립트에서 데이터 백에 접근
__시스템 환경 정보 수집
__다중 플랫폼 호환 쿡북 작성
__쿡북에서 사용할 수 있는 모든 운영체제 조회
__조건부 실행을 바탕으로 레시피의 멱등성 구현
5장 파일과 패키지 다루기
__소개
__템플릿을 이용한 설정 파일 생성
__루비 조건문과 반복문을 활용한 템플릿 작성
__서드파티 저장소의 패키지 설치
__소스코드를 이용한 소프트웨어 설치
__파일이 변경될 때 명령어 수행
__디렉터리 트리 배포
__오래된 파일 정리
__목적 플랫폼에 알맞은 파일 배포
6장 사용자와 애플리케이션
__소개
__데이터 백으로부터 사용자 생성
__시큐어 셸 데몬(SSHD) 보안 설정
__패스워드 없는 슈퍼유저 모드(sudo) 설정
__NTP 관리
__nginx 관리
__nginx 사이트 생성
__MySQL 데이터베이스와 사용자 생성
__워드프레스 사이트 관리
__루비 온 레일스 애플리케이션 관리
__바니쉬 관리
__로컬 워크스테이션 관리
7장 서버와 클라우드 인프라스트럭처
__소개
__블루프린트를 이용해서 구동 중인 시스템의 쿡북 생성
__여러 머신에서 동일한 명령어 한 번에 실행
__외부 모니터링 서비스용 SNMP 설정
__나기오스 모니터링 서버 배포
__하트비트를 이용한 고가용성 서비스 구성
__HAProxy를 이용한 웹 서버 부하 분산
__맞춤형 부트스트랩 스크립트 활용
__iptables를 이용한 방화벽 관리
__fail2ban을 이용해서 악의적인 IP 주소 차단
__아마존 EC2 인스턴스 관리
__스파이스위즐과 나이프를 이용해서 파일로부터 셰프 인프라스트럭처 불러오기

top