1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

Go로 구현하는 클라우드 네이티브 애플리케이션-클라우드와 MSA 기반의 고성능 웹앱 개발하기
저자 : 미나안드라오스,MARTIN HELMICH ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 박병주

2022.04.29 ㅣ 504p ㅣ ISBN-13 : 9791161756264

정가35,000
판매가33,250(5% 할인)
적립금 1,400원 (4%)
배송일정 내일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
도커와 쿠버네티스의 개발 언어인 GO를 사용해 AWS상의 여러 핵심 서비스로 구성되는 마이크로서비스 아키텍처(MSA) 기반의 클라우드 네이티브 애플리케이션 개발을 다룬다. 기본적인 GO 언어 문법과 웹 개발 기초 지식이 있는 독자를 대상으로 현대적인 애플리케이션 구현에 필요한 아키텍처, 보안, 배포, 모니터링, 디자인 패턴 등 전반적인 지식을 실제 코드를 통해 학습할 수 있다.
펼쳐보기

[목 차]

1장. 현대적인 마이크로서비스 아키텍처

__왜 Go 언어인가?
__기본 설계 목표
__클라우드 서비스 모델
__클라우드 애플리케이션 아키텍처 패턴
____12 요소 앱
____마이크로서비스란 무엇인가?
____마이크로서비스 배포
____REST 웹 서비스와 비동기식 메시징
__MyEvents 플랫폼
__요약

02장. Rest API를 사용한 마이크로서비스 구축

__배경
____마이크로서비스란?
______마이크로서비스의 내부
__RESTful 웹 API
____Gorilla 웹 툴킷
__Restful API 구현
____지속성 계층
____몽고DB
____몽고DB와 Go 언어
__RESTful API 핸들러 함수 구현
__요약

03장. 마이크로서비스 보안

__HTTPS
____대칭 암호화 방식
______HTTPS에서 대칭키 알고리듬
____비대칭 암호화 방식
______HTTP에서 비대칭 암호화 방식
__Go에서의 안전한 웹 서비스
____인증서 얻기
______OpenSSL
______generate_cert.go
____Go에서 HTTPS 서버 구축
__요약

04장. 메시지 큐를 사용한 비동기 마이크로서비스 아키텍처

__발행/구독 패턴
__예약 서비스 소개
__이벤트 콜라보레이션
__RabbitMQ로 발행/구독 구현
____고급 메시지 큐잉 프로토콜
____도커로 하는 RabbitMQ 빠른 시작
____고급 RabbitMQ 설정
____Go로 RabbitMQ 연결
____AMQP 메시지 발행과 구독
____이벤트 배출자 작성
____이벤트 구독자 작성
____예약 서비스 작성
__이벤트 소싱
__아파치 카프카로 발행/구독과 이벤트 소싱 구현
____도커로 카프카 빨리 시작
____아파치 카프카의 기본 원칙
____Go로 카프카에 연결
____카프카로 메시지 발행
____카프카에서 메시지 소비
__요약

05장. 리액트로 프론트엔드 구축

__리액트 시작
____Node.js와 타입스크립트 설정
____리액트 프로젝트 초기화
__리액트 기본 원칙
____MyEvents 프론트엔드 시동 걸기
____이벤트 리스트 구현
______자신의 클라이언트 가져오기
__이벤트 리스트 구성 요소 구축
____백엔드 서비스에서 CORS 활성화
____이벤트 리스트 테스트
____라우팅과 내비게이션 추가
____예약 프로세스 구현
__요약

06장. 컨테이너로 애플리케이션 배포

__컨테이너란?
__도커 소개
____간단한 컨테이너 실행
____자신만의 이미지 작성
____컨테이너들의 네트워킹
__볼륨으로 작업
____컨테이너 작성
______백엔드 서비스들을 위한 컨테이너 작성
____더 작은 이미지들을 위한 정적 컴파일 기능 사용
____프론트엔드용 컨테이너 작성
__도커 컴포즈로 애플리케이션 배포
__이미지 발행
__애플리케이션을 클라우드에 배포
__쿠버네티스 소개
____MiniKube로 로컬 쿠버네티스 설정
____쿠버네티스의 핵심 개념
____서비스
____지속 볼륨
____MyEvents를 쿠버네티스로 배포
______RabbitMQ 브로커 생성
________몽고DB 컨테이너 생성
________쿠버네티스에서 이미지 사용 가능하게 만들기
________MyEvents 구성 요소 배포
________HTTP 인그레스 구성
__요약

07장. AWS I: 기초, Go를 위한 AWS SDK와 EC2

