장바구니 담기 close

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

파이썬 마이크로서비스

파이썬 마이크로서비스

  • 타렉지아드
  • |
  • 에이콘출판
  • |
  • 2019-05-17 출간
  • |
  • 428페이지
  • |
  • 188 X 235 X 24 mm
  • |
  • ISBN 9791161752730
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

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

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

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

출판사서평




★ 이 책에서 다루는 내용 ★

■ 마이크로서비스 이해와 설계 방법
■ 파이썬 3, 플라스크, Tox, 다른 도구와 모범 사례를 사용해 서비스를 만드는 방법
■ TDD 활용법
■ 마이크로서비스의 문서화 방법
■ 코드를 설정하고 패키징하는 가장 좋은 방법
■ 다른 서비스를 연동하고 연동 과정에서 발생 가능한 문제 해결 방법
■ 서비스 보안, 모니터링, 확장 방법
■ 도커 컨테이너와 AWS에 서비스를 배포하는 방법

★ 이 책의 대상 독자 ★

파이썬에 대한 기본 지식, 커맨드라인, HTTP 기반 애플리케이션에 대한 기본 지식을 갖추고 있으며, 파이썬 3를 활용한 마이크로서비스 개발, 테스트, 확장, 관리 방법을 배우고 싶은 독자를 대상으로 한다. 파이썬으로 마이크로서비스를 개발해 본 경험이 필요하지는 않다.

★ 이 책의 구성 ★

1장. ‘마이크로서비스 소개’에서는 마이크로서비스가 무엇이고, 모던 애플리케이션에서 어떤 역할을 하는지 알아본다. 그리고 파이썬으로 마이크로서비스를 개발할 때의 장점을 알려준다.
2장. ‘플라스크 알아보기’에서는 플라스크의 주요 특징을 소개한다. 마이크로서비스의 기초가 될 샘플 웹 애플리케이션을 만들어보면서 프레임워크를 이해한다.
3장. ‘코딩, 테스트, 문서화: 선순환’에서는 테스트 주도 개발, 지속적인 통합에 대해 알아보며, 플라스크 애플리케이션을 개발하고 패키징할 때 어떻게 활용하는지 알아본다.
4장. ‘샘플 프로젝트 Runnerly 설계’에서는 기능 목록과 사용자 스토리를 활용해서 모놀리식 애플리케이션을 설계하는 방법을 설명한다. 그런 다음 모놀리식 애플리케이션을 마이크로서비스로 재구성하면서 각 서비스들이 어떻게 데이터를 통해 서로 연결되는지 알아본다. 또한 HTTP API를 설명할 때 사용되는 오픈 API 2.0(이전 Swagger)사양도 소개한다.
5장. ‘서비스 연동’에서는 서비스와 백엔드 서비스의 연결에 대해 설명한다. 그리고 네트워크 분리를 비롯한 서비스 간의 연결과 관련된 문제를 다루는 방법과 격리된 환경에서 서비스를 테스트하는 방법도 알아본다.
6장. ‘서비스 모니터링’에서는 코드에 로깅과 성능 지표를 추가해 전체 서비스의 상태를 명확하게 파악하고 이슈를 추적하는 방법을 설명한다.
7장. ‘서비스 보안’에서는 마이크로서비스를 보호하기 위해 사용자 인증, 서비스 간 인증, 사용자 관리를 어떻게 해야 하는지 알아본다. 또한 사기나 남용을 어떻게 완화하는지 소개한다.
8장. ‘하나로 모으기’에서는 최종 사용자가 마이크로서비스를 활용할 수 있게 해주는 자바스크립트 애플리케이션의 디자인과 개발 방법을 설명한다.
9장. ‘Runnerly 패키징 및 실행’에서는 Runnerly의 패키징, 빌드, 실행 방법을 설명한다. 애플리케이션의 모든 구성 요소는 단일 개발 머신에서 실행할 수 있어야 한다.
10장. ‘컨테이너 서비스’에서는 가상화란 무엇이고, 도커를 어떻게 사용하는지, 그리고 서비스의 도커 이미지를 생성해서 ‘도커화’하는 방법을 소개한다.
11장. ‘AWS에 배포’에서는 AWS의 주요 서비스를 소개한 다음, 마이크로서비스 기반 애플리케이션을 배포할 때 필요한 초기 설정 방법과 활용하기 좋은 AWS 서비스를 알아본다. 클라우드에 도커 컨테이너를 배포하는 데 목적을 두고 만들어진 CoreOS 리눅스 배포판도 소개한다.
12장. ‘더 나아가기’에서는 마이크로서비스 개발과 관련해 좀 더 알아볼 내용을 소개한다. 특히 비동기 방식을 사용해서 마이크로서비스를 만드는 방법을 알아본다. I/O를 많이 쓰는 마이크로서비스라면 비동기 방식으로 성능을 높일 수 있다.

★ 옮긴이의 말 ★

