로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

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

   
지은이 나다니엘 펠슨   |   출판사 에이콘  |   발행일 2018년 05월 14일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2018-05-14
ISBN 1161751564 | 9791161751566
기타정보 번역서 | 496쪽 | 일반
예상출고일 1일 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 요약 ★



데브옵스를 완벽하게 구축하기 위한 실무 지침서로, 막연한 데브옵스를 실질적으로 구현하는 방법을 제시한다. 직접 사이트를 운영하면서 겪은 문제들을 해결하면서 체득한 노하우를 단계적으로 정리해 보여준다. 매우 실질적인 내용으로 누구든지 이 책의 예시를 반복적으로 수행하다 보면 데브옵스 전문가로 거듭날 수 있을 것이다. 데브옵스를 어떻게 시작해야 할지 막막했다면, 이제 이 책을 통해 그 방법과 절차를 명확히 익힐 수 있을 것이다.





★ 이 책에서 다루는 내용 ★



■ 데브옵스를 실행하는 의미와 데브옵스 원리 확인

■ 템플릿과 구성 관리를 이용한 반복적인 인프라 구축

■ 연속 통합 및 연속 배포 파이프라인 구축을 통한 일간 다중 배포 실현

■ 인프라 확장을 위한 컨테이너 및 서버리스 컴퓨팅을 포함한 최신 기술 활용

■ 성능 지표와 로그 수집 및 알람 전략 구현

■ 시스템을 양호하고 안전하게 만들기



★ 이 책의 대상 독자 ★



소프트웨어 인프라를 구축하고 활용하기를 원하는 개발자, 운영자 및 데브옵스 담당자를 위한 책이다. 전산 과학의 기초 지식이 있다면 좋을 것이다.





★ 이 책의 구성 ★



1장, '클라우드와 데브옵스 혁명'에서는 데브옵스 문화의 특징과 AWS를 최대한 활용하는 방법을 알아본다. 데브옵스 문화를 채택하는 것은 무엇보다 전통적인 엔지니어링 방식과 운영 팀의 운영 방식을 바꾸는 것을 의미한다.
2장, '첫 번째 웹 응용프로그램 배포하기'에서는 AWS와 가장 악명 높은 서비스인 EC2를 소개한다. AWS에 가입한 후, 명령 중 인터페이스를 이용해 가상 서버를 생성하는 방식으로 환경을 구성한다.

3장, '코드로서의 인프라 취급하기'에서는 어떠한 응용프로그램도 호스팅할 수 있는 훌륭한 상용 환경에 대해 설명한다. 어떻게 아키텍처를 구성하고 서버를 모니터링하는지 방법을 배운다.

4장, '연속 통합과 연속 배포 추가하기'에서는 개발자의 생산성을 향상하기 위한 CI/CD를 다룬다. 이를 위해 연속 통합 파이프라인을 구축할 것이다.

5장, '인프라 확장하기'에서는 단일 아키텍처를 서비스 지향 아키텍처로 해체하는 방법을 배운다. 또한 더 나은 로드 밸런싱과 더 나은 서비스 간 커뮤니케이션을 위한 ALB, SQS 및 키네시스와 같은 다른 AWS 관리 서비스에 대해서도 알 수 있다.

6장, 'AWS에서 컨테이너 실행하기'에서는 도커 및 ECS를 이용한 컨테이너 개념과 도커의 동작 원리의 기본을 설명한다. 응용프로그램에 컨테이너를 생성하는 방법도 배운다.

7장, '모니터링과 알람'에서는 응용프로그램 및 인프라에 모니터링과 알람을 추가하는 방법을 설명한다. AWS가 제공하는 클라우드 와치, 일래스틱서치 및 SNS와 같은 서비스의 이점을 이용해 합리적으로 잘 처리하는 방법을 배울 것이다.

8장, 'AWS 환경의 보안성 강화하기'에서는 클라우드의 복잡한 측면 중 하나인 보안에 대해 다루고 인프라의 보안을 감사하고 평가하는 다른 방법들을 배운다.





★ 지은이의 말 ★



