파이썬 마이크로서비스 (모범 사례로 알아보는 파이썬 마이크로서비스 개발, 테스트,배포, 확장까지)

파이썬 마이크로서비스 (모범 사례로 알아보는 파이썬 마이크로서비스 개발, 테스트,배포, 확장까지)

$35.92
Description
파이썬을 사용해서 마이크로서비스의 설계부터 코딩, 테스트, 배포까지 전반적인 과정을 다룬다. 모질라(Mozilla)에서 파이썬 개발자로 활동하는 저자의 풍부한 경험과 샘플 프로젝트 개발 과정을 따라가면서, 모범 사례와 주의 사항을 배울 수 있다. 또한 파이썬 생태계의 다양한 라이브러리 활용법도 살펴본다.
저자

타렉지아드

프랑스디종(Dijon)근교에살고있는파이썬개발자로,모질라(Mozilla)서비스팀에서일하고있다.Afpy라는프랑스파이썬사용자그룹을만들었으며,『ExpertPythonProgramming-SecondEdition』(Packt,2016)을썼다.이외에도여러권의파이썬도서를프랑스어,영어로각각저술했다.컴퓨터앞에서작업에몰두하지않거나가족과어울리지않을때는달리기와트럼펫연주로시간을보낸다.
개인블로그‘FetchezlePython’를방문하거나트위터@tarek_ziade를팔로우해서연락할수있다.

목차

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

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

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

4장.샘플프로젝트Runnerly설계
__Runnerly애플리케이션
____사용자스토리
__모놀리식설계
____모델
____뷰와템플릿
____백그라운드작업
____인증과허가
____모놀리식으로함께묶기
__모놀리식분리
__데이터서비스
__OpenAPI2.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개요
__라우팅:Route53,ELB,AutoScaling
__실행:EC2,Lambda
__스토리지:EBS,S3,RDS,ElasticCache,CloudFront
____메시징:SES,SQS,SNS
____프로비저닝과배포:CloudFormation,ECS
__AWS에배포:기본
____AWS계정설정
____CoreOS를사용해EC2에배포
__ECS를사용해배포
__Route53
__요약

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

출판사 서평

★이책에서다루는내용★

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

★이책의대상독자★

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

★이책의구성★

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

★옮긴이의말★

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