Top

데브옵스와 AWS [자동화를 통한 빠르고 효율적인 구현]

  • 원서명Implementing DevOps on AWS: Bring the best out of DevOps and build, display, and maintain applications on AWS (ISBN 9781786460141)
  • 지은이베셀린 칸세브(Veselin Kantsev)
  • 옮긴이최인영, 장문기
  • ISBN : 9791161750422
  • 30,000원
  • 2017년 08월 28일 펴냄
  • 페이퍼백 | 328쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

널리 사용되는 데브옵스의 자동화 방법을 사용해 개발에 소요되는 시간을 대폭 줄이고, AWS에서 소프트웨어 배포의 안정성을 높일 수 있도록 도와준다.
먼저, IaC(Infrastructure as Code) 개념에 익숙해지면 AWS 인프라의 설계와 배포, 유지 관리 방법을 배우게 된다. 또한 오픈소스 도구나 AWS에서 제공하는 도구와 서비스를 사용해서 AWS에 지속적인 통합(CI) 플랫폼을 설계하고 배포하는 방법을 살펴본다.
아티팩트의 생성과 테스트, 검증 작업을 수동 조작 없이 수행한 후 AWS 인프라에 배포하는 자동화된 방법을 배우게 된다. 그런 다음 구성 관리(Configuration Management) 구현을 더욱 쉽고 효율적으로 수행할 수 있는 방법들을 습득하게 된다.
이 책의 후반부에는 AWS 환경을 최적화하고 보안성을 높이기 위한 몇 가지 트릭과 팁을 소개한다. 이 책을 다 읽고 나면 AWS 상에서 데브옵스를 구현하는 기술을 마스터할 수 있을 것이다.

추천의 글

AWS의 우수한 서비스 경쟁력을 활용하고자 도입을 검토하고 지난해부터 구축을 시작했습니다. 국내외의 많은 서적과 교육을 통해서 지식을 확보하고 기본적인 서비스 운영을 위한 구축을 빠르게 완료할 수 있었습니다. 하지만 개발과 운영이 진행될수록 결국 On-promise에서 고민하였던 개발 환경과 운영 관리에 대한 문제에 봉착합니다.
AWS의 본래의 목적에 맞게 기본 활용까지는 매우 쉽고 빠르게 적용했지만, 기업용으로 활용하고 더 나아가서는 생산성 경쟁력까지 유지하기 위해서는 데브옵스가 매우 유용합니다.
본 책은 이러한 환경에서 매우 유용한 해결 방법일 것 같습니다. 데브옵스의 개념에 대한 설명과 인스턴스의 구성 관리는 반드시 필요한 부분이라 빠르게 적용이 필요했으며, 지속적인 배포 구성을 위한 적용 예시는 이 한 권의 책으로도 구성이 가능할 것 같습니다.
마지막으로 모니터링, 비용 최적화와 보안까지 제시함으로써 운영에 필요에 모든 지식을 담고 있는 것으로 보입니다.
안정적인 운영과 지속적인 비용 절감이 요구되는 환경이라면, 분명 많은 도움이 될 것입니다. 생산성을 고민하는 전문가와 기업에게 적극 추천하고 싶습니다.

정좌연 정보관리기술사, LG CNS 솔루션아키텍트/보안컨설턴트

데브옵스를 실무에서 적용해 개발하고자 할 때, 사용자의 필요에서 출발해서 관련 기술들을 균형 있게 제시하고 있습니다. 어떤 면에서는 저의 IT 커리어 패스를 고민하고, 한 단계 성장할 수 있도록 방향을 제시한 책이라고 여겨졌습니다.
실제 사용되는 패키지의 활용을 기술한 책이고, 실무에서 꼭 필요한 내용만 정리했기 때문에 실무에 막히거나 도움이 필요할 경우 참조하면 많은 도움을 받을 수 있을 거라는 생각이 들었습니다.
데브옵스 도입을 고려하고 있거나, 적용하는 중에 고민이 있으신 분들에게 꼭 추천하고 싶습니다.

윤남영 팀장, SK플래닛, 버티컬개발팀