AWS는 광범위한 관리 서비스를 제공한다. 각각은 문서화가 잘 돼 있으나 비즈니스 인프라를 구축하기 위해 서비스를 함께 사용하는 방법을 찾는 것은 덜 명확하다. 이 책에서 기술 기반 창업을 성공적으로 하는 방법과 그들의 서비스를 AWS상에 확장하는 방법을 확인하고 실제 수행 방법을 배우게 될 것이다. 새로운 철학 구현 덕분에 아마존(Amazon), 넷플릭스(Netflix) 및 에어비앤비(Airbnb)와 같은 선구자적인 기업들이 개발자와 운영 팀 간의 사일로(silo)를 무너뜨려, 엄청난 민첩성과 새로운 코드를 빠르고 안정적으로 배포하는 능력을 갖게 됐다. 이 책은 독자가 AWS를 단계적으로 이해하는 데 도움을 주는 포괄적인 가이드이다.

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 연결 생성하기
__표적 공격으로부터 보호
____표적 공격으로부터 보호
____랜섬웨어로부터 보호
__요약
나다니엘 펠슨(Nathaniel Felsen)

데브옵스(DevOps)라는 용어가 등장하기 전인 10년 전부터 데브옵스 엔지니어링 개념을 갖고 일해온 데브옵스 엔지니어다. 소규모 창업 기업에서부터 퀄리스(Qualys), 스퀘어(Square), 최근에는 미디엄(Medium)을 포함한 대기업에 이르기까지 여러 회사에서 근무했다.

업무 시간 외에는 활달한 아이들을 따라다니며 아내와 이따금 저녁 데이트를 하며 쇼핑을 즐긴다. 와인보다는 친구들과 흑맥주 마시기를 즐긴다. 프랑스 최고의 전산 과학 엔지니어링 학교인 Ecole Pour l’Informatiqueet les Techniques Avancées(EPITA)에서 시스템, 네트워크 및 보안 관련 석사 학위를 취득했다.





★ 옮긴이의 말 ★



나는 2015년 모 통신사 컨설팅 프로젝트를 진행하면서 ‘데브옵스(DevOps)’라는 용어를 처음으로 접했다. CI(Continuous Integration)라는 용어는 그보다 훨씬 오래 전인 2008년부터 사용하기 시작했다. 그해, 모 통신사의 대형 서비스 플랫폼의 운영 지원 및 고도화 기획을 담당했는데 해당 플랫폼의 원활한 유지 보수가 가장 큰 이슈였다. 전 국민을 대상으로 하는 플랫폼으로 장애 없는 유지 보수가 절대적으로 필요했으나 소스 코드의 관리 부재, 체계적인 빌드와 배포 시스템의 미비로 변경 개발 반영은 그야말로 손에 땀을 쥐는 매우 어려운 작업이었다. 가끔은 너무 시급해서 소스 코드를 상용 서버에 복사한 후 상용 서버에서 소스를 고쳐서 컴파일해 올리는 일도 있을 정도로 모든 절차가 임기응변으로 이뤄지고 있었다.

당시 소프트웨어 공학 방법론은 주로 개발된 코드를 재사용하는 방법에 대해서만 다루고 있었다. 이는 In-house 개발 및 COTS소프트웨어에 대해 적합한 방법론이다. 대형 SI에서는 주로 Waterfall 모델을 이용해 요구 사항 정의로 일이 시작되고 요구 사항의 구현으로 일이 끝나는 방법론 중심이었다. 다시 말해 실시간으로 운영 중인 시스템에 주기적으로 배포를 끊임없이 하기 위한 적절한 방법론 자체가 없었음이 맞을 것 같다. 당시 나는 Test NG(Next Generation)라는 이론을 접했고 여기에서 CI라는 용어를 처음으로 접했다. 개발 후 소스를 커밋하면 빌드 및 테스트를 자동으로 처리해주고 결과물을 바이너리로 남기는 일련의 과정을 CI라는 용어로 설명하고 있었다. 필자는 이 CI 절차를 도입해 유지 보수하는 데 반영시켰다. 이를 통해 자동화된 테스트를 통한 어처구니없는 실수를 차단시킬 수 있었다. 빌드 및 테스트가 성공한 바이너리만 상용 배포하도록 했고 배포된 바이너리에 오류가 있다면 직전 바이너리로 대체 배포할 수 있었다. 이를 통해 유지 보수가 훨씬 용이해졌을 뿐 아니라 작업 소요 시간, 평균 배포 주기, 배포 실패율 등을 산출하여 차기 운영프로젝트의 규모 산정 자료로 활용하기까지 할 수 있었다.

