본문 바로가기

추천 검색어

실시간 인기 검색어

클라우드 네이티브 Go

동양북스

2023년 05월 03일 출간

종이책 : 2023년 04월 17일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (6.40MB)
ISBN 9791157689033
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
  • sam 무제한 이용가능
  • sam 프리미엄 이용가능

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

작품소개

이 상품이 속한 분야

도커(Docker), 쿠버네티스(Kubernetes), 프로메테우스(Prometheus) 같은 클라우드 네이티브 기술의 공통점은 무엇일까요? 바로 Go라는 프로그래밍 언어로 만들어졌다는 것입니다. 이 책은 Go의 장점을 활용해 예측할 수 없는 환경에서도 확장 가능하면서 탄력적인 클라우드 네이티브 서비스를 개발하는 방법을 알려줍니다. 특히 Go 프로그래밍 언어가 지닌 로 레벨의 특징, 미들레벨의 디자인 패턴, 하이레벨 아키텍처 고려 사항 등에 맞춘 애플리케이션의 구조과 구성을 확인할 수 있습니다.

이 책에서는 Go를 이용해 간단하지만 모든 기능을 갖춘 분산 키-값 저장소를 구축합니다. 저장소를 구축하면서 중급에서 고급 개발자까지 참고할 수 있는 클라우드 네이티브 관리와 배포 문제를 해결하는 모범 사례를 확인할 수 있습니다. 그리고 왜 클라우드 네이티브 서비스를 개발하는 프로그래밍 언어로 Go를 채택했는지를 자연스럽게 알 수 있습니다.
Part 1 클라우드 네이티브로의 변화

1장 클라우드 네이티브 애플리케이션이란?
1.1 지금까지의 이야기
1.2 클라우드 네이티브란 무엇인가?
1.2.1 확장성
1.2.2 느슨한 결합
1.2.3 탄력성
1.2.4 관리 용이성
1.2.5 관찰 가능성
1.3 클라우드 네이티브는 왜 중요한가?
요약

2장 왜 Go가 클라우드 네이티브 세상을 지배하는가?
2.1 Go를 만들게 된 계기
2.2 클라우드 네이티브 세계를 위한 기능
2.2.1 컴포지션과 구조 타이핑
2.2.2 이해하기 쉬운 언어
2.2.3 CSP 스타일의 동시성
2.2.4 빠른 빌드 속도
2.2.5 언어의 안정성
2.2.6 메모리 보안
2.2.7 성능
2.2.8 정적 링크
2.2.9 정적 타이핑
요약

Part 2 클라우드 네이티브 Go의 구성

3장 Go 프로그래밍 기초
3.1 기본 데이터 타입
3.1.1 불린
3.1.2 간단한 숫자
3.1.3 복소수
3.1.4 문자열
3.2 변수
3.2.1 단축 변수 선언
3.2.2 제로값
3.2.3 공백 식별자
3.2.4 상수
3.3 컨테이너 타입: 배열, 슬라이스, 맵
3.3.1 배열
3.3.2 슬라이스
3.3.3 맵
3.4 포인터
3.5 제어 구조
3.5.1 for의 재미
3.5.2 if 구문
3.5.3 switch 구문
3.6 에러 제어
3.6.1 에러 정의하기
3.7 함수에 재미를 더하기: 가변인자와 클로저
3.7.1 함수
3.7.2 가변인자 함수
3.7.3 익명 함수와 클로저
3.8 구조체, 메서드, 인터페이스
3.8.1 구조체
3.8.2 메서드
3.8.3 인터페이스
3.8.4 타입 임베딩을 통한 컴포지션
3.9 장점: 동시성
3.9.1 고루틴
3.9.2 채널
3.9.3 Select
요약

4장 클라우드 네이티브 패턴
4.1 Context 패키지
4.1.1 Context가 하는 일
4.1.2 Context 생성
4.1.3 Context 종료 시점과 타임아웃 정의
4.1.4 요청 범위 값의 정의
4.1.5 Context 사용하기
4.2 이 장의 구성
4.3 안정성 패턴
4.3.1 서킷 브레이커
4.3.2 디바운스
4.3.3 재시도
4.3.4 스로틀
4.3.5 타임아웃
4.4 동시성 패턴
4.4.1 팬인
4.4.2 팬아웃
4.4.3 퓨처
4.4.4 샤딩
요약