데브옵스는 이제 개념적인 용어에서 구체적이고 현실적인 실무로 다가왔습니다. 자신의 업무가 데브옵스인 엔지니어가 늘어나고 있다는 것이죠. 예측하기 어려운 고객 사용량에 확장성을 가지고 안정적이면서도 개발의 빠른 속도를 유지할 수 있어야 하는 스타트업 기업에서는 클라우드 환경에서의 개발과 운영은 더이상 분리해서 바라볼 수 없습니다.
몇 년 전까지만 해도 서로 거리감이 존재했던 개발과 운영이 한 곳에서 만나고 이제 그 일을 새로 맡은 사람이 자신이라면, 무엇부터 해야 할까요? 이런 분께 이 책을 소개하고 싶습니다.
이 책에서는 데브옵스의 개념부터 시작해서 다양한 도구가 소개됩니다. 테라폼으로 인프라 구성하기, 젠킨스 파이프라인을 통한 CI/CD, 프로메테우스를 활용한 모니터링까지 다양한 오픈소스가 툴체인으로 엮여 어떻게 환경을 구성할 수 있을지 알려주고 있습니다. 또한, 비용 최적화와 보안, 팁/트릭까지 AWS를 운영할 때 고민할 주제들도 포함하고 있습니다.
또 하나 영리한 면은 모든 것을 설명해서 백서가 되기보다는 어떤 문제가 있을 때 그것을 해결할 도구와 사례를 소개하는 방식으로 독자들에게 가야 할 길을 안내하고 있습니다. 분량도 그만큼 가벼워진 것이죠. 그렇기 때문에 이 책을 완전히 숙지하기보다는 관심을 가져야 할 주제들이 무엇이고 어떻게 관계가 있는지 살펴보면서 접근하시면 더 좋을 것 같습니다.

임성현 컴퓨터시스템응용기술사, 우아한형제들, IT인프라팀

클라우드 서비스는 신기술이 아닌 이제 기반기술화로 생각되고 있으며, 이제 시스템을 제공하기 앞서 클라우드 서비스를 우선적으로 검토하고 있습니다. 또한 최근의 서비스의 생명주기(Lifecycle)는 급격히 짧아지고, 고객의 요구사항을 받아 빠르게 대응하는 것이 중요한 문제로 제기되면서 데브옵스를 통한 서비스 대응이 선택이 아닌 필수가 되고 있습니다.
『데브옵스와 AWS』의 두드러지는 특징은 실무 적합성이라고 생각합니다. 과거에 서비스 소개로 그치거나, AWS를 이용한 클라우드 서비스 아키텍처를 제공하던 책들과는 다르게, 실제 사용자가 직접 AWS의 각종 서비스를 이용해 데브옵스의 환경을 직접 구성할 수 있게 자세히 설명하고 있습니다. 구성된 데브옵스 환경의 로그를 수집하고 모니터링할 수 있는 방법을 AWS 서비스를 기반의 실제 코드를 바탕으로 설명하고 있고, 클라우드 서비스에서 항상 회자되는 보안 영역도 다루고 있습니다.
그동안 클라우드 서비스가 단순 가상서버 사용이라는 생각을 넘어서 클라우드 서비스 환경에 최적화돼 제공되도록 개발된 애플리케이션(클라우드 네이티브 애플리케이션, Cloud Native Application)을 개발하고 운영할 수 있는 클라우드 네이티브 데브옵스 환경을 사용할 수 있는 실무서라고 볼 수 있습니다.

강남규 정보관리기술사, 한화S&C, 『프라이빗 클라우드 서비스』(제이펍, 2016) 저자

이 책에서 다루는 내용

■ 코드로서 인프라스트럭처 설계 및 배포
■ AWS 서비스를 사용한 지속적인 통합 구현
■ 솔트스택을 사용한 EC2 인스턴스 구성
■ 젠킨스와 AWS CLI를 사용한 지속적인 배포
■ 메트릭과 로그 데이터를 수집해 인프라스트럭처와 응용 프로그램에 대한 통찰력 확보
■ AWS 플랫폼 사용 시 자주 발생하는 문제를 해결할 수 있는 노하우 소개

이 책의 대상 독자

AWS 인프라 및 환경을 관리하는 시스템 관리자와 개발자를 대상으로 하며, 향후 조직에 데브옵스를 적용할 계획을 가진 사람들을 대상으로 한다. 또한, AWS Certified DevOps Engineer 인증을 목표로 하는 사람도 유용하게 활용할 수 있다. 따라서 AWS 환경을 운영하고 관리했던 경험이 필요하다.

이 책의 구성

