Top

서버리스 웹 애플리케이션 구축 [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장, ‘테스트, 배포, 모니터링’에서는 서버리스 솔루션을 테스트하는 방법, 운영 환경에 애플리케이션을 배포하기 위한 표준 사례와 모니터링해야 할 사항을 살펴본다.

저자/역자 소개

지은이의 말

서버리스(serverless)는 클라우드 서비스 제공자가 모든 시스템을 관리하고 시간 단위가 아닌 1/10초 단위로 사용 시간을 측정해 요금을 지불하는 방식의 클라우드 서비스를 구분하기 위해 만들어진 전문 용어다. 서버리스 컴퓨팅은 애플리케이션 개발자에게 비용 절감, 개발 시간 단축, 가용성 및 확장성에 대한 문제 해결의 이점을 광범위하게 제공한다. 이런 장점만으로도 서버리스 애플리케이션을 만드는 방법을 배울 이유는 충분하다.
서버리스의 개념과 사용 방법 외에도 이 책은 서버리스에 대한 폭넓은 시각을 제공한다. 많은 사람이 FaaS(Function as a Service)를 서버리스의 의미로 사용하기도 하며, 서버리스가 필요에 따라 기능을 실행하는 것보다 훨씬 더 많은 작업을 수행할 수 있다는 사실을 알지 못한다. 서버리스는 데이터베이스, 보안, 알림 외에도 많은 서비스를 제공한다. 서버리스를 활용한 다양한 서비스의 사용 방법을 설명한다.
이 책은 다음 세 부분으로 나뉜다.
• 소개: 이 책에서 사용되는 서버리스 개념과 도구를 소개한다. AWS 서비스와 서버리스 프레임워크에 대해 배우게 될 것이다. 1장, ‘서버리스 모델의 이해’에서 3장, ‘서버리스 프레임워크’까지가 소개에 해당된다.
• 서버리스 애플리케이션 구축: 4장, ‘웹사이트 호스팅’부터 7장, ‘서버리스 데이터베이스의 관리’에서는 서버리스 애플리케이션을 개발하고 호스트하는 방법과 프론트엔드, 백엔드 및 데이터 액세스 계층을 구축하는 방법을 실습한다.
• 고급 기능: 8장, ‘서버리스 애플리케이션 보안 유지하기’에서 10장, ‘테스트, 배포, 모니터링’으로 이 책은 끝나며, 서버리스를 이용해 애플리케이션을 테스트, 배포, 모니터링하는 방법뿐 아니라 보안 및 실시간 알림을 구현하는 방법에 대해 설명한다.

지은이 소개

디에고 자농(Diego Zanon)

자바스크립트와 닷넷 애플리케이션의 풀스택 개발자다. 특히 확장성 문제를 해결하기 위해 설계된 최신 기술과 프레임워크를 이해하고 개발하는 데 열정을 쏟고 있다. 여가 시간에는 깃허브나 스택 오버플로우에 기여하고 블로그에 글을 쓰는 것을 좋아한다.
컴퓨터 엔지니어며 미국, 브라질, 네덜란드, 독일을 비롯한 전 세계 고객을 대상으로 산업 시스템에서 전자 상거래 웹사이트에 이르기까지 광범위한 프로젝트를 진행하고 있다.

옮긴이의 말

역자들은 IT 전문업체, 제조업체, 클라우드 업체 등 다양한 영역의 전문가이자, IT의 최고 자격인 정보관리/컴퓨터시스템응용 기술사들이다. 동일 회차에 합격한 역자들은 클라우드 서비스와 관련된 도서는 많지만 좀 더 전문적인 내용을 다룬 도서가 부족하다는 데 의견을 모았고, 클라우드 서비스와 관련된 전문 도서에 대한 번역을 기획했다. 그 첫 번째 결과물이 클라우드 서비스의 기반 기술 중 하나인 컨테이너에 대해 다루는 『리눅스 컨테이너 LXC』(에이콘, 2017)고 이 책은 두 번째 결과물이다. 서버리스 컴퓨팅은 개념은 많이 알려져 있지만, 이에 대해 제대로 다루고 있는 서적이 국내에는 아직 없는 것이 현실이다. 이 책은 서버리스 컴퓨팅의 개념뿐 아니라 구체적인 웹 애플리케이션 구축 사례를 통해서 기본적인 개발 지식과 클라우드 컴퓨팅의 이해만 있으면 쉽게 서버리스 컴퓨팅을 배울 수 있도록 도와준다. 이 책을 통해서 독자들은 서버에 의한 제약에서 벗어나 좀 더 자유롭게 웹 애플리케이션을 개발하고 서비스할 수 있게 될 것이다.

옮긴이 소개

김경호

(현) 에쓰-오일 IT기획/보안 기획 업무
(현) IITP 평가 위원
(현) 한국정보기술연구원 BoB Best of Best 멘토
(현) NIA 빅데이터 기술 전문가 자문위원
(전) NCS 집필위원
(전) 미래창조과학부 한이음 ICT 멘토
(전) 인터넷 포털업체 IT 보안 기획 업무
(전) IT/IT보안컨설팅업체 컨설턴트
(전) 모바일기기 제조업체 IT 시스템 운영 업무
(전) 사이버보안전문단원(미래창조과학부)
해킹방어대회 입상(정보통신부 주관)
정보관리기술사, CCIE, CIA, CISSP, ISMS 인증심사원, PIMS 인증심사원, 정보보안기사, PMP, ITIL 등 다양한 자격 보유

고경두

(현) SK(주)C&C/Technical Architect
(현) 미래창조과학부 한이음 ICT 멘토
(전) SKT Swing(U.key3.0) 프로젝트 미들웨어 총괄
컴퓨터시스템응용기술사, 정보보안기사

박준수

(현) Technical Account Manager
(전) NCS 프로젝트관리(인적자원관리)집필위원
(전) 미래창조과학부 한이음 ICT 멘토
(전) 현대모비스 R&D정보화 기획
정보관리기술사, PMP, AWS Solutions Architect - Professional, AWS DevOps Engineer - Professional 등

배동환

(현) Here Solutions/Sr, DBA
(현) NIPA 평가위원
(현) NCS 검토위원
(현) 미래창조과학부 한이음 ICT 멘토
(전) SK브로드밴드(하나로텔레콤, 두루넷) IT 운영관리, DBA
컴퓨터시스템응용기술사, 정보보안기사

임선영

(현) 신세계아이앤씨(주)/AA(Application Architect)
(전) 미래창조과학부 한이음 ICT 멘토
정보관리기술사, 수석감리원, PMP, CISSP

목차

목차
  • 1장. 서버리스 모델의 이해
    • 서버리스 개요
      • 서버리스에 관해
      • 서버리스와 PaaS
      • IaaS와 온프레미스
      • 서버리스의 주요 목적
    • 서버리스의 장점과 단점
      • 서버리스의 장점
      • 서버리스의 단점
    • 서버리스 사용 사례
      • 정적 웹사이트
      • 린 웹사이트
      • 소규모 전자상거래 웹사이트
      • 임시 웹사이트
      • 트리거 처리
      • 챗봇
      • IoT 백엔드
      • 예정된 일정
      • 빅데이터
      • 피해야 할 것들
    • 요약

  • 2장. AWS로 시작하기
    • AWS
      • 사용자 계정과 보안 처리
      • AWS 자원 관리
      • 프론트엔드 서비스
      • 메시징과 통지
      • 백엔드 서비스
      • 데이터베이스 서비스
    • 온라인 상점의 서버리스 아키텍처
      • 비용 견적
    • 요약

  • 3장. 서버리스 프레임워크
    • 서버리스 프레임워크
      • 서버리스 프레임워크 이해하기
      • 그밖의 프레임워크
      • 프레임워크 설치
      • 프레임워크 구성
      • 팀의 권한 관리
      • 새 프로젝트 생성
      • 람다 제한 구성
      • 서비스 배포
      • 함수 호출
      • 로그 검색
      • 엔드포인트 추가
      • CORS
      • 서비스 삭제
    • 기본적인 것 이상으로 나아가기
      • npm 패키지 사용
      • 다른 AWS 자원에 접근하기
      • 이벤트
      • 람다를 사용해 HTML 페이지 제공하기
      • 구성 변수의 활용
      • 플러그인
      • 배포 정보 표시
      • 스캐폴딩
    • 요약

  • 4장. 웹사이트 호스팅
    • 아마존 S3에서 정적 파일 서비스
      • 버킷 생성
      • 웹 호스팅 활성화
      • 오류 처리
      • www 앵커 사용
      • 정적 파일 업로드하기
      • 웹사이트 자동 배포
      • gzip 사용
    • Route 53 설정
      • 호스팅 영역 생성
      • 레코드 셋 생성
    • CloudFront 설정
      • CloudFront 배포 생성
      • CloudFront 캐싱 관리
      • CloudFront 사용을 위한 Route 53 설정 변경
    • HTTPS 설정
      • 메일 익스체인지 레코드 생성
      • AWS 인증서 관리자에게 무료 인증서 요청하기
      • HTTPS 사용을 위한 CloudFront 구성
    • 요약

  • 5장. 프론트엔드 구축
    • 리액트 시작하기
      • 리액트 원리
      • 리액트 기본예제
      • 장바구니 만들기
      • Ajax 요청
    • 단일 페이지 애플리케이션
      • SPA의 장단점
      • 사전 렌더링 페이지
    • 온라인 상점 구축
      • Navbar 컴포넌트
      • 홈페이지
      • 제품 상세 페이지
      • 장바구니 페이지
      • 로그인과 가입 페이지
      • 오류 페이지
    • 요약

  • 6장. 백엔드 개발
    • 프로젝트 아키텍처 정의
      • 모놀리스와 마이크로서비스의 차이
      • 나노서비스
      • 마이크로서비스
      • 모놀리스
      • 그래프
      • 서로 다른 명령
    • 백엔드 개발
      • 기능 정의하기
      • 코드 구성
      • 엔드포인트 설정
      • HTTP 요청 라우팅
      • 람다 함수 구현
    • 요약

  • 7장. 서버리스 데이터베이스의 관리
    • 아마존 심플DB
      • 데이터베이스 모델링
      • 데이터 입력과 쿼리
      • 데이터베이스 관리
    • 다이나모DB
      • 데이터베이스 모델링
      • 데이터 입력과 쿼리
      • 데이터베이스 관리
      • 서버리스 스토어 개선
    • 아마존 S3(미디어 파일용)
      • 파일 업로드와 다운로드
      • 데이터 백업과 복구
    • 요약

  • 8장. 서버리스 애플리케이션 보안
    • 보안 기초
      • 정보 보안
      • AWS 보안
    • 인증과 권한부여 처리
      • 아마존 코그니토
      • 서버리스 상점에서 코그니토 사용
      • 람다 함수에서 인증 처리
    • 요약

  • 9장. 서버리스 알림 처리
    • AWS IoT
      • 프로토콜
      • IoT 엔드포인트 찾기
      • AWS IoT SDK
    • 서버리스 알림 구현
      • 공개 알림
      • 비공개 알림
    • 요약

  • 10장. 테스트, 배포, 모니터링
    • 솔루션 테스트
      • Lambda 함수 단위 테스트
      • 외부 서비스 모킹
      • 프론트엔드 테스트
      • 로컬에서 AWS 서비스 시뮬레이션
    • 애플리케이션 배포하기
      • 개발 워크플로우
      • 배포 롤백하기
      • 스테이징 환경 생성
      • 함수를 따뜻하게 유지하기
    • 작업 모니터링
      • 비용 모니터링
      • 오류 모니터링
      • 성능 모니터링
      • 효율성 모니터링
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안