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

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

$33.65
Description
이 책은 오픈소스 설정관리 도구인 셰프(Chef)를 활용하는 가이드북인 쿡북 개발은 물론, 쿡북 개발 환경 구성과 테스팅, 배포에 이르는 전 과정을 실무자의 입장에서 다루며, 커뮤니티에 공개된 쿡북을 활용해 실무에서 자주 쓰는 주요 소프트웨어를 설치하고 구성하는 방법을 설명한다.
저자

마티아스마샬

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

목차

1장셰프인프라스트럭처
__소개
__버전컨트롤활용
__워크스테이션에셰프설치
__호스티드셰프플랫폼활용
__베이그런트를이용한가상머신관리
__쿡북생성과실행
__나이프를이용해셰프서버의파일검사
__쿡북의존성정의
__버크셸프를이용한쿡북의존성관리
__깃저장소에서쿡북을다운로드하고벤더브랜치로통합
__맞춤형나이프플러그인활용
__현재깃브랜치를기반으로조직명변경
__셰프서버에서노드삭제
__셰프솔로실행
__롤활용
__엔바이런먼트활용
__쿡북프리징
__셰프클라이언트를데몬으로실행
__셰프콘솔활용

2장쿡북과셰프런검토와문제해결
__소개
__셰프쿡북테스트
__셰프쿡북의문제점찾기
__셰프스펙을활용한테스트주도형쿡북개발
__테스트키친을활용한셰프쿡북통합테스트
__쿡북을업로드하기전에영향을받는노드조회
__노드의실행목록을오버라이드해서개별레시피실행
__why-run모드로레시피수행내역미리보기
__셰프클라이언트런디버깅
__마지막셰프클라이언트런의결과검증
__레시피에서예외를일으키고로그남기기
__나이프로쿡북의변경사항보기
__커뮤니티예외와리포트핸들러활용
__맞춤형핸들러만들기

3장셰프언어와스타일
__소개
__커뮤니티셰프스타일활용
__속성을이용해레시피를동적으로설정
__템플릿활용
__보통루비코드와셰프DSL혼용
__레시피안에서루비젬설치와활용
__라이브러리활용
__정의활용
__경량리소스제공자(LWRP)만들기
__애플리케이션랩퍼쿡북을이용한커뮤니티쿡북확장
__맞춤형오하이플러그인제작
__맞춤형나이프플러그인제작

4장더나은쿡북만들기
__소개
__환경변수설정
__셸명령어에인수전달
__속성오버라이딩
__노드검색
__데이터백활용
__데이터백아이템검색
__데이터백아이템암호화
__외부스크립트에서데이터백에접근
__시스템환경정보수집
__다중플랫폼호환쿡북작성
__쿡북에서사용할수있는모든운영체제조회
__조건부실행을바탕으로레시피의멱등성구현

5장파일과패키지다루기
__소개
__템플릿을이용한설정파일생성
__루비조건문과반복문을활용한템플릿작성
__서드파티저장소의패키지설치
__소스코드를이용한소프트웨어설치
__파일이변경될때명령어수행
__디렉터리트리배포
__오래된파일정리
__목적플랫폼에알맞은파일배포

6장사용자와애플리케이션
__소개
__데이터백으로부터사용자생성
__시큐어셸데몬(SSHD)보안설정
__패스워드없는슈퍼유저모드(sudo)설정
__NTP관리
__nginx관리
__nginx사이트생성
__MySQL데이터베이스와사용자생성
__워드프레스사이트관리
__루비온레일스애플리케이션관리
__바니쉬관리
__로컬워크스테이션관리

7장서버와클라우드인프라스트럭처
__소개
__블루프린트를이용해서구동중인시스템의쿡북생성
__여러머신에서동일한명령어한번에실행
__외부모니터링서비스용SNMP설정
__나기오스모니터링서버배포
__하트비트를이용한고가용성서비스구성
__HAProxy를이용한웹서버부하분산
__맞춤형부트스트랩스크립트활용
__iptables를이용한방화벽관리
__fail2ban을이용해서악의적인IP주소차단
__아마존EC2인스턴스관리
__스파이스위즐과나이프를이용해서파일로부터셰프인프라스트럭처불러오기

출판사 서평

★이책에서다루는내용★

■셰프를이용해서인프라스트럭처를코드로정의하는방법
■쿡북과베이그런트를이용해서셰프개발과테스트환경을구축하는방법
■셰프가제공하는다양한검증도구와로그를바탕으로쿡북과셰프런을디버깅하는방법
■검증된코딩스타일과패턴을바탕으로명확하고관리하기편한쿡북을작성하는방법
■데이터백과검색을바탕으로외부데이터나노드속성을이용해쿡북을실행하는방법
■설정관리를자동화해클라우드인프라스트럭처를관리하고확장하는방법
■나이프와오하이맞춤형플러그인을작성해필요에맞게셰프를확장하는방법

★이책의대상독자★

정보관리시스템과인프라스트럭처의기초를이해하고있는시스템엔지니어나관리자에게적합하다.셰프를다뤄봤다면도움이되지만,알아야할중요한주제는책에서상세히설명한다.본격적으로시작하기전에책전체를정독하고싶지않다면몇가지예제만당장실행해봐도좋다.

★이책의구성★

1장,'셰프인프라스트럭처'에서는셰프학습의첫걸음을뗀다.쿡북과롤(role),엔바이런먼트(environment)등의주요개념을설명하고,깃(Git)과나이프(Knife),셰프셸(ChefShell),베이그런트(Vagrant),버크셸프(Berkshelf)등의기본적인도구사용법을알아본다.
2장,'쿡북과셰프런검토와문제해결'에서는쿡북을잘만드는방법을설명한다.로깅과디버깅은물론이고런모드가필요한이유를알아보고,테스트주도방식으로쿡북을개발하는과정을보여준다.
3장,'셰프언어와스타일'에서는속성(attribute)과템플릿,라이브러리(library),경량리소스프로바이더(LightWeightResourceProviders)등셰프의부가적인개념을살펴본다.그리고레시피안에서일반적인루비(Ruby)코드를사용하는방법,오하이(Ohai)와나이프플러그인을직접제작하는방법을배워본다.
4장,'더나은쿡북만들기'에서는쿡북의유연성을높이는방법을알아본다.속성을덮어쓰는방법,데이터백(databag)과검색기능을이용하는방법,한쿡북을여러번적용해도문제가없게하는방법(멱등성(idempotent)),크로스플랫폼쿡북제작방법등을설명한다.
5장,'파일과패키지다루기'에서는설정파일을관리하고,패키지를설치하고관리하는강력한기법을살펴본다.소스코드를이용해소프트웨어를설치하는방법과전체디렉터리트리를관리하는방법도설명한다.
6장,'사용자와애플리케이션'에서는사용자관리와SSH보안,sudo설정방법을살펴본다.그리고엔진엑스(nginx)와MySQL,워드프레스(Wordpress),루비온레일스(RubyonRails),바니쉬(Varnish)등실제로많이사용하는애플리케이션을설치해본다.마지막으로셰프로OSX워크스테이션을관리하는방법을살펴본다.
7장,'서버와클라우드인프라스트럭처'에서는네트워크와여러서버에걸쳐구동되는애플리케이션을살펴본다.고가용성서비스구성과부하분산기(loadbalancer),나기오스(Nagios)를이용해전체인프라스트럭처를모니터링하는방법도알아본다.마지막으로셰프를사용해아마존(Amazon)EC2를관리하는방법을설명한다.