1장, ‘데브옵스란 무엇이고, 어떤 것을 고려해야 하는가?’에서는 데브옵스의 철학을 소개한다.
2장, ‘코드로서의 인프라스트럭처 시작하기’에서는 예제를 통해 테라폼과 클라우드포메이션을 사용해 IaC(Infrastructure as Code)를 배포하는 방법을 살펴본다.
3장, ‘인프라스트럭처 구성 관리’에서는 솔트스택을 사용해 EC2 인스턴스를 구성하는 방법을 설명한다.
4장, ‘지속적인 통합으로 더 빠르게 빌드, 테스트, 릴리스하기’에서는 젠킨스 CI(Continuous Integration) 서버를 사용해 CI 워크플로우를 설정하는 과정을 설명한다.
5장, ‘지속적인 전달을 사용한 항상 준비된 배포’에서는 패커와 서버스펙을 사용해 배포 준비가 완료된 EC2 AMI를 생성하고, CI 파이프라인을 확장하는 방법을 설명한다.
6장, ‘지속적인 배포: 완전 자동화된 워크플로우’에서는 AMI 배포에 필요한 기능을 추가해 완전 자동화된 워크플로우를 만들고, CI/CD 파이프라인 완성하는 방법을 설명한다.
7장, ‘메트릭과 로그 수집, 모니터링’에서는 프로메테우스, 로그스태시, 일래스틱서치 및 관련 데브옵스 툴을 소개한다.
8장, ‘스케일과 비용을 고려한 최적화’에서는 스케일과 비용 효율성을 고려한 AWS 배포 방법을 설명한다.
9장, ‘AWS 환경 보안’에서는 AWS에 배포된 환경의 보안을 향상시키기 위한 모범 사례를 설명한다.
10장, ‘AWS 팁과 트릭’에서는 초급부터 중급 AWS 사용자에게 유용한 팁을 설명한다.

저자/역자 소개

지은이의 말

데브옵스와 AWS는 최근 수년간 IT 업계에서 꾸준히 회자되고 있는 두 가지 핵심 주제다.
데브옵스는 점차 산업계의 사실상 표준 방법론(또는 프레임워크)이 되고 있다. 데브옵스는 기술팀을 더 효율적으로 발전시켰고, 개발자와 최종 사용자 간의 피드백 루프를 긴밀하게 만들어 좀 더 나은 제품과 서비스를 제공하도록 도왔다. 또한, 팀 구성원들은 향상된 협업을 통해서 더 생산적이고 쾌적한 업무 환경에서 근무할 수 있게 했다.
이 책에서는 데브옵스의 기반 철학을 살펴본 다음 가장 널리 사용되는 데브옵스 원칙을 몇 가지 실무적인 예제에 적용해 학습할 수 있도록 구성했다.

지은이 소개

베셀린 칸세브(Veselin Kantsev)

영국 런던에 사는 데브옵스 전문가이자 리눅스의 열렬한 팬이다.
2006년 시스템 관리자로 일하면서 리눅스와 인연을 맺었다. 지난 몇 년 동안 주로 클라우드 기술과 운영에서 데브옵스 문화로의 전환에 중점을 뒀다.
오랜 시간 동안 금융과 미디어, 디자인 등 다양한 분야의 회사와 협력해 AWS로 인프라를 이전하고, 데브옵스 원칙 및 실천을 홍보하는 업무를 전문으로 수행했다.

옮긴이의 말

데브옵스와 AWS, 이 두 가지 키워드는 지금의 IT 환경을 대변하는 가장 중요하고 핵심이 되는 용어라고 생각한다.
2012년 8월 AWS 한국 지사가 설립될 때 국내에서는 처음으로 AWS 컨설팅 파트너로 등록했고, 지금까지 AWS 클라우드와 관련된 일을 하고 있다. 초기에는 기업들이 AWS에 관심이 많지 않았고, 관심이 있다 하더라도 실제 업무를 AWS에서 운영하지는 않았다.
하지만 2016년 1월 AWS 한국 리전이 생겼고, 급격히 많은 기업들이 AWS를 사용하기 시작했다. 지금까지 정말 바쁘게 일하고 있다. 이로부터 1년 6개월이 지난 지금, 기업에서는 AWS와 관련된 좀 더 다양하고 깊이 있는 기술, 그리고 더 실질적인 활용 사례와 접근 방법을 원하고 있다는 것을 깨달았다.
이러한 기업들의 요구 중 하나가 ‘데브옵스를 AWS 클라우드 환경에서 어떻게 적용하고 구현할 것인가’였고, 이에 대한 답을 찾던 중 『데브옵스와 AWS』라는 책을 만나게 됐다.
이 책은 ‘AWS 환경에서 어떻게 데브옵스를 구현할 것인가’라는 질문에 명확한 답을 제시하고 있다. 물론 데브옵스가 기술만의 문제가 아니기에 모든 부분에 답을 하고 있는 것은 아니다. 하지만 저자는 기술적인 측면 외에도 데브옵스가 지향하는 원칙과 조직 문화까지 다루고자 노력했다.
AWS를 사용한 지 얼마 되지 않은 사용자가 접근하기에는 쉽지 않을 수 있다. 하지만 데브옵스와 AWS의 상관 관계를 이해하기에는 충분하다. 또한 데브옵스를 AWS 환경에 적용하기 위한 아이디어를 얻기에 충분한 책이라고 생각한다.

