장바구니 담기 close

장바구니에 상품을 담았습니다.

AWS를 이용한 데브옵스 완벽 구축

AWS를 이용한 데브옵스 완벽 구축 AWS 기반 데브옵스 완성을 통한 업무 효율 200% 달성하기

  • 나다니엘펠슨
  • |
  • 에이콘출판
  • |
  • 2018-05-14 출간
  • |
  • 492페이지
  • |
  • 188 X 235 X 29 mm
  • |
  • ISBN 9791161751566
판매가

35,000원

즉시할인가

31,500

카드할인

0원(즉시할인 0%)

적립금

1,750원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 옮긴이의 말 ★
나는 2015년 모 통신사 컨설팅 프로젝트를 진행하면서 ‘데브옵스(DevOps)’라는 용어를 처음으로 접했다. CI(Continuous Integration)라는 용어는 그보다 훨씬 오래 전인 2008년부터 사용하기 시작했다. 그해, 모 통신사의 대형 서비스 플랫폼의 운영 지원 및 고도화 기획을 담당했는데 해당 플랫폼의 원활한 유지 보수가 가장 큰 이슈였다. 전 국민을 대상으로 하는 플랫폼으로 장애 없는 유지 보수가 절대적으로 필요했으나 소스 코드의 관리 부재, 체계적인 빌드와 배포 시스템의 미비로 변경 개발 반영은 그야말로 손에 땀을 쥐는 매우 어려운 작업이었다. 가끔은 너무 시급해서 소스 코드를 상용 서버에 복사한 후 상용 서버에서 소스를 고쳐서 컴파일해 올리는 일도 있을 정도로 모든 절차가 임기응변으로 이뤄지고 있었다.
당시 소프트웨어 공학 방법론은 주로 개발된 코드를 재사용하는 방법에 대해서만 다루고 있었다. 이는 In-house 개발 및 COTS소프트웨어에 대해 적합한 방법론이다. 대형 SI에서는 주로 Waterfall 모델을 이용해 요구 사항 정의로 일이 시작되고 요구 사항의 구현으로 일이 끝나는 방법론 중심이었다. 다시 말해 실시간으로 운영 중인 시스템에 주기적으로 배포를 끊임없이 하기 위한 적절한 방법론 자체가 없었음이 맞을 것 같다. 당시 나는 Test NG(Next Generation)라는 이론을 접했고 여기에서 CI라는 용어를 처음으로 접했다. 개발 후 소스를 커밋하면 빌드 및 테스트를 자동으로 처리해주고 결과물을 바이너리로 남기는 일련의 과정을 CI라는 용어로 설명하고 있었다. 필자는 이 CI 절차를 도입해 유지 보수하는 데 반영시켰다. 이를 통해 자동화된 테스트를 통한 어처구니없는 실수를 차단시킬 수 있었다. 빌드 및 테스트가 성공한 바이너리만 상용 배포하도록 했고 배포된 바이너리에 오류가 있다면 직전 바이너리로 대체 배포할 수 있었다. 이를 통해 유지 보수가 훨씬 용이해졌을 뿐 아니라 작업 소요 시간, 평균 배포 주기, 배포 실패율 등을 산출하여 차기 운영프로젝트의 규모 산정 자료로 활용하기까지 할 수 있었다.
아쉬웠던 것은 테스트 환경 및 스테이징 환경 구성이 쉽지 않고 자동 배포가 불가능한 점이었다. 당시는 클라우드라는 용어가 막 등장하던 시절이다. 즉, 테스트 및 스테이징 환경을 구축하려면 별도의 하드웨어 투자가 필요하고 어떤 프로젝트에서도 이런 환경을 갖추기가 드물었다. 그러다 보니 로컬 PC 환경에서 개발 및 테스트 후 상용에 올릴 수밖에 없었고, 코드에 문제가 없어도 실행이 되지 않는 상황이 많이 발생했다.
바야흐로 클라우드 시대로 들어오면서 이런 환경의 구축이 가능한 시대가 됐다. CI 개념은 코드 빌드 및 바이너리 생성에서 멈추지 않고 인프라 생성과 바이너리 배포에까지 확장됐다. 이런 작업은 일반적으로 개발자보다는 운영자에게 이관돼왔다. 그러나 이러한 확장은 개발자와 운영자의 벽을 허물어뜨리는 결과를 가져오고 있다. 굳이 데브옵스라는 용어를 안 써도 이런 상황은 이미 발생하고 있다.
데브옵스는 소스 빌드, 바이너리 생성을 넘어 환경의 생성과 배포까지 모든 절차를 하나의 파이프라인으로 엮는 광범위한 작업을 의미한다. 그러나 국내에는 이런 거대한 작업을 해온 경험을 가진 인력이나 조직이 많지는 않은 것 같다. 너무 빨리 변하는 환경에 적응도 힘든 상황에서 데브옵스는 조직 자체를 흔드는 일이다. 이미 갖춰진 조직에서는 R&R; 문제로 실현이 쉽지 않고 운영 안정성 측면 때문에 누구에게도 이런 일을 전체적으로 할 수 있는 권한을 부여하지 않기 때문이다.
이 책은 현행 프로젝트나 현행 서비스 환경을 데브옵스로 전환하는 데 필요한 대부분을 설명하고 있다. 1장부터 순서대로 따라 하다 보면 어느 순간 데브옵스 환경의 실체를 볼 수 있을 것이다. 또한 이 책에 나와 있는 예시를 여러 번 반복적으로 구축하다 보면 누구든지 자신이 수행할 프로젝트를 데브옵스로 쉽게 이끌 수 있는 경지에 오르게 될 것이다. 현실적으로 데브옵스로의 전환이 용이하지 않더라도 이 책을 통해 어떻게 하면 데브옵스로의 연착륙이 가능할지에 대한 아이디어를 얻을 수 있을 것이다. 또한 스타트업이나 신규 프로젝트를 기획하고 있다면 이 책에서 제시한 대로 따르면 200%의 실적을 달성할 수 있을 것이다.