아쉬웠던 것은 테스트 환경 및 스테이징 환경 구성이 쉽지 않고 자동 배포가 불가능한 점이었다. 당시는 클라우드라는 용어가 막 등장하던 시절이다. 즉, 테스트 및 스테이징 환경을 구축하려면 별도의 하드웨어 투자가 필요하고 어떤 프로젝트에서도 이런 환경을 갖추기가 드물었다. 그러다 보니 로컬 PC 환경에서 개발 및 테스트 후 상용에 올릴 수밖에 없었고, 코드에 문제가 없어도 실행이 되지 않는 상황이 많이 발생했다.

바야흐로 클라우드 시대로 들어오면서 이런 환경의 구축이 가능한 시대가 됐다. CI 개념은 코드 빌드 및 바이너리 생성에서 멈추지 않고 인프라 생성과 바이너리 배포에까지 확장됐다. 이런 작업은 일반적으로 개발자보다는 운영자에게 이관돼왔다. 그러나 이러한 확장은 개발자와 운영자의 벽을 허물어뜨리는 결과를 가져오고 있다. 굳이 데브옵스라는 용어를 안 써도 이런 상황은 이미 발생하고 있다.

데브옵스는 소스 빌드, 바이너리 생성을 넘어 환경의 생성과 배포까지 모든 절차를 하나의 파이프라인으로 엮는 광범위한 작업을 의미한다. 그러나 국내에는 이런 거대한 작업을 해온 경험을 가진 인력이나 조직이 많지는 않은 것 같다. 너무 빨리 변하는 환경에 적응도 힘든 상황에서 데브옵스는 조직 자체를 흔드는 일이다. 이미 갖춰진 조직에서는 R&R 문제로 실현이 쉽지 않고 운영 안정성 측면 때문에 누구에게도 이런 일을 전체적으로 할 수 있는 권한을 부여하지 않기 때문이다.

이 책은 현행 프로젝트나 현행 서비스 환경을 데브옵스로 전환하는 데 필요한 대부분을 설명하고 있다. 1장부터 순서대로 따라 하다 보면 어느 순간 데브옵스 환경의 실체를 볼 수 있을 것이다. 또한 이 책에 나와 있는 예시를 여러 번 반복적으로 구축하다 보면 누구든지 자신이 수행할 프로젝트를 데브옵스로 쉽게 이끌 수 있는 경지에 오르게 될 것이다. 현실적으로 데브옵스로의 전환이 용이하지 않더라도 이 책을 통해 어떻게 하면 데브옵스로의 연착륙이 가능할지에 대한 아이디어를 얻을 수 있을 것이다. 또한 스타트업이나 신규 프로젝트를 기획하고 있다면 이 책에서 제시한 대로 따르면 200%의 실적을 달성할 수 있을 것이다.





★ 옮긴이 소개 ★



이준호

서울대학교 고고미술사학과를 졸업하고 전산과학을 부전공했다. 통신 인프라와 미디어, 클라우드 등 대형 IT 서비스 플랫폼 기획, 설계, 구축, 컨설팅 등 다양한 경력을 가졌으며 AWS 기반의 글로벌 서비스 플랫폼 설계와 구축을 진행하고 있다. 현재 넥슨 코리아에서 클라우드 아키텍트로 일하고 있다. 게임을 위한 글로벌 서비스 플랫폼을 AWS 기반으로 설계, 구축하며 운영하고 있다.



등록된 서평이 없습니다.
절대강좌! VR/AR...
이재현
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『메이저리그 야구 통계학 : 빅데이터 분석의 시작 R』
김재민 저
27,000원
(10%↓+5%)
 
『코틀린을 이용한 안드로이드 개발: 안드로이드 앱을 개발하며 배우는 코틀린』
마르친 모스칼라, 이고르 워다 저
27,000원
(10%↓+5%)
 
『일래스틱 스택 6 입문: 일래스틱서치, 로그스태시, 키바나, 엑스팩 활용 가이드』
파라나브 슈클라, 샤랏 쿠마 저
29,700원
(10%↓+5%)
 
『Akka 쿡북: 다양한 레시피로 아카를 쉽게 배워보기』
헥터 베이가 오르티즈, 피유시 미시라 저
29,700원
(10%↓+5%)
 
『움직이는 증강 현실 게임 개발: 현실 속에서 이동하고 포획하며 즐기는 유니티 AR 게임』
마이클 랜햄 저
27,000원
(10%↓+5%)
 
이메일주소수집거부