5장 클라우드 네이티브 서비스 구축
5.1 서비스를 만들어봅시다
5.1.1 키-값 저장소란?
5.2 요구사항
5.2.1 멱등성이란 무엇이고 왜 중요할까?
5.2.2 궁극적인 목표
5.3 제너레이션 0: 핵심 기능
5.3.1 아주 간단한 API
5.4 제너레이션 1: 모놀리스
5.4.1 net/http 패키지를 이용한 HTTP 서버 구성
5.4.2 gorilla/mux 패키지를 이용한 HTTP 서버 구성
5.4.3 RESTful 서비스 만들기
5.4.4 동시성 이슈로부터 안전한 데이터 구조 만들기
5.5 제너레이션 2: 리소스 상태 유지
5.5.1 트랜잭션 로그란 무엇일까?
5.5.2 트랜잭션 로그 파일에 상태 저장하기
5.5.3 외부 데이터베이스에 상태 저장하기
5.6 제너레이션 3: 전송 계층 보안 구현
5.6.1 전송 계층 보안
5.6.2 사설키와 인증서 파일
5.6.3 웹 서비스를 HTTPS로 보호하기
5.6.4 전송 계층 요약
5.7 키-값 저장소의 컨테이너화
5.7.1 생초보를 위한 도커 기초
5.7.2 키-값 저장소 컨테이너 만들기
5.7.3 컨테이너 데이터의 외부화
요약

Part 3 클라우드 네이티브 특징

6장 신인성
6.1 클라우드 네이티브의 핵심은 무엇인가?
6.2 가장 중요한 것은 신인성이다
6.3 신인성은 무엇이고 왜 중요한가?
6.3.1 신인성: 더 이상 운영만을 위한 것이 아니다
6.4 신인성 확보
6.4.1 결함 예방
6.4.2 결함 감내
6.4.3 결함 제거
6.4.4 결함 예측
6.5 The Twelve-Factor App과의 지속적인 관련성
6.5.1 코드베이스
6.5.2 의존성
6.5.3 설정
6.5.4 백엔드 서비스
6.5.5 빌드, 릴리즈, 실행
6.5.6 프로세스
6.5.7 데이터 격리
6.5.8 확장성
6.5.9 폐기 가능성
6.5.10 개발/프로덕션 환경 일치
6.5.11 로그
6.5.12 관리 프로세스
요약

7장 확장성
7.1 확장성이란 무엇일까?
7.1.1 다양한 형태의 확장
7.2 4가지 대표적인 병목
7.3 스테이트와 스테이트리스
7.3.1 애플리케이션 스테이트와 리소스 스테이트의 차이
7.3.2 스테이트리스의 장점
7.4 지연된 확장: 효율성
7.4.1 LRU 캐시를 이용한 효율적 캐싱
7.4.2 효율적인 동기화
7.4.3 메모리 릭
7.4.4 효율성이란
7.5 서비스 아키텍처
7.5.1 모놀리스 시스템 아키텍처
7.5.2 마이크로서비스 시스템 아키텍처
7.5.3 서버리스 아키텍처
요약

8장 느슨한 결합
8.1 강한 결합
8.1.1 강한 결합의 다양한 형태
8.2 서비스 간의 통신
8.3 요청-응답 메시징
8.3.1 일반적인 요청-응답 구현
8.3.2 net/http 패키지를 이용한 HTTP 요청 발행
8.3.3 gRPC를 이용한 원격 프로시저 호출
8.4 플러그인을 이용한 로컬 리소스의 느슨한 결합
8.4.1 플러그인 패키지를 통한 프로세스 내부 플러그인
8.4.2 RPC를 이용한 해시코프의 Go 플러그인 시스템
8.5 육각형 아키텍처
8.5.1 아키텍처
8.5.2 육각형 서비스 구현
요약

9장 탄력성
9.1 왜 탄력성이 문제인가
9.2 시스템이 실패한다는 의미는 무엇인가?
9.2.1 탄력성을 높이는 여러 가지 방법
9.3 연쇄적인 실패
9.3.1 과부하 방지
9.4 다시 시도하기: 요청 재시도
9.4.1 백오프 알고리즘
9.4.2 서킷 브레이킹
9.4.3 타임아웃
9.4.4 멱등법칙
9.5 서비스 중복성
9.5.1 중복성을 위한 설계
9.5.2 오토스케일링
9.6 건강한 헬스 체크
9.6.1 인스턴스가 ‘건강하다’는 것은 어떤 의미일까?
9.6.2 헬스 체크의 세 가지 타입
9.6.3 페일 오픈
요약

10장 관리 용이성
10.1 관리 용이성은 무엇이고 왜 신경 써야 할까요?
10.2 애플리케이션 설정하기
10.2.1 설정 모범 사례
10.2.2 환경 변수를 이용한 설정
10.2.3 커맨드라인 인자를 이용한 설정
10.2.4 파일을 이용한 설정
10.2.5 Viper: 설정 패키지를 위한 스위스 군용 칼
10.3 피처 플래그를 이용한 기능 관리
10.3.1 기능 플래그의 진화
10.3.2 제너레이션 0: 초기 구현
10.3.3 제너레이션 1: 하드코딩된 피처 플래그
10.3.4 제너레이션 2: 설정할 수 있는 플래그
10.3.5 제너레이션 3: 동적인 피처 플래그
요약