목차


1장. 클라우드와 데브옵스 혁명
__인프라 관점이 아닌 클라우드 관점으로 생각하기
____자체 하드웨어 배포 대 클라우드 배포
____비용 분석
____적시 제공(Just-In-Time) 인프라
____서로 다른 계층을 가진 클라우드 서비스
__데브옵스 문화 받아들이기
____데브옵스의 기원
____개발자 대 운영자의 딜레마
____데브옵스 문화의 주요 특징
__AWS에 배포하기
____AWS 생태계를 최대한 활용하는 방법
____AWS를 이용해 데브옵스 문화와 시너지를 이루는 방법
__요약

2장. 첫 번째 웹 응용프로그램 배포하기
__계정 생성과 구성
____계정 등록
____루트 계정에 멀티 팩터 인증 사용하기
____IAM에서 신규 사용자 생성하기
____명령줄 인터페이스 설치와 구성
__첫 번째 웹 서버 만들기
____AMI
____인스턴스 유형
____보안 그룹
____ssh 키 생성하기
____EC2 인스턴스 띄우기
____간단한 Hello World 웹 응용프로그램 생성하기
____EC2 인스턴스 중단하기
__요약

3장. 코드로서의 인프라 다루기
__클라우드포메이션으로 인프라 관리하기
____클라우드포메이션으로 시작하기
____클라우드포메이션을 이용 helloworld 예제 다시 작성하기
____템플릿을 소스 관리 시스템에 추가하기
____클라우드포메이션 스택 업데이트하기
____클라우드포메이션 스택 삭제하기
__구성 관리 시스템 추가하기
____앤시블로 시작하기
____컴퓨터에 앤시블 설치하기
____앤시블 플레이그라운드 생성하기
____앤시블 저장소 생성하기
____모듈 실행하기
____임의의 명령 실행하기
____앤시블 플레이북
____풀 모드로 앤시블 실행하기
____EC2 인스턴스에 깃과 앤시블 설치하기
____클라우드포메이션에 앤시블 통합하기
____모니터링
__요약

4장. 연속 통합과 연속 배포 추가하기
__연속 통합 파이프라인 구축하기
____앤시블과 클라우드포메이션을 이용해 젠킨스 생성하기
____CI 환경 준비하기
____CI 환경을 이용해 helloworld 응용프로그램 구현하기
____CI 파이프라인 상용화하기
__연속 배포 파이프라인 구축하기
____연속 배포를 위한 새로운 웹 서버 생성하기
____코드 디플로이로 helloworld 응용프로그램 통합하기
____AWS 코드 파이프라인으로 배포 파이프라인 구축하기
____상용을 위한 연속 파이프라인 구축하기
____상용에 연속 배포를 실행하기 위한 전략
__요약

5장. 인프라 확장하기
__단일 구조의 응용프로그램 확장하기
____웹 서버를 확장하기 위해 오토 스케일링 그룹 사용하기
____전통적인 데이터베이스 규모 확장 기초
__성능 및 비용 절감 향상하기
____일래스틱 캐시
____클라우드프론트
__대용량 트래픽을 취급할 수 있는 응용프로그램 설계하기
____로드 밸런서
____SQS와 키네시스를 이용한 오프라인 처리
____서버리스 아키텍처
____데이터 저장소 확장
____다중 리전 응용프로그램
__요약

6장. AWS에서 컨테이너 실행하기
__helloworld 응용프로그램 도커화하기
____도커로 시작하기
____Dockerfile 작성하기
__EC2 컨테이너 서비스 사용하기
____도커 이미지 관리를 위해 ECR 저장소 생성하기
____ECS 클러스터 생성하기
____ALB 생성하기
____ECS helloworld 서비스 만들기
__ECS에 배포하기 위한 CI/CD 파이프라인 작성하기
____상용 ECS 클러스터 생성하기
____코드 빌드를 이용해 컨테이너 생성 자동화하기
____코드 파이프라인으로 배포 파이프라인 생성하기
__요약

7장. 모니터링과 알람
__모니터링을 위해 응용프로그램 측정하기
____AWS 클라우드 와치
____클라우드 와치를 사용해 helloworld 응용프로그램 모니터링하기
____일래스틱서치, 키바나 및 파이어호스를 이용한 고급 로그 인프라
__인프라 모니터링하기
____EC2 모니터링하기
____ECS 클러스터 모니터링
____ALB와 ELB 인스턴스 모니터링하기
__클라우드 와치와 SNS를 이용해 알람 생성하기
____AWS 단순 알람 서비스
____응용프로그램의 오류율 증가에 대한 알람 생성하기
____클라우드 와치 이벤트와 람다를 사용해 사용자 정의 측정 지표에 대한 알람 생성하기
____AWS 상태 모니터링 및 알람
__요약

8장. AWS 환경의 보안성 강화하기
__노력을 집중할 수 있는 곳 이해하기
____공유된 책임 모델
____클라우드 보안 감사
__IAM 계층의 보안성 개선하기
____AWS에서 사용자 관리하기
____AWS에서 서비스 권한 관리하기
__네트워크 수준에서 보안 강화하기
____공용 및 사설 서브넷을 가진 VPC 생성하기
____신규 VPC를 이용해 helloworld 다시 생성하기
____VPC에 VPN 연결 생성하기
__표적 공격으로부터 보호
____표적 공격으로부터 보호
____랜섬웨어로부터 보호
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.