• 베스트
  • 소득공제
  • 무료배송

서버리스 이제는 AWS Lambda로 간다-설계 개발 배포 및 모니터링 지표와 비용 계산까지

  • 최재영
  • 비제이퍼블릭
  • 2022년 11월 21일
사용자 평점
0리뷰 0개
10%33,30037,000원
적립금
1,850원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/23(수) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791165921842
쪽수724쪽
크기B5(188mm X 257mm, 사륙배판)
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 인터넷
관련 이벤트

AI추천 이유

책 소개
5가지 웹 서비스를 직접 만들면서 배우는 서버리스 플랫폼! AWS Lambda는 이벤트 기반의 서버리스 컴퓨팅 플랫폼이다. 제한된 CPU, 메모리, 수행 시간을 갖지만 사용한 만큼만 비용을 지불하고 요청량에 맞게 인스턴스가 실행되어 빠르게 확장 및 축소할 수 있다. 그래서 Lambda의 한도와 한계를 이해하고 다룰 수 있다면, 다양한 서비스의 시나리오를 구현하면서도 인프라와 비용 걱정을 크게 줄일 수 있다. 빠른 출시를 결심했거나 토이 프로젝트를 진행할 경우라면 서버리스 플랫폼 사용이 큰 도움이 될 것이다. 이 책은 Lambda를 비롯해 AWS가 제공하는 여러 서버리스 플랫폼을 활용한다. 5가지 서비스 예제를 통해 그 예제 안에서 활용하는 서버리스 플랫폼을 소개하고 직접 실습한다. 이해를 돕기 위해 각 장은 예제에 대한 서비스 소개 및 설계와 구현, 로컬 테스트 환경 구축 및 테스트, 서버리스 스택 배포와 모니터링, 상용 확장을 위해 고민해야 하는 요소와 서버리스 서비스의 한계와 한도, 트래픽 규모를 가정하고 이때 발생하는 비용을 계산한다. 저자의 노하우가 듬뿍 담긴 이 책으로 웹 서비스 개발을 준비해 보자.
목차
지은이 소개 서문 베타 리더 추천사 1장 준비하기 1-1 AWS 서버리스 ___1-1-1 기존의 서버 개발 ___1-1-2 서버리스 기반의 서비스 개발 1-2 개발 환경 구축 ___1-2-1 AWS 계정 설정 ___1-2-2 AWS CLI 설치 ___1-2-3 Node.js ___1-2-4 nvm ___1-2-5 타입스크립트 ___1-2-6 Visual Studio Code ___1-2-7 direnv ___1-2-8 Docker ___1-2-9 리눅스용 윈도우 하위 시스템(WSL) 1-3 Severless Framework 소개 ___1-3-1 간단한 선언 예시 ___1-3-2 도구 익히기 2장 Hello API 2-1 Hello API 자바스크립트 구현 2-2 Hello API 타입스크립트 구현 ___2-2-1 템플릿으로 시작 ___2-2-2 타입스크립트 적용 ___2-2-3 웹팩 적용 ___2-2-4 source-map 적용 ___2-2-5 serverless.ts 사용 2-3 상용 서비스 고려 ___2-3-1 서비스 한도 ___2-3-2 API Gateway의 한도 ___2-3-3 API Gateway 통합 Lambda의 한도 ___2-3-4 CloudWatch Logs의 한도 ___2-3-5 운영 전략 2-4 모니터링 ___2-4-1 Lambda의 로그 확인 ___2-4-2 API Gateway의 로그 확인 ___2-4-3 Lambda의 지표 ___2-4-4 Lambda의 호출 지표 ___2-4-5 Lambda의 성능 지표 ___2-4-6 Lambda의 동시성 지표 ___2-4-7 Lambda의 동시성 ___2-4-8 Lambda의 지표 확인 ___2-4-9 API Gateway의 지표 확인 ___2-4-10 CloudWatch 대시보드 구성 ___2-4-11 CloudWatch 경보 설정 2-5 비용 계산 ___2-5-1 API Gateway 비용 ___2-5-2 Lambda 비용 ___2-5-3 Lambda와 EC2의 가격 비교 ___2-5-4 Lambda의 메모리와 CPU의 관계 ___2-5-5 CloudWatch 비용 계산 ___2-5-6 경보 이메일 전송 비용 ___2-5-7 Hello API 비용 계산 2-6 정리 3장 사진 최적화 서비스 3-1 서비스 소개 및 설계 3-2 Lambda에서 외부 프로세스 실행 준비 3-3 첫 번째 시스템 구현 ___3-3-1 S3와 CloudFront 인프라 준비 ___3-3-2 awscli 도구로 인프라 설정 ___3-3-3 CloudFormation으로 인프라 선언 ___3-3-4 Serverless Framework에 인프라 선언 통합 ___3-3-5 S3 Bucket에 파일 업로드 ___3-3-6 중복 업로드 막기 3-4 두 번째 시스템 구현: Public, Private, Bucket 분리 3-5 세 번째 시스템 구현: S3 이벤트로 최적화 수행 3-6 상용 서비스 고려 3-7 모니터링 3-8 비용 계산 ___3-8-1 S3 비용 ___3-8-2 CloudFront 비용 ___3-8-3 서비스 비용 계산 ___3-8-4 비용 줄이기 3-9 정리 4장 블로그 서비스 4-1 서비스 소개 및 설계 4-2 기본 API 구현 ___4-2-1 models.ts 구현 ___4-2-2 handler.ts 구현 ___4-2-3 storage.ts 구현 4-3 DynamoDB 연동 ___4-3-1 자원 선언 ___4-3-2 AWS-SDK 라이브러리 추가 ___4-3-3 글에 대한 CRUD 구현 ___4-3-4 글 목록 구현 ___4-3-5 로컬 환경 준비 ___4-3-6 Serverless offline ___4-3-7 로컬 DynamoDB 준비 ___4-3-8 로컬 테스트 ___4-3-9 배포 및 테스트 ___4-3-10 정리 4-4 MySQL 연동 ___4-4-1 자원 선언 ___4-4-2 방화벽 설정 ___4-4-3 MySQL 라이브러리 추가 ___4-4-4 글에 대한 CRUD 구현 ___4-4-5 로컬 테스트 ___4-4-6 배포 ___4-4-7 MySQL 테이블 작성 ___4-4-8 테스트 ___4-4-9 정리 4-5 SQLite 연동 ___4-5-1 자원 선언 ___4-5-2 VPC 설정 ___4-5-3 SQLite 라이브러리 추가 ___4-5-4 Better SQLite3 준비 ___4-5-5 SQLite 기반 쿼리 함수 구현 ___4-5-6 잠금 함수 구현 ___4-5-7 CRUD 함수 구현 ___4-5-8 로컬 S3 준비 ___4-5-9 로컬 Redis 준비 ___4-5-10 로컬 테스트 ___4-5-11 배포 ___4-5-12 느린 응답 시간 ___4-5-13 응용 ___4-5-14 정리 4-6 저장소 비교 ___4-6-1 응답 지연 시간 ___4-6-2 비용 ___4-6-3 유지 보수 ___4-6-4 유리한 시나리오 4-7 프런트엔드 연동 ___4-7-1 create-react-app ___4-7-2 웹 페이지 설계 ___4-7-3 컴포넌트 기본 ___4-7-4 서버 API 연동 ___4-7-5 컴포넌트 구현 ___4-7-6 프록시 서버 ___4-7-7 개발 서버 시작 ___4-7-8 주소 기반 라우트 ___4-7-9 빌드 ___4-7-10 로컬 테스트 ___4-7-11 서버 주소 문제 해결 ___4-7-12 정리 4-8 S3와 CloudFront를 사용해 배포 ___4-8-1 서버 API 주소 설정 ___4-8-2 CORS 문제 해결 ___4-8-3 배포 4-9 CloudFront의 다중 오리진 사용 ___4-9-1 서버 API 주소 설정 ___4-9-2 배포 ___4-9-3 동작 이해 ___4-9-4 장점과 단점 4-10 API Gateway에서 웹 페이지 제공 ___4-10-1 서버리스 스택 설정 ___4-10-2 서버 API 주소 설정 ___4-10-3 배포 ___4-10-4 도메인 연결 4-11 REST API 사용 ___4-11-1 서버리스 스택 변경 ___4-11-2 코드 변경 ___4-11-3 로컬 테스트 ___4-11-4 X-Ray 추가 ___4-11-5 X-Ray 지표 분석 ___4-11-6 정리 4-12 인증 구현 ___4-12-1 Lambda 인증 ___4-12-2 함수 구현 ___4-12-3 서버리스 스택 변경 ___4-12-4 빌드 오류 수정 ___4-12-5 CloudFront 수정 ___4-12-6 프런트엔드 작업 ___4-12-7 테스트 ___4-12-8 정리 4-13 상용 서비스 고려 ___4-13-1 DynamoDB ___4-13-2 MySQL ___4-13-3 SQLite ___4-13-4 API 요청 횟수 제한 ___4-13-5 인증 ___4-13-6 CloudFront와 S3 4-14 모니터링 ___4-14-1 DynamoDB 모니터링 ___4-14-2 MySQL 모니터링 ___4-14-3 Redis 모니터링 ___4-14-4 인증 실패율 4-15 비용 계산 ___4-15-1 시나리오 ___4-15-2 시스템 구성 ___4-15-3 CloudFront와 S3 오리진 사용 ___4-15-4 API Gateway에서 웹 페이지 제공 ___4-15-5 API Gateway의 API 요청 처리 비용 ___4-15-6 Lambda 권한 부여자 실행 비용 ___4-15-7 통합된 Lambda 실행 비용 ___4-15-8 DynamoDB 비용 ___4-15-9 MySQL 비용 ___4-15-10 SQLite 데이터베이스를 위한 S3 비용 ___4-15-11 비용 정리 ___4-15-12 비용 줄이기 4-16 정리 5장 추천 서비스 5-1 시나리오 ___5-1-1 Word2vec ___5-1-2 기반 데이터 5-2 개발 환경 구축 ___5-2-1 파이썬 환경 구축 ___5-2-2 AWS ECR 로그인 ___5-2-3 SAM CLI 설치 5-3 시스템 설계 5-4 학습 구현 ___5-4-1 의존 라이브러리 설치 ___5-4-2 이벤트 다운로드 ___5-4-3 학습 ___5-4-4 S3 Bucket 준비 ___5-4-5 배포 5-5 추천 API 구현 ___5-5-1 추천 구현 ___5-5-2 SAM 프로젝트 작성 ___5-5-3 로컬 테스트 ___5-5-4 배포 ___5-5-5 수행 시간 확인 ___5-5-6 ECR 리포지토리 관리 5-6 서비스 API 구현 ___5-6-1 추적 쿠키 발급 API ___5-6-2 좋아요 횟수 조회 API ___5-6-3 좋아요 API ___5-6-4 VPC에서 SQS 연결 ___5-6-5 서버리스 스택 구성 ___5-6-6 로컬 테스트 ___5-6-7 배포 5-7 웹 페이지 구현 ___5-7-1 추적 쿠키 사용 ___5-7-2 좋아요 노출 ___5-7-3 좋아요 버튼 ___5-7-4 추천 목록 ___5-7-5 프록시 서버 구성 ___5-7-6 로컬 테스트 5-8 CDN 배포 5-9 상용 서비스 고려 ___5-9-1 SQS 이벤트 채널 ___5-9-2 추천 Lambda의 수행 시간 ___5-9-3 AVX2 지원 ___5-9-4 모델 파일의 크기 5-10 모니터링 ___5-10-1 SQS 모니터링 ___5-10-2 ECR 모니터링 ___5-10-3 PrivateLink 모니터링 5-11 비용 계산 ___5-11-1 시나리오 ___5-11-2 고정 비용 ___5-11-3 API 비용 ___5-11-4 비용 일람 ___5-11-5 비용 줄이기 ___5-12 정리 6장 채팅 6-1 WebSocket API 6-2 에코 ___6-2-1 로컬 테스트 ___6-2-2 배포 ___6-2-3 라우트 선택 표현식 활용 6-3 채팅 전파 ___6-3-1 연결 ID 관리 ___6-3-2 메시지 전파 ___6-3-3 서버리스 스택 선언 ___6-3-4 로컬 테스트 ___6-3-5 배포 6-4 주제-구독-전파 ___6-4-1 테이블 설계 ___6-4-2 DynamoDB 테이블 선언 ___6-4-3 DynamoDB 연동 구현 ___6-4-4 연결 맺음과 끊음의 처리 ___6-4-5 메시지 전파 처리 ___6-4-6 사용자 및 주제 생성 API ___6-4-7 함수 등록 ___6-4-8 로컬 테스트 ___6-4-9 배포 6-5 인증 ___6-5-1 Lambda 권한 부여자 구현 ___6-5-2 이벤트 처리 함수 수정 ___6-5-3 서버리스 스택 수정 ___6-5-4 WebSocket API 로깅 6-6 사용자 지정 도메인 6-7 상용 서비스 고려 ___6-7-1 채팅 서비스 ___6-7-2 이벤트 채널 ___6-7-3 WebSocket API의 한계 ___6-7-4 글로벌 서비스 고려 6-8 모니터링 ___6-8-1 WebSocket API 지표 6-9 비용 계산 ___6-9-1 시나리오 ___6-9-2 WebSocket 비용 ___6-9-3 DynamoDB 비용 ___6-9-4 Lambda 비용 ___6-9-5 비용 일람 ___6-9-6 비용 줄이기 6-10 정리 7장 게임 서버 7-1 온라인 뱀 게임 7-2 VPC ___7-2-1 VPC 인프라 선언 ___7-2-2 Redis 인스턴스 선언 ___7-2-3 서버리스 스택 선언 ___7-2-4 연결성 분석기 7-3 게임 서버 구현 ___7-3-1 메시지 정의 ___7-3-2 WebSocket 처리 함수 구현 ___7-3-3 사용자 지정 도메인 연결 7-4 매칭 구현 ___7-4-1 매칭 요청 처리 구현 ___7-4-2 매칭 로직 구현 ___7-4-3 매칭 수행 및 처리 연장 7-5 게임 구현 ___7-5-1 WebSocket 이벤트 전달 구현 ___7-5-2 게임 플레이어 구현 ___7-5-3 게임 로직 구현 7-6 테스트와 배포 ___7-6-1 로컬 테스트 ___7-6-2 배포 7-7 웹 클라이언트 구현 ___7-7-1 프로젝트 시작 ___7-7-2 메시지와 모델 선언 ___7-7-3 WebSocket 연결 ___7-7-4 컴포넌트 구현 ___7-7-5 스타일링 ___7-7-6 효율적인 다시 그리기 ___7-7-7 로컬 테스트 ___7-7-8 웹 클라이언트 배포 7-8 상용 서비스 고려 ___7-8-1 VPC의 제약 조건 ___7-8-2 WebSocket API의 제약 조건 ___7-8-3 Lambda의 수행 시간 제약 조건 ___7-8-4 Lambda의 동시 실행 제약 조건 ___7-8-5 Redis 유형 검토 ___7-8-6 응답 지연 시간 개선 ___7-8-7 매칭 개선 7-9 모니터링 ___7-9-1 WebSocket API 지표 ___7-9-2 Lambda 지표 ___7-9-3 Redis 지표 7-10 비용 계산 ___7-10-1 시나리오 ___7-10-2 VPC 비용 ___7-10-3 WebSocket API 비용 ___7-10-4 Lambda 비용 ___7-10-5 비용 일람 ___7-10-6 비용 줄이기 7-11 정리 부록 A 도메인 구입 A-1 Route53에서 도메인 구입 A-2 타사 도메인 연결 A-3 도메인 레코드 세트 추가 A-4 인증서 발급 부록 B 구글 OAuth 구성 B-1 프로젝트 생성 B-2 동의 화면 구성 B-3 클라이언트 ID 생성
저자 소개
저자 : 최재영
    최재영
    개발자들이 도메인 개발에만 집중할 수 있도록 그 외의 다른 모든 부분을 자동화하는데 관심이 많다. 특히 서비스 개발 초반에 빌드-배포-모니터링 운영 비용을 크게 낮출 수 있는 서버리스의 매력에 푹 빠져 있다. 틈틈이 서버리스 서버 개발자에 도전하고 있다.
    블루홀 스튜디오에서 게임 개발자로 경력을 시작한 이후 웹 서비스, 추천 백엔드, 빌링을 거쳐 다시 웹 서비스 업무를 수행하고 있다. 여러 도메인의 백엔드를 개발하며 얻은 경험을 토대로 기존의 백엔드 시스템을 서버리스 기반으로 옮기는 연습을 하기도 한다. 다양한 토이 프로젝트를 AWS Lambda 기반으로 올려 비용을 최적화하는 것을 즐기며 가끔 만나는 지인들에게 서버리스 플랫폼 사용을 권유하는 활동을 한다.
    도서리뷰

    이 책을 읽고 어떤 느낌을 받으셨나요?
    리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    매장에서 사용할 수 있는 바코드가 있어요!