최인영

임베디드와 클라이언트 개발만 하다 보니 서버 인프라에 대해서는 무관심한 전형적인 개발자였다. 하지만 프로젝트에서 서버 사이드 개발과 함께 인프라 운영도 맡게 되면서 서버 인프라와 아키텍처에 대한 고민을 하게 됐다. 이때 AWS를 알게 됐고, 기존에 고가의 서버를 구매해서 일일이 세팅했던 것에 반해 인프라 자체를 S/W로 정의해서 코드를 통해 가상의 데이터 센터를 마음대로 주무를 수 있다는 건 과히 충격이 아닐 수 없었다.
클라우드는 S/W 정의 인프라답게 기존 H/W 서버처럼 생각하고 쓸 때보다는 코드를 통해 인프라들 다룰 때 진정한 가치를 발휘할 수 있다. 이를 위해서 오랜 기간 동안 오픈소스 생태계에서 이를 활용할 수 있는 다양한 플랫폼과 툴들이 개발됐고, 이는 곧 데브옵스 실천의 근간이 됐다.
기존의 책들을 볼 때 데브옵스가 이론 중심이고 실무적인 부분에 대해서는 간략한 언급에 그쳐 아쉬움이 있었다면, 본 도서는 정제된 이론뿐 아니라 구체적인 시나리오를 가지고 단계마다 필요한 툴들을 엮어서 하나의 구체적인 예로 만들어서 직접 실행해볼 수 있도록 제공하고 있다.
이런 점에서 이 책은 데브옵스의 실천적인 사항에 대해서 어떻게 적용해야 할지 고민하고 있는 독자들에게 가이드를 줄 수 있는 좋은 책이라고 생각한다.
이 책에 소개된 효과적인 데브옵스 도구들인 테라폼, 솔트스택, 젠킨스, 패커, 서버스펙, ELK 스택, 프로메테우스, 그라파나 등은 실무에서 매우 유용하게 쓰일 수 있을 것이다.
오픈소스 툴은 버전업이 굉장히 빠르기 때문에 예제는 가능한 최신 버전으로 업데이트를 했으므로 원서의 예제와 조금 차이가 있다. 예제 파일은 원활한 실습을 위해서 에이콘출판사에서 직접 받아서 참고할 것을 권장한다.
모쪼록 이 책을 통해 데브옵스를 이해하고 AWS에서 구체적인 구현을 하는 데 도움이 되기를 바란다.

장문기

옮긴이 소개

최인영

국내 최초의 AWS 컨설팅 파트너인 메가존(주)에서 AWS 아키텍팅과 컨설팅 업무를 수행하고 있다. 직접 AWS 파트너 사업을 발굴하고 추진했다. 정보관리기술사 자격을 보유하고 있다.

장문기

SK주식회사 C&C에서 클라우드 아키텍트로 일하고 있다. 임베디드 시스템 개발자로 시작했으나 모바일 및 서버 개발을 하다가 클라우드와 데브옵스의 세계에 빠져들게 됐고, 지금은 아예 클라우드를 업으로 삼고 있다.

목차