__AWS 기초
____AWS 콘솔
____AWS 커맨드라인 인터페이스(CLI)
____AWS 리전과 존
____AWS 태그
____AWS 일래스틱 빈스톡
__AWS 서비스
____GO를 위한 AWS SDK
______AWS 리전 구성
______AWS SDK 인증 구성
________IAM 사용자 생성
________IAM 역할 생성
____Go를 위한 AWS SDK의 기초
______세션
______서비스 클라이언트
______네이티브 데이터 타입
______공유 구성
______페이지 매기기 메서드
______대기
______에러 처리
____EC2
______EC2 인스턴스 생성
______EC2 인스턴스 생성
________리눅스나 맥OS 머신에서 EC2 인스턴스 접속
________윈도우에서 EC2 접속
________보안 그룹
__요약

08장. AWS II: S3, SQS, API 게이트웨이, 다이나모DB

__S3
____S3 구성
__SQS
__AWS API 게이트웨이
__다이나모DB
____다이나모DB 구성 요소
______속성 값 데이터 타입
____기본키
____보조 인덱스
____테이블 생성
____Go 언어와 다이나모DB
__요약

09장. 지속적인 배포

__프로젝트 설정
____버전 관리 설정
____의존성 벤더링
__Travis CI 사용
__쿠버네티스에 배포
____GitLab 사용
______GitLab 설정
______GitLab CI 설정
__요약

10장. 애플리케이션 모니터링

__프로메테우스와 그라파나 설정
____프로메테우스의 기본
____프로메테우스 초기 구성 파일 생성
______도커로 프로메테우스 실행
______도커에서 그라파나 실행
__지표 내보내기
____Go 애플리케이션에서 프로메테우스 클라이언트 사용
____프로메테우스 스크래핑 대상 구성
____맞춤형 지표 내보내기
__프로메테우스를 쿠버네티스에서 실행
__요약

11장. 마이그레이션

__모놀리식 애플리케이션이란?
__마이크로서비스란?
__모놀리식 애플리케이션을 마이크로서비스로 마이그레이션
____사람과 기술
____모놀리식 애플리케이션을 여러 조각으로 자르기
____어떻게 코드를 깨뜨릴까?
____글루 코드
__마이크로서비스 디자인 패턴
____이타적 아키텍처
____4계층 연계 플랫폼
____도메인 주도 설계에서 경계 맥락
______데이터 일관성
______데이터 일관성을 위한 이벤트 주도 아키텍처
______이벤트 소싱
______CQRS
__요약

12장. Go가 나아갈 방향

__마이크로서비스 통신
____프로토콜 버퍼
____GRPC
__AWS 추가 사항
____다이나모DB 스트림
____AWS에서의 오토스케일링
____아마존 관계형 데이터베이스 서비스
__기타 클라우드 제공자
____마이크로소프트 애저
____구글 클라우드 플랫폼
____오픈스택
__클라우드에서 컨테이너 실행
__서버리스 아키텍처
__요약
펼쳐보기
이 책에서 다루는 내용

◆ 현대적인 소프트웨어 애플리케이션 아키텍처 이해
◆ 다른 서비스와 효과적으로 통신할 수 있는 안전한 마이크로서비스 구현
◆ 카프카, Rabbitmq, AWS SQS와 같은 메시지 큐를 활용한 이벤트 주도 아키텍처
◆ 몽고DB, AWS의 다이나모DB와 같은 현대적인 핵심 데이터베이스 기술 이해
◆ 컨테이너와 쿠버네티스 활용
◆ AWS 기초 탐구
◆ S3, SQS, 다이나모DB 등 아마존 클라우드의 핵심 서비스와 연계된 Go 언어 활용
◆ 타입스크립트를 사용한 프론트엔드 애플리케이션 작성
◆ 현대적인 애플리케이션의 지속적 배포 구현

이 책의 대상 독자

보안성, 회복력(탄력성), 견고성, 확장성을 갖춘 클라우드 네이티브 애플리케이션 구축을 원하는 Go 개발자를 대상으로 한다. 웹 서비스와 웹 프로그래밍의 기초 지식은 이 책을 마치는 데 큰 도움이 될 것이다.

이 책의 구성

1장, ‘현대적인 마이크로서비스 아키텍처’에서는 클라우드 기반 애플리케이션의 일반적인 기능과 마이크로서비스 아키텍처를 설명한다.
2장, ‘REST API를 사용한 마이크로서비스 구축’에서는 Go 언어로 현대적인 마이크로서비스를 만드는 방법을 설명하는데, 중요하고 고려해야 하는 주제를 다룬다.
3장, ‘마이크로서비스 보안’에서는 마이크로서비스를 안전하게 하는 방법을 보여준다. Go 언어로 어떻게 인증서와 HTTPS를 다루는지 알아본다.
4장, ‘메시지 큐를 사용한 비동기 마이크로서비스 아키텍처’에서는 메시지 큐를 사용해 비동기 마이크로서비스 아키텍처를 구현하는 방법을 보여준다.
5장, ‘리액트로 프론트엔드 구축’에서는 자바스크립트 세계로 잠시 떠나 마이크로서비스 기반 프로젝트의 웹 프론트엔드를 리액트 프레임워크로 어떻게 구축하는지 보여준다.
6장, ‘컨테이너로 애플리케이션 배포’에서는 애플리케이션 컨테이너를 사용해 이식과 재현이 가능한 방식으로 Go 애플리케이션을 배포하는 방법을 보여준다.
7장, ‘AWS I: 기초, Go를 위한 AWS SDK와 EC2’는 AWS 생태계를 다루는 두 개의 장 중 첫 번째다. 7장에서는 AWS의 실용적인 세부 사항을 다룬다.
8장, ‘AWS II: S3, SQS, API 게이트웨이, 다이나모DB’에서는 AWS 생태계를 좀 더 상세하게 다룬다. AWS 세계에서 인기 있는 서비스들로 더 깊이 들어갈 것이다.
9장, ‘지속적인 배포’에서는 Go 애플리케이션을 위한 기본적인 지속적인 배포 파이프라인 구현 방법을 설명한다. 이를 위해 지속적인 배포CD, 지속적 배포의 기본 원칙을 기술하고 Travis CI와 깃랩 같은 도구를 사용해 간단한 파이프라인 구현 방법을 설명한다.
10장, ‘애플리케이션 모니터링’에서는 프로메테우스와 그라파나를 사용해 마이크로서비스 아키텍처를 어떻게 모니터링하는지 보여준다.
11장, ‘마이그레이션’에서는 예전부터 사용한 모놀리식 애플리케이션을 클라우드에 준비된 현대적인 마이크로서비스 애플리케이션으로 마이그레이션할 때 고려해야 하는 실용적인 요소와 접근 방식을 다룬다.
12장, ‘Go가 나아갈 방향’에서는 전통적인 방식의 대안적 통신 프로토콜, AWS 외 기타 클라우드 제공자 및 차세대 빅 트렌드로 자리 잡을 새로운 아키텍처 패러다임과 같은 탐구할 가치가 있는 현대적인 클라우드 관련 기술을 다룬다.

지은이의 말

클라우드 컴퓨팅과 마이크로서비스는 현대 소프트웨어 아키텍처에서 아주 중요한 두 가지 개념이다. 이들은 소프트웨어 엔지니어들이 필요한 규모에 따라 확장 가능한 소프트웨어 애플리케이션 설계와 개발을 위해 습득해야 하는 핵심 기술이 됐다. Go는 현대적인 복수 플랫폼 지원 프로그래밍 언어로, 아주 강력하고 간결해서 마이크로서비스와 클라우드 애플리케이션 개발에 있어 최고의 선택지다. Go는 점점 더 인기를 얻고 있으며 Go로 애플리케이션을 개발하는 능력은 매력적인 개인 역량이 되고 있다.

이 책은 Go의 도움으로 마이크로서비스와 클라우드 컴퓨팅의 세계로 가는 여정에 여러분을 데려갈 것이다. 클라우드 애플리케이션의 소프트웨어 아키텍처 패턴을 다루는 것으로 시작하며 이런 애플리케이션을 어떻게 확장, 분산, 배포하는지에 관련된 실용적 개념들을 살펴본다. 그리고 실제 운영 환경 수준의 마이크로서비스 작성과 일반적인 클라우드 환경에 배포하는 데 필요한 기법과 설계 접근 방식들로 깊이 있게 들어간다. 이 책을 마치면 클라우드에 배포할 수 있는 효과적인 실제 운영 환경 수준의 마이크로서비스 작성 방법을 알고, 아마존 웹 서비스의 세계를 실제로 이해하며, Go 애플리케이션을 어떻게 만드는지 알게 될 것이다.

옮긴이의 말

처음 클라우드 컴퓨팅이란 단어를 접한 건 2008년 말 국내 신문기사에서 이 단어가 최초로 언급되기 시작할 때다. 당시에는 AWS만이 공용 클라우드 서비스를 제공하던 시기로, 클라우드의 개념 자체가 미리 준비된 공유형의 IT 자원을 필요 시 신속히 제공받고 사용한 만큼의 비용만 내는 구독 형태로, 기존에는 없던 서비스형 인프라를 말했다. 즉, 인프라가 중심인 클라우드 개념으로 앱은 손대지 않고 기존 구성 그대로 클라우드에 이전하면 자원을 탄력적으로 사용할 수 있어 IT 비용이 절감된다고 인식됐다. 하지만 클라우드로 기존 앱을 그대로 이전만 하면 IT 비용이 확 줄어들까?

안타깝게도 기업 내부의 IT 자원 제약 하에서 실행되던 전통적인 모놀리식 앱이 무제한의 클라우드 환경에서 할당된 자원을 점유하며 추가 자원을 사용하는 구조로 인해 실제 예상한 만큼의 비용 절감 효과를 얻기는 힘들다. 결국 기존 앱은 이 책의 제목과 같이 그 자체를 현대화해 오픈소스 기술 기반으로 클라우드 네이티브(최대한 활용)하게 탄력적으로 바뀌어야 한다. 현대적인 앱은 컨테이너 기반의 자원 격리 기술을 사용해 기존 VM 방식에 비해 훨씬 탄력적으로 사용한다. 전통적인 모놀리식 앱과는 다르게 마이크로서비스 아키텍처를 적용해 기능별 서비스 단위로 컨테이너화해 운영함으로써 특정 비즈니스 로직을 담고 있는 코드의 수정이 필요할 때 신속한 반영과 배포(CI/CD)가 가능하다. 또한 사용자 트래픽 증가에 따라 처리에 필요한 서비스만 빠른 자동 확장이 되는 구조다. 애자일 서비스 측면과 비용 측면 모두 만족시키는 온라인 비즈니스 플랫폼을 구축할 때의 피할 수 없는 선택지로 이 책이 그 기반을 다지는 데 많은 도움이 될 것이다.
펼쳐보기
저자 : 미나 안드라오스
(MINA ANDRAWOS)
GO 언어를 개인적, 전문적으로 사용해 깊은 경험을 쌓은 숙련된 엔지니어다. GO 언어에 대한 글과 교재를 정기적으로 저술하고 GO의 오픈소스 프로젝트를 공유하며 다양한 복잡도를 가진 수많은 GO 애플리케이션을 작성했다.
GO 이외에는 자바, C#, 파이썬, C++ 기술을 보유하고 있으며, 다양한 데이터베이스와 소프트웨어 아키텍처로 작업하고 있다. 또한 소프트웨어 개발을 위한 애자일 방법론에도 능숙하다. 소프트웨어 개발 외에는 스크럼 마스터링, 기술 영업, 소프트웨어 제품 관리에 대한 실무 경험이 있다.

저자 : 마틴 헬미크
(MARTIN HELMICH)
오스나브뤼크 응용과학 대학교에서 컴퓨터 과학을 전공했으며 독일의 라덴에 살고 있다. 웹 기술과 마이크로서비스 아키텍처를 사용하는 분산 애플리케이션 구축 전문의 소프트웨어 아키텍트다. 또한 GO, PHP, 파이썬, NODE.JS 프로그래밍 외에도 솔트스택과 같은 구성 관리 도구와 도커, 쿠버네티스 등의 컨테이너 기술을 사용해 인프라를 구축하고 있다.

역자 : 박병주
수능 시험 하루 전날 밤 늦게까지 전자오락실에서 격투 게임을 즐겼으며, 대학 시절 군 제대 후 C 언어와 어셈블리어를 독학해 286 PC의 MS-DOS 환경에서 돌아가는 격투 게임을 만들어 S/W 개발 공모전에 입상했다. IMF 이후 2000년 IT 버블 때 대기업 SI업체에 입사해 그룹사 대상으로 ERP 자체 개발, 오라클 DBA, SAP BC(ADMIN) 업무, 고성능 컴퓨팅과 VDI를 구축했다. 2011년 클라우드 대항해 시대를 맞이해 오픈스택 기반의 자체 프라이빗 클라우드 서비스로 AWS를 이겨야 하는 궁극의 미션을 수행하는 조직에 끌려가 전사했다. 늦은 나이에 뉴질랜드로 어학연수를 다녀온 후 현재는 기업들이 클라우드의 장점을 온전히 누리도록 클라우드 네이티브 기반의 앱 도입/구축을 기반으로 하는 하이브리드, 멀티클라우드 활용을 일선에서 돕고 있다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

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

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기