파이썬의 힘은 이해하기 쉬운 코드와 "뭘 좋아하지 몰라 다 준비된" 수많은 라이브러리, 영리한 커뮤니티 구성원들의 왕성한 활동에서 비롯됩니다. 덕분에 파이썬은 업무 생산성을 향상시키는 강력한 스크립트 제작부터 데이터 과학, 백엔드 서비스에 이르기까지 다양한 분야에서 사용되고 있습니다.
소프트웨어 개발 분야는 새로운 개념과 기술, 언어가 유난히 빈번하게 등장하며, 그중 일부는 도태되고 일부는 오랜 기간 쓰이면서 또 다른 기술을 파생시키기도 합니다. SOA를 좀 더 구체화한 개념으로 소개된 마이크로서비스는 현재의 클라우드 기반 환경에서 가장 인기 있는 아키텍처가 됐습니다.
마이크로서비스는 여러 장점이 있지만, 개발 및 운영상의 복잡성이 증가할 수 있습니다. 그렇기 때문에 자동화된 테스트, 지속적인 통합/배포(CI/CD) 및 데브옵스가 그 밑바탕을 지탱할 필요가 있습니다.
이 책은 파이썬을 활용해 마이크로서비스를 만들고 테스트하고 배포하는 전체 과정을 짚어가면서 모범 사례와 주의할 점 등을 설명합니다. 이 책의 저자는 모질라 서비스 팀의 파이썬 개발자로 일하고 있으며, 프랑스 파이썬 사용자 그룹 및 다양한 오픈 소스 활동에서 얻은 경험을 녹여내 적절한 예제를 곁들여 설명합니다.
마이크로서비스의 개념과 아키텍처 적용 절차가 궁금하거나 파이썬 생태계를 활용해서 직접 개발을 시작해보고 싶은 독자분들께 이 책은 적당한 출발선이 돼 줄 것입니다. 또한 마이크로서비스 개발에 국한되지 않는 파이썬의 전반적인 내용과 상황에 맞는 라이브러리 활용법, 그리고 모범적인 개발 프로세스를 체험하면서 여러분의 실력을 배양하는 데 든든한 밑거름이 될 것입니다. 이제 파이썬과 또 한 번 즐거운 여정을 시작하시기 바랍니다.


목차


1장. 마이크로서비스 소개
__서비스 지향 아키텍처의 기원
__모놀리식 접근 방식
__마이크로서비스 접근 방식
__마이크로서비스의 장점
____위험 분리
____작은 프로젝트
____확장 및 배포의 다양한 옵션
__마이크로서비스의 단점
____비논리적인 분할
____네트워크 연동 증가
____데이터 저장과 공유
____호환성 이슈
____테스트
__파이썬으로 마이크로서비스 구현
____WSGI 표준
____Greenlet과 Gevent
____트위스티드와 토네이도
____asyncio
____언어 성능
__요약

2장. 플라스크 알아보기
__파이썬 버전 선택
__플라스크에서 요청 처리
____라우팅
____요청
____응답
__플라스크 기본 기능
____session 객체
____전역 공간
____시그널
____확장과 미들웨어
____템플릿
____설정
____블루프린트
____에러 처리 및 디버깅
__마이크로서비스 구조
__요약

3장. 코딩, 테스트, 문서화: 선순환
__테스트의 여러 종류
____단위 테스트
____기능 테스트
____통합 테스트
____부하 테스트
____엔드-투-엔드 테스트
__WebTest 사용
__pytest와 Tox 사용
__개발자 문서
__지속적인 통합
____Travis-CI
____ReadTheDocs
____Coveralls
__요약

4장. 샘플 프로젝트 Runnerly 설계
__Runnerly 애플리케이션
____사용자 스토리
__모놀리식 설계
____모델
____뷰와 템플릿
____백그라운드 작업
____인증과 허가
____모놀리식으로 함께 묶기
__모놀리식 분리
__데이터 서비스
__Open API 2.0 사용
__좀 더 분할
__요약

5장. 서비스 연동
__동기식 호출
____플라스크 app에서 세션 사용
____커넥션 풀링
____HTTP 캐시 헤더
____데이터 전송 효율 높이기
__비동기 호출
____태스크 큐
____토픽 큐
____게시 / 구독
____AMQP를 통한 RPC 사용
__테스팅
____동기식 호출 모방
____비동기식 호출 모방
__요약

6장. 서비스 모니터링
__중앙 집중화된 로그
____Graylog 구성
____Graylog에 로그 보내기
____필드 추가
__성능 지표
____시스템 지표
____코드 지표
____웹 서버 지표
__요약

7장. 서비스 보안
__OAuth2 프로토콜
__토큰 기반 인증
____JWT 표준
____PyJWT
____X.509 기반 인증
____TokenDealer 마이크로서비스
____TokenDealer 사용
__웹 애플리케이션 방화벽
____OpenResty: 루아와 nginx
__코드 보안
____외부에서 유입되는 요청 평가
____애플리케이션 영역 제한
____Bandit 린터 사용
__요약

8장. 하나로 모으기
__리액트 대시보드 만들기
____JSX
____리액트 컴포넌트
______리액트와 플라스크
____Bower, npm, 바벨 사용
____CORS
__인증과 권한 부여
____데이터 서비스와 상호작용
____스트라바 토큰 얻기
____자바스크립트 인증
__요약

9장. Runnerly 패키징 및 실행
__패키징 도구 모음
____용어 정의
____패키징
____버전 관리
____릴리스
____배포
__모든 마이크로서비스 실행
__프로세스 관리
__요약

10장. 컨테이너 서비스
__도커란?
__도커 기본
__도커에서 플라스크 실행
__풀스택: OpenResty, Circus, 플라스크
____OpenResty
____Circus
__도커 기반 배포
____도커 컴포즈
____클러스터링, 프로비저닝
__요약

11장. AWS에 배포
__AWS 개요
__라우팅: Route 53, ELB, Auto Scaling
__실행: EC2, Lambda
__스토리지: EBS, S3, RDS, ElasticCache, CloudFront
____메시징: SES, SQS, SNS
____프로비저닝과 배포: CloudFormation, ECS
__AWS에 배포: 기본
____AWS 계정 설정
____CoreOS를 사용해 EC2에 배포
__ECS를 사용해 배포
__Route 53
__요약

12장. 더 나아가기
__반복자와 발생자
__코루틴
__asyncio 라이브러리
__aiohttp 프레임워크
__Sanic
__비동기와 동기
__요약

교환 및 환불안내

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