목차
  • 1장. 데브옵스란 무엇이고, 어떤 것을 고려해야 하는가?
    • 데브옵스란 무엇인가
      • 공동의 목적
      • 지식 공유
      • 신뢰와 책임 공유
      • 존중
      • 자동화
      • 복제 가능한 인프라스트럭처
      • 메트릭과 모니터링
      • 지속적인 통합, 전달, 배포
      • 실패에 대한 관용
    • 고려해야 할 것들
      • 적절한 시점인가?
      • 작동할 수 있는가?
      • 가치 있는 것인가?
      • 필요한 것인가?
    • 요약

  • 2장. 코드로서의 인프라스트럭처 시작하기
    • TF(Terraform) 사용하기
      • TF 툴 설정
      • 템플릿 설계
      • TF 작업
      • 드라이 런 테스트
    • 클라우드포메이션 사용하기
      • 구성
      • 템플릿 설계
      • 작업
    • 요약

  • 3장. 인프라스트럭처 구성 관리
    • 솔트스택 소개
      • 솔트스택 개발 환경 준비
    • 구성 관리 코드 작성
      • 스테이트
      • 필러(Pillars)
      • 그레인
      • 톱 파일
    • 구성 관리에서 노드의 부트스트래핑(엔드투엔드 IaC)
    • 요약

  • 4장. 지속적인 통합으로 더 빠르게 빌드, 테스트, 릴리스하기
    • IaC 준비
      • 테라폼 템플릿
      • 솔트스택 코드
    • IaC 배포(Deploy laC)
    • CI 설정
      • 젠킨스 초기화
      • 데모 애플리케이션 만들기
      • 파이프라인 정의하기
      • 파이프라인 설정
    • 요약

  • 5장. 지속적인 전달을 사용한 항상 준비된 배포
    • 테라폼 템플릿 준비
      • 리소스
      • 변수
      • 변수 값
      • 출력
    • 솔트 코드 준비
      • 스테이트
      • 필러(Pillars)
      • 미니언(Minion) 설정
    • 젠킨스 코드 준비하기
      • 패커
      • 서버스펙
      • demo-app
      • demo-app-cdelivery
    • CodeCommit 저장소 준비하기
    • 테라폼 템플릿 배포
    • 젠킨스 초기화
    • 젠킨스 Job 구성
      • demo-app 파이프라인
      • demo-app-cdelivery 파이프라인
    • 요약

  • 6장. 지속적인 배포: 완전 자동화된 워크플로우
    • 테라폼 코드(resources.tf)
      • outputs.tf
    • 젠킨스 파이프라인
      • 지속적인 배포 파이프라인
    • 요약

  • 7장. 메트릭과 로그 수집, 모니터링
    • 중앙 집중식 로깅
      • 로그 수집과 저장을 위한 로그스태시와 일래스틱서치
      • 로그 수집을 위한 일래스틱서치 파일비트
      • 키바나를 통한 로그 시각화
    • 메트릭
      • 프로메테우스를 통한 메트릭 수집과 저장
      • 텔레그래프를 사용한 OS와 애플리케이션 메트릭 수집
      • 그라파나를 사용한 메트릭 시각화
    • 모니터링
      • 프로메테우스를 통한 경고 알림
      • 프로메테우스와 젠킨스를 사용한 자가 치유
    • 요약

  • 8장. 스케일과 비용을 고려한 최적화
    • 아키텍처 고려 사항
      • VPC
    • 프론트엔드 계층
    • 백엔드 계층
    • 객체 스토리지 계층
    • 부하 분산 계층
      • 교차 가용 영역 부하 분산
      • ELB Pre-warming
    • CDN 계층
    • 스팟 인스턴스
    • AWS 계산기
    • 요약

  • 9장. AWS 환경 보안
    • IAM을 사용한 접근 관리
      • 루트 계정 보안
    • VPC 보안
      • 보안 그룹
      • 네트워크 ACL
      • VPN 게이트웨이
      • VPC 피어링
    • EC2 보안
      • IAM 역할
      • SSH 액세스
      • ELB의 적극적 사용
      • HTTPS 기본 적용
      • 스토리지 암호화
      • OS 업데이트
    • 보안 검사
      • VPC 흐름 로그
      • 클라우드 트레일
      • Trusted Advisor
      • AWS Config
      • 자가 침투 테스트
    • 요약

  • 10장 AWS 팁과 트릭
    • VPC 사용
    • 대체용으로 주 라우팅 테이블 유지
    • SSH 게이트웨이 호스트
    • IAM 역할을 사전에 생성
    • IAM 그룹
    • AWS 서비스 제한(Limits)에 대한 인지
    • ELB Pre-warming
    • EC2 인스턴스 종료 방지 활성화
    • 태그 사용
    • 다수의 가용 영역에 배포
    • ELB 상태 체크 활용 강화
    • ELB에서 SSL 처리하기
    • EIP vs 공인 IP
    • 한 시간 채워서 사용하기
    • Route53 별칭 레코드 사용하기
    • S3 버킷 네임스페이스는 글로벌
    • S3 버킷 이름 생성 시 -(하이픈)과 .(점)의 사용 비교
    • 랜덤하게 S3 파일이름 사용하기

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.43 : 아래에서 5행]
엔지니들을
->
엔지니어들을