본문 바로가기

추천 검색어

실시간 인기 검색어

파이썬 마이크로서비스

모범 사례로 알아보는 파이썬 마이크로서비스 개발, 테스트,배포, 확장까지
소프트웨어 아키텍처
타렉 지아드 저자(글) · 김현욱 번역
에이콘출판 · 2019년 05월 17일
7.5
10점 중 7.5점
(1개의 리뷰)
추천해요 (100%의 구매자)
  • 파이썬 마이크로서비스 대표 이미지
    파이썬 마이크로서비스 대표 이미지
  • A4
    사이즈 비교
    210x297
    파이썬 마이크로서비스 사이즈 비교 189x235
    단위 : mm
01 / 02
무료배송 이벤트 소득공제
10% 31,500 35,000
적립/혜택
1,750P

기본적립

5% 적립 1,750P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,750P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
내일(2/27,목) 도착
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

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

이 책의 시리즈 (27)

작가정보

저자(글) 타렉 지아드

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

번역 김현욱

스마일게이트, 엔씨소프트 등에서 게임 플랫폼을 개발했다. C++, 파이썬을 좋아하고, 오픈소스에 기여하고 스택 오버플로 활동을 틈틈이 하고 있다. 『크로스 플랫폼 개발을 위한 C# 7과 닷넷 코어 2.0』(에이콘, 2018), 『모던 C++로 배우는 함수형 프로그래밍』(에이콘, 2018) 등을 번역했다.

작가의 말

7년 전 모질라에서 내가 속한 팀은 파이어폭스(Firefox)에 관한 웹 서비스를 만들기 시작했다. 이때 만든 웹 서비스들이 지금은 마이크로서비스가 됐다. 마이크로서비스가 되기까지의 변화는 시간이 지나면서 조금씩 생겨났다.
변화를 일으킨 첫 번째 시작점은 모든 서비스를 클라우드로 이전해서 서드파티 서비스들과 연동하기 시작하면서부터다. 클라우드에서 애플리케이션을 서비스하면 자연스레 마이크로서비스 형태를 갖추게 된다.
두 번째 계기는 파이어폭스 계정 프로젝트다. 파이어폭스와 우리가 만든 서비스들이 연동하기 위해서는 단일 자격증명(single identify)이 필요했다. 모든 서비스가 하나의 자격증명 서비스와 효과적으로 연결되기 위해 결국 필요한 부분들이 마이크로서비스로 재설계되기 시작했다. 많은 웹 개발자들이 위와 비슷한 경험을 했거나 현재 겪고 있다고 생각한다.
파이썬은 이와 같이 작고 효과적인 마이크로서비스를 개발하는 데 최적의 언어다. 파이썬 생태계는 역동적이며, 파이썬 3의 최신 기능은 지난 5년간 뛰어난 성장을 보여준 Node.js에 비견할 경쟁력을 갖추고 있다.
이와 같은 내용을 이 책에서 다룬다. 이 책을 쓰기 위해 Runnerly라는 마이크로서비스를 개발했다. 프로젝트를 만들면서 얻은 경험을 독자 여러분과 공유하고자 한다. 이 애플리케이션은 깃허브에 올라가 있으며, 깃허브를 통해 나와 소통할 수 있다. 실수가 있다면 짚어 주길 바라며, 깃허브에서 멋진 파이썬 애플리케이션을 같이 만들어 보면서 배움을 이어갈 수 있다

목차

  • 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
    __비동기와 동기
    __요약

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 마이크로서비스 이해와 설계 방법
■ 파이썬 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) 및 데브옵스가 그 밑바탕을 지탱할 필요가 있습니다.
이 책은 파이썬을 활용해 마이크로서비스를 만들고 테스트하고 배포하는 전체 과정을 짚어가면서 모범 사례와 주의할 점 등을 설명합니다. 이 책의 저자는 모질라 서비스 팀의 파이썬 개발자로 일하고 있으며, 프랑스 파이썬 사용자 그룹 및 다양한 오픈 소스 활동에서 얻은 경험을 녹여내 적절한 예제를 곁들여 설명합니다.
마이크로서비스의 개념과 아키텍처 적용 절차가 궁금하거나 파이썬 생태계를 활용해서 직접 개발을 시작해보고 싶은 독자분들께 이 책은 적당한 출발선이 돼 줄 것입니다. 또한 마이크로서비스 개발에 국한되지 않는 파이썬의 전반적인 내용과 상황에 맞는 라이브러리 활용법, 그리고 모범적인 개발 프로세스를 체험하면서 여러분의 실력을 배양하는 데 든든한 밑거름이 될 것입니다. 이제 파이썬과 또 한 번 즐거운 여정을 시작하시기 바랍니다.

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 시리즈명, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791161752730
발행(출시)일자 2019년 05월 17일
쪽수 428쪽
크기
189 * 235 * 29 mm / 985 g
총권수 1권
시리즈명
소프트웨어 아키텍처
원서(번역서)명/저자명 Python Microservices Development/Tarek Ziade

Klover 리뷰 (1)

구매 후 리뷰 작성 시, e교환권 200원 적립

사용자 총점

10점 중 7.5점
10점 중 10점
0%
10점 중 7.5점
100%
10점 중 5점
0%
10점 중 2.5점
0%

100%의 구매자가
추천해요 라고 응답했어요

0%

집중돼요

0%

도움돼요

0%

쉬웠어요

0%

최고예요

100%

추천해요

10점 중 7.5점
/추천해요
샘플 프로젝트를 통해 쉽게 학습하는데 도움이 됩니다

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

    변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
  • 반품/교환비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 반품/교환 불가 사유

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
  • 소비자 피해보상 환불 지연에 따른 배상

    1) 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

TOP