11장 관찰 가능성
11.1 관찰 가능성이란 무엇인가?
11.1.1 관찰 가능성은 왜 필요한가?
11.1.2 관찰 가능성은 ‘전통적인’ 모니터링과 어떻게 다른가?
11.2 관찰 가능성의 세 가지 기둥
11.3 OpenTelemetry
11.3.1 OpenTelemetry 컴포넌트
11.4 트레이싱
11.4.1 트레이싱의 개념
11.4.2 OpenTelemetry를 이용한 트레이싱
11.4.3 모두 하나로 합치기: 트레이싱
11.5 지표
11.5.1 푸시, 풀 방식의 지표 수집 비교
11.5.2 OpenTelemetry의 지표
11.5.3 모두 하나로 합치기: 지표
11.6 로깅
11.6.1 로깅 모범 사례
11.6.2 Go 표준 로그 패키지를 이용한 로깅
11.6.3 Zap 로깅 패키지
요약

클라우드는 모든 인프라 리소스의 가상화를 표방하며 등장해 한정된 자원에 대한 활용도를 극대화했습니다. 그렇지만 여전히 레거시 인프라가 만들어두었던 개념과 틀을 벗어나지 못하는 경우가 많았고, 가상화 계층 때문에 발생하는 여러 가지 인프라 관점의 불이익에 대한 불만의 목소리도 상존했습니다. 왜 이런 현상이 일어난 것일까요? 여느 사회적 변화와 마찬가지로 클라우드가 탄생했다고 하여 기존에 사용되던 모든 것이 어느 날 아침에 바뀔 수는 없었기 때문입니다. 초기 클라우드는 레거시 인프라와 굉장히 많이 닮아 있었고 일부 영역에서의 변화 정도로 받아들여졌던 것이 큰 이유라고 생각합니다. 클라우드라는 구름을 살짝 걷어 내보니 약간 달라 보일 뿐 그동안 익숙했던 것과 크게 다르지 않다는 것을 사람들이 알아챘던 것입니다

이 책은 왜 Go가 클라우드 혹은 클라우드만을 위한 프로그래밍 언어로 최적의 선택인지를 차근차근 풀어나갑니다. 어떠한 언어적 특성이 Go를 클라우드에 최적화된 프로그래밍 언어로 만들어주는 것일까요? 도대체 클라우드가 가진 특징이 무엇이길래 그에 걸맞은 산출물을 만들 수 있는 프로그래밍 언어의 탄생을 고대하게 만든 것일까요? 이 책의 저자 매튜 A. 티트무스는 기본적인 Go의 특징을 가볍게 살펴보고, Go의 어떤 특성으로 개발된 소프트웨어 산출물이 클라우드 환경에서 최적의 효용성을 만들어내는지 차근차근 풀어나갑니다.

Go에 익숙하지 않더라도 다른 프로그래밍 언어에 어느 정도 숙달된 독자라면 어렵지 않게 이 책의 내용을 이해할 수 있을 것으로 믿어 의심치 않습니다. 책의 마지막 장을 덮을 즈음에는 여러분 머릿속 가득 Go의 코드들이 난장을 펼치고 있길 기대해봅니다!

이 책의 특징
ㆍ 클라우드 네이티브 애플리케이션이 다른 소프트웨어 아키텍처와 어떻게 다른지 확인합니다.
ㆍ Go 프로그래밍 언어를 이용해 확장 가능한 분산 서비스를 설계하는 방법을 이해합니다.
ㆍ 채널이나 고루틴 같은 Go의 로 레벨 특징을 활용해 안정적인 클라우드 네이티브 서비스를 구현하는 방법을 익힙니다.
ㆍ ‘서비스 안정성’의 개념을 익히고, ‘클라우드 네이티브’와 어떤 관계가 있는지 알아봅니다.
ㆍ 다양한 패턴, 추상화, 도구를 적용하여 복잡한 분산 시스템을 구축하고 관리하는 방법이 무엇인지 알아봅니다.

작가정보

분자 생물학 학위를 취득한 경험이 있는 소프트웨어 개발 업계의 전문가입니다. 클라우드 네이티브 기술과 Go 프로그래밍 언어의 얼리 어답터이자 옹호자이며, 프로덕션 품질 시스템 구축에 필요한 사항에 관해 열정적인 관심이 있습니다. 분산 시스템을 관찰하고 조정하는 전략을 구현하는 데 많은 시간을 보내는 중입니다.

눈물 없이 볼 수 없는 한 편의 뮤직비디오 같은 인생을 만드느라 바쁜 센티멘털리스트. 삼성네트웍스, SK텔레콤, 아카마이 코리아를 거치면서 개발자, 프로젝트 매니저, 제품 오너, 솔루션 아키텍트 등 다양한 영역에서 자신을 시험해보고 있습니다. 현재는 라인플러스에서 사용자가 서비스를 보다 쾌적하게 사용할 수 있도록 글로벌 트래픽에 관한 업무를 수행하는 중입니다. 집필한 도서로 『나는 LINE 개발자입니다』(한빛미디어, 2019, 공저), 『슬랙으로 협업하기』(위키북스, 2017), 『소셜 네트워크로 세상을 바꾼 사람들』(길벗, 2013) 등이 있습니다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

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

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    클라우드 네이티브 Go 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    클라우드 네이티브 Go 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    클라우드 네이티브 Go
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)