서버리스 웹 애플리케이션 구축 [AWS 서비스, 서버리스 프레임워크 소개부터 서버리스 애플리케이션 개발과 배포까지]
- 원서명Building Serverless Web Applications: Develop scalable web apps using the Serverless Framework on AWS (ISBN 9781787126473)
- 지은이디에고 자농(Diego Zanon)
- 옮긴이김경호, 고경두, 박준수, 배동환, 임선영
- ISBN : 9791161751115
- 30,000원
- 2018년 02월 23일 펴냄 (절판)
- 페이퍼백 | 408쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
서버리스 컴퓨팅은 클라우드 서비스의 새로운 유형으로 클라우드 서비스 제공자에 의해 시스템이 관리되고 사용한 컴퓨팅 시간에 대해서만 과금하기 때문에, 회사의 관리 비용을 줄이고 확장성을 향상시키기 위해 채택되고 있는 중요한 기술 중 하나다. 또한 비용 절감, 개발 시간 단축, 가용성 및 확장성에 대한 문제를 해결하는 등 애플리케이션 개발자에게 광범위한 이점을 제공한다.
이 책은 서버리스 컴퓨팅에 대한 개념과 도구에 대한 소개부터 시작해 서버리스 웹 애플리케이션을 개발하고 호스팅하는 방법, 서버리스에서 애플리케이션 성능, 효율성 및 오류를 모니터링하는 방법, 마지막으로 애플리케이션을 테스트하고 배포하는 방법까지 서버리스 컴퓨팅에 대한 모든 내용을 다루고 있다. 이 책을 다 읽고 나면 서버리스 컴퓨팅을 좀 더 잘 이해하고 자유롭게 활용하고 있는 자신을 발견하게 될 것이다.
이 책에서 다루는 내용
█ 서버리스와 활용 사례를 통한 장단점 이해
█ AWS의 빌딩블록 활용 방법
█ 서버리스 프레임워크를 사용해 환경 설정과 기본 애플리케이션 생성
█ HTTPS를 지원하는 S3와 CloudFront에 정적 파일 호스팅
█ React 프론트엔드(Frontend)로 샘플 애플리케이션 구축
█ Node.js 백엔드(Backend)를 개발해 요청 처리와 서버리스 데이터베이스 연결
█ 인증 및 권한 부여로 애플리케이션 보안
█ publish-subscribe 패턴 구현으로 서버리스 애플리케이션 알림 처리
█ 테스트 생성, 배포를 위한 워크플로우 정의, 애플리케이션 모니터링
이 책의 대상 독자
클라우드 서비스를 사용해 인프라를 구성하고 유지 관리하는 데 낭비되는 시간을 줄이고 더욱 생산적으로 개발을 수행하고자 하는 웹 개발자 또는 적은 노력으로 일반적인 문제를 해결하기 위해 기존 서비스를 사용해 솔루션을 구축하려는 개발자를 대상으로 한다.
나는 풀스택 개발자로 일하면서 프론트엔드, 백엔드, 데이터베이스, 보안, 개발자 작업 등 모든 것을 이해해야 했다. 그래서 이 책에서 서버리스 개념을 사용한 웹 개발에 대한 폭넓은 관점을 제시하고자 노력했다. 나와 비슷한 역할을 하거나 웹 개발의 다양한 계층에 대해 더 많이 배우고 싶은 독자 분들께 적합하다.
이 책은 중급 수준의 쿠버네티스(Kubernetes) 지식을 보유하고 있고 고급 수준의 마스터가 되기를 바라는 시스템 관리자와 개발자를 대상으로 한다. 고급 수준의 내용을 다루는 이 책은 쿠버네티스를 마스터하는 길잡이가 될 것이다.
이 책의 구성
1장, ‘서버리스 모델의 이해’에서는 몇 가지 유스케이스와 함께 서버리스의 개념과 장단점을 소개한다.
2장, ‘AWS로 시작하기’에서는 새로운 AWS 사용자에게 서버리스를 소개하고 책 전체에서 어떤 도구가 사용되는지 설명한다.
3장, ‘서버리스 프레임워크’에서는 서버리스 프레임워크를 구성하고 사용하는 방법을 설명한다. 서버리스 프레임워크는 서버리스 애플리케이션을 구축하는 데 반드시 필요한 도구다.
4장, ‘웹사이트 호스팅’에서는 HTTPS를 지원하는 웹사이트를 호스팅하고 도메인을 구성하는 데 도움을 준다.
5장, ‘프론트엔드 구축’에서는 단일 페이지 애플리케이션(SPA)의 접근 방법을 사용해 프론트엔드를 디자인한다.
6장, ‘백엔드 개발’에서는 RESTful 인터페이스를 설계하고 Node.js를 사용해 백엔드 코드를 작성하는 방법에 대해 설명한다.
7장, ‘서버리스 데이터베이스의 관리’에서는 심플DB와 다이나모DB를 사용해 서버리스 프로젝트의 데이터 저장 방법을 보여준다.
8장, ‘서버리스 애플리케이션 보호’에서는 표준 보안 사례와 서버리스 애플리케이션에서 인증과 권한 부여를 구현하는 방법에 대해 설명한다.
9장, ‘서버리스 알림 처리’에서는 공급자와 구독자(publisher-subscriber) 패턴을 사용해 서버리스 알림 작성 방법을 살펴본다.
10장, ‘테스트, 배포, 모니터링’에서는 서버리스 솔루션을 테스트하는 방법, 운영 환경에 애플리케이션을 배포하기 위한 표준 사례와 모니터링해야 할 사항을 살펴본다.
목차
목차
- 1장. 서버리스 모델의 이해
- 서버리스 개요
- 서버리스에 관해
- 서버리스와 PaaS
- IaaS와 온프레미스
- 서버리스의 주요 목적
- 서버리스의 장점과 단점
- 서버리스의 장점
- 서버리스의 단점
- 서버리스 사용 사례
- 정적 웹사이트
- 린 웹사이트
- 소규모 전자상거래 웹사이트
- 임시 웹사이트
- 트리거 처리
- 챗봇
- IoT 백엔드
- 예정된 일정
- 빅데이터
- 피해야 할 것들
- 요약
- 서버리스 개요
- 2장. AWS로 시작하기
- AWS
- 사용자 계정과 보안 처리
- AWS 자원 관리
- 프론트엔드 서비스
- 메시징과 통지
- 백엔드 서비스
- 데이터베이스 서비스
- 온라인 상점의 서버리스 아키텍처
- 비용 견적
- 요약
- AWS
- 3장. 서버리스 프레임워크
- 서버리스 프레임워크
- 서버리스 프레임워크 이해하기
- 그밖의 프레임워크
- 프레임워크 설치
- 프레임워크 구성
- 팀의 권한 관리
- 새 프로젝트 생성
- 람다 제한 구성
- 서비스 배포
- 함수 호출
- 로그 검색
- 엔드포인트 추가
- CORS
- 서비스 삭제
- 기본적인 것 이상으로 나아가기
- npm 패키지 사용
- 다른 AWS 자원에 접근하기
- 이벤트
- 람다를 사용해 HTML 페이지 제공하기
- 구성 변수의 활용
- 플러그인
- 배포 정보 표시
- 스캐폴딩
- 요약
- 서버리스 프레임워크
- 4장. 웹사이트 호스팅
- 아마존 S3에서 정적 파일 서비스
- 버킷 생성
- 웹 호스팅 활성화
- 오류 처리
- www 앵커 사용
- 정적 파일 업로드하기
- 웹사이트 자동 배포
- gzip 사용
- Route 53 설정
- 호스팅 영역 생성
- 레코드 셋 생성
- CloudFront 설정
- CloudFront 배포 생성
- CloudFront 캐싱 관리
- CloudFront 사용을 위한 Route 53 설정 변경
- HTTPS 설정
- 메일 익스체인지 레코드 생성
- AWS 인증서 관리자에게 무료 인증서 요청하기
- HTTPS 사용을 위한 CloudFront 구성
- 요약
- 아마존 S3에서 정적 파일 서비스
- 5장. 프론트엔드 구축
- 리액트 시작하기
- 리액트 원리
- 리액트 기본예제
- 장바구니 만들기
- Ajax 요청
- 단일 페이지 애플리케이션
- SPA의 장단점
- 사전 렌더링 페이지
- 온라인 상점 구축
- Navbar 컴포넌트
- 홈페이지
- 제품 상세 페이지
- 장바구니 페이지
- 로그인과 가입 페이지
- 오류 페이지
- 요약
- 리액트 시작하기
- 6장. 백엔드 개발
- 프로젝트 아키텍처 정의
- 모놀리스와 마이크로서비스의 차이
- 나노서비스
- 마이크로서비스
- 모놀리스
- 그래프
- 서로 다른 명령
- 백엔드 개발
- 기능 정의하기
- 코드 구성
- 엔드포인트 설정
- HTTP 요청 라우팅
- 람다 함수 구현
- 요약
- 프로젝트 아키텍처 정의
- 7장. 서버리스 데이터베이스의 관리
- 아마존 심플DB
- 데이터베이스 모델링
- 데이터 입력과 쿼리
- 데이터베이스 관리
- 다이나모DB
- 데이터베이스 모델링
- 데이터 입력과 쿼리
- 데이터베이스 관리
- 서버리스 스토어 개선
- 아마존 S3(미디어 파일용)
- 파일 업로드와 다운로드
- 데이터 백업과 복구
- 요약
- 아마존 심플DB
- 8장. 서버리스 애플리케이션 보안
- 보안 기초
- 정보 보안
- AWS 보안
- 인증과 권한부여 처리
- 아마존 코그니토
- 서버리스 상점에서 코그니토 사용
- 람다 함수에서 인증 처리
- 요약
- 보안 기초
- 9장. 서버리스 알림 처리
- AWS IoT
- 프로토콜
- IoT 엔드포인트 찾기
- AWS IoT SDK
- 서버리스 알림 구현
- 공개 알림
- 비공개 알림
- 요약
- AWS IoT
- 10장. 테스트, 배포, 모니터링
- 솔루션 테스트
- Lambda 함수 단위 테스트
- 외부 서비스 모킹
- 프론트엔드 테스트
- 로컬에서 AWS 서비스 시뮬레이션
- 애플리케이션 배포하기
- 개발 워크플로우
- 배포 롤백하기
- 스테이징 환경 생성
- 함수를 따뜻하게 유지하기
- 작업 모니터링
- 비용 모니터링
- 오류 모니터링
- 성능 모니터링
- 효율성 모니터링
- 요약
- 솔루션 테스트