Top

쿠버네티스로 만나는 손안의 마이크로서비스 [마이크로서비스 구축, 배포, 관리까지]

  • 원서명Hands-On Microservices with Kubernetes: Build, deploy, and manage scalable microservices on Kubernetes (ISBN 9781789805468)
  • 지은이기기 사이판(Gigi Sayfan)
  • 옮긴이황주필
  • ISBN : 9791161753881
  • 40,000원
  • 2020년 02월 28일 펴냄
  • 페이퍼백 | 628쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 소프트웨어 아키텍처

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

쿠버네티스는 애플리케이션의 배포, 스케일링, 운영을 자동화해서 컨테이너 중심 인프라를 제공하는 가장 인기 있는 오픈 소스 플랫폼이다. 실제 환경에서 쿠버네티스를 이용해 마이크로서비스를 개발해 보면서 시너지 효과에 대한 심층적인 통찰력을 제공한다. 애플리케이션의 맥락에서 마이크로서비스와 쿠버네티스 개념을 이해하는 데 도움이 된다. 다음으로 CI/CD 파이프 라인을 설정하고 쿠버네티스 컨피그맵으로 마이크로서비스를 구성해 개발 속도를 높일 수 있다. 또한, 마이크로서비스 보안, REST, gRPC API, 데이터 저장소 구현에 대한 실무 경험을 얻을 수 있다. 쿠버네티스에서 마이크로서비스를 배포하고 모니터링하면서 서비스 메시의 중요성과 클러스터에 통합하는 방법을 알아본다.

이 책에서 다루는 내용

■ 쿠버네티스와 마이크로서비스의 시너지 이해
■ 쿠버네티스에서 마이크로서비스를 위한 완전한 CI/CD 파이프라인 생성
■ 모범 사례로 Go-Kit 프레임워크를 사용해 쿠버네티스에서 마이크로서비스 개발
■ 쿠버네티스와 오픈 소스 도구를 사용한 시스템 관리와 모니터링
■ REST와 gRPC API로 서비스 노출
■ 서버리스 함수를 서비스로 구현, 배포
■ 외부 인증/인가 사용과 서비스 메시를 사용한 트래픽 셰이핑
■ 구글 쿠버네티스 엔진(GKE) 클라우드에서 쿠버네티스 클러스터 실행

이 책의 대상 독자

대규모 소프트웨어 엔지니어링을 하려는 개발자와 데브옵스 엔지니어를 대상으로 한다. 하나 이상의 시스템에서 컨테이너를 사용해 배포해봤으며 여러 팀에서 개발한 대규모 소프트웨어 시스템을 개발한 경험이 있다면 도움이 될 것이다.

이 책의 구성

1장, ‘개발자를 위한 쿠버네티스 소개’에서는 쿠버네티스를 소개한다. 쿠버네티스의 간단한 소개와 쿠버네티스가 마이크로서비스와 얼마나 잘 조화되는지 그 아이디어를 얻게 될 것이다.
2장, ‘마이크로서비스 시작’에서는 마이크로서비스 기반 시스템의 일반적인 문제의 다양한 측면, 패턴, 접근 방식과 모놀리스를 대규모 서비스 같은 다른 일반적인 아키텍처와 비교하는 방법을 설명한다.
3장, ‘Delinkcious - 샘플 애플리케이션’에서는 Go를 Delinkcious의 프로그래밍 언어로 선택해야 하는 이유를 설명한다. 그런 다음 Go-kit을 살펴볼 것이다.
4장, ‘CI/CD 파이프 라인 설정’에서는 CI/CD 파이프라인이 해결하는 문제를 설명하고 쿠버네티스의 CI/CD 파이프라인에 관한 다양한 옵션을 다룬다. 마지막으로 Delinkcious를 위한 CI/CD 파이프라인 구축을 살펴본다.
5장, ‘쿠버네티스를 사용한 마이크로서비스 구성’에서는 실용적이고 실제적인 마이크로서비스 구성 영역을 살펴본다. 또한 쿠버네티스 관련 옵션, 특히 컨피그맵(ConfigMap)을 설명한다.
6장, ‘쿠버네티스에서 마이크로서비스 보안’에서는 쿠버네티스에서 마이크로서비스를 심층적으로 보호하는 방법을 설명한다. 또한 쿠버네티스에서 마이크로서비스 보안의 기반이 되는 원칙도 논의한다.
7장, ‘외부와 통신- API와 로드밸런서’에서는 Delinkcious를 클러스터 외부에서 사용자와 상호작용할 수 있게 하는 것을 살펴본다. 또한 사용자가 다른 사용자에 대한 뉴스를 얻고자 할 때 이용할 수 있는 gRPC 기반 뉴스 서비스를 추가할 것이다. 마지막으로 서비스가 느슨하게 연결된 방식으로 통신할 수 있도록 메시지 대기열을 추가할 것이다.
8장, ‘스테이트풀 서비스 사용하기’에서는 쿠버네티스 스토리지 모델을 설명한다. 또한 Delinkcious 뉴스 서비스를 확장해 데이터를 메모리 대신 Redis에 저장한다.
9장, ‘쿠버네티스에서 서버리스 작업 실행’에서는 클라우드 네이티브 시스템에서 가장 인기 있는 트렌드인 서버리스 컴퓨팅을 소개한다. 쿠버네티스에서 서버리스 컴퓨팅을 수행하는 다른 방법도 다룬다.
10장, ‘마이크로서비스 테스트’에서는 테스트 주제와 다양한 특징(단위 테스트, 통합 테스트, 모든 종류의 종단 간(end-to-end) 테스트)을 소개한다. 또한 Delinkcious 테스트가 구성되는 방법도 자세히 살핀다.
11장, ‘마이크로서비스 배포’에서는 프로덕션 배포와 개발 배포라는, 관련이 있지만 별도인 두 가지 테마를 다룬다.
12장, ‘모니터링, 로깅, 메트릭’에서는 쿠버네티스에서 대규모 분산 시스템을 실행하는 운영 측면과 시스템 설계 방법 그리고 최고 수준의 운영 환경을 보장하기 위해 고려해야 할 사항에 중점을 둔다.
13장, ‘서비스 메시-이스티오’에서는 서비스 메시의 뜨거운 주제인 이스티오(Istio)를 검토한다. 서비스 메시가 진정한 판도를 바꾸는 것이기 때문에 흥미로울 것이다.
14장, ‘마이크로서비스와 쿠버네티스의 미래’에서는 쿠버네티스와 마이크로서비스를 다루며 새로운 기술을 채택하고 투자할 적절한 시기를 결정하는 방법을 배우도록 도와줄 것이다.

저자/역자 소개

지은이의 말

이 책은 바로 여러분이 기다리던 책이다. 마이크로서비스를 개발하고 쿠버네티스에 배포하는 두 가지 과정을 안내한다. 마이크로서비스 기반 아키텍트와 쿠버네티스의 시너지 효과는 매우 강력하다. 이 책은 모든 각도를 망라하고 있다. 마이크로서비스와 쿠버네티스의 기본 개념을 설명하고, 실제 문제와 장단점을 알아본 후, 척척 만들어지는 마이크로서비스 기반 시스템의 개발 과정을 안내하고 모범 사례와 권장 사항을 제공한다.
엄청난 양의 근거를 아주 깊이 있게 설명하기 위한 작업 코드를 다룬다. 마이크로서비스 기반 아키텍트를 설계하고, 마이크로서비스를 만들고, 만들어진 마이크로서비스를 테스트하고, 도커 이미지로 패키징하는 방법을 알게 될 것이다. 그런 다음 도커 이미지 패키지로 시스템을 쿠버네티스에 배포하며 관리하는 방법을 배우게 될 것이다.
그 과정에서 자동화된 CI/CD, gRPC 기반 마이크로서비스, 서버리스(serverless) 컴퓨팅, 서비스 메시와 같은 중요한 트렌드에 익숙해질 것이다. 끝에서는 쿠버네티스에 배포된 마이크로서비스 기반 아키텍트를 사용해 대규모 클라우드 네이티브 시스템을 계획, 개발, 운영할 수 있는 많은 지식과 실무 경험을 얻게 될 것이다

지은이 소개

기기 사이판(Gigi Sayfan)

생물 정보학과 유전체학 스타트업인 헬릭스(Helix)의 수석 소프트웨어 아키텍트다. 『쿠버네티스 마스터 2/e』(에이콘, 2018)의 저자이기도 하다. 인스턴트 메시징, 모핑, 칩 제조 공정 제어, 게임 콘솔용 임베디드 멀티미디어 애플리케이션과 뇌에서 영감을 얻은 머신러닝과 같은 다양한 분야에서 20년 이상 전문 소프트웨어를 개발해왔다. Windows, Linux, MacOS, Lynx, Sony PlayStation과 같은 운영체제를 위해 Go, Python, C#, Java, Delphi, JavaScript, Cobol, PowerBuilder를 포함한 많은 프로그래밍 언어로 코드를 작성했다. 데이터베이스, 저수준 네트워킹, 정통 사용자 인터페이스, 일반 SDLC 전문 지식을 갖추고 있다.

옮긴이의 말

쿠버네티스는 굉장히 방대한 플랫폼이다. 쿠버네티스 하나만 자세히 알기에도 벅차다. 하지만 쿠버네티스에 애플리케이션을 배포, 운영하려고 한다면 고민해야 할 부분이 무척 많을 것이다. 국내에 수많은 쿠버네티스 관련 서적이 나와 있기는 하지만 쿠버네티스 자체 기능과 쿠버네티스에 애플리케이션을 배포하고 관리하는 방법에만 초점을 맞추고 있다. 이 책은 저자의 다양한 경험을 통해 마이크로서비스 아키텍트(MSA) 기반 애플리케이션을 쿠버네티스에 적용하기 위한 다양한 사례를 솔직하게 이야기하고 있어서 좋았다.
한 가지 단점 아닌 단점이라고 한다면, 아직까지 국내에서는 Java를 이용해 애플리케이션을 개발하는 경우가 많다. 그러나 이 책에서는 Go를 애플리케이션 개발 언어로 사용해, Go 언어에 익숙하지 않은 개발자나 운영자에게는 고민이 될 수도 있다.
그렇지만 Go뿐만 아니라 파이썬(Python), 러스트(Rust) 등의 다양한 언어도 사용한다. 어렵게 생각하지 말고 그 부분은 과감하게 건너뛰어도 상관이 없으므로 큰 부담을 갖지 않았으면 좋겠다. 마이크로서비스 애플리케이션을 만드는 방법을 알고자 하는 독자에게는 이 책의 앞 부분이 도움이 될 것이고, 마이크로서비스 아키텍트 입장에서 쿠버네티스와 다양한 툴 (CI/CD, Serverless, 모니터링, 서비스 메시 등)을 활용하는 방법을 자세히 알고 싶다면 중반 이후가 유용할 것이다.

옮긴이 소개

황주필

IT 기업에서 개발자로 시작해 BEA Systems, Oracle 등에서 소프트웨어 아키텍트, 엔지니어로 일했다. 수많은 기업에서 기업용 소프트웨어에 대한 지원과 비즈니스 적용을 도왔다. 컨테이너에 관심이 많아 쿠버네티스 생태계에 참여하고 있으며 클라우드 네이티브 애플리케이션(Cloud Native Application)의 개발과 운영을 돕고 있다. 현재 피보탈(Pivotal)에서 플랫폼 아키텍트로 일하며 수많은 고객이 클라우드와 플랫폼 그리고 마이크로서비스 아키텍트로 디지털 트랜스포메이션을 성공적으로 할 수 있도록 돕고 있다.

목차

목차
  • 1장. 개발자를 위한 쿠버네티스 소개
    • 기술 요구 사항
      • 도커 설치
      • Kubectl 설치
      • Minikube 설치
      • 코드
    • 간결한 쿠버네티스
      • 쿠버네티스-컨테이너 오케스트레이션 플랫폼
      • 쿠버네티스의 역사
      • 쿠버네티스의 현재
    • 쿠버네티스 구조의 이해
      • 컨트롤 플레인
      • 데이터 플레인
    • 쿠버네티스와 마이크로서비스-완벽한 조합
      • 마이크로서비스 패키징과 배포
      • 마이크로서비스 노출과 디스커버리
      • 마이크로서비스 보안
      • 마이크로서비스 인증과 인가
      • 마이크로서비스 업그레이드
    • 로컬 클러스터 생성
      • 클러스터 확인
      • 클러스터 사용하기
      • Helm 설치
    • 요약
    • 추가 자료

  • 2장. 마이크로서비스 시작
    • 기술 요구 사항
      • macOS에 Homebrew로 Go 설치
      • 다른 플랫폼에 Go 설치
      • 코드
    • 마이크로 프로그래밍- 적을수록 더 좋다
    • 마이크로서비스 자율화
    • 인터페이스 및 계약 사용
    • API로 서비스 노출
    • 클라이언트 라이브러리 사용
    • 종속성 관리
    • 마이크로서비스 코디네이팅
      • 균일성과 유연성 절충
    • 소유권의 이점 활용
    • 콘웨이의 법칙 이해
      • 수직
      • 수평
      • 메트릭스
    • 여러 서비스의 문제 해결
    • 공유 서비스 라이브러리 활용
    • 소스 제어 전략 선택
      • 단일 저장소
      • 여러 저장소
      • 하이브리드
    • 데이터 전략 생성
      • 마이크로서비스당 하나의 데이터 저장소
      • 분산 쿼리 실행
      • 사가를 사용해 여러 서비스 간의 트랜잭션 관리
    • 요약
    • 추가 자료

  • 3장. Delinkcious-샘플 애플리케이션
    • 기술 요구 사항
      • 비주얼 스튜디오 코드
      • GoLand
      • LiteIDE
      • 기타 옵션
      • 코드
    • Delinkcious를 위한 Go 선택
    • Go kit의 이해
      • Go kit으로 마이크로서비스 구조화
      • 전송
      • 엔드포인트
      • 서비스
      • 미들웨어
      • 클라이언트
      • 상용구 생성
    • Delinkcious 디렉터리 구조 소개
      • cmd 하위 디렉터리
      • pkg 하위 디렉터리
      • svc 하위 디렉터리
    • Delinkcious 마이크로서비스 소개
      • 객체 모델
      • 서비스 구현
      • 지원 함수 구현
      • 클라이언트 라이브러리로 API 호출
    • 데이터 저장
    • 요약
    • 추가 자료

  • 4장. CI/CD 파이프라인 시작
    • 기술 요구 사항
      • 코드
    • CI/CD 파이프라인 이해
    • Delinkcious CI/CD 파이프라인 선택
      • 젠킨스 X
      • 스피너커
      • 트래비스 CI와 CircleCI
      • 텍톤
      • Argo CD
      • 자체 솔루션
    • GitOps
    • CircleCI로 이미지 생성
      • 소스 트리 검토
      • CI 파이프라인 구성
      • build.sh 스크립트 이해
      • CircleCI UI
      • 향후 개선 고려
    • Delinkcious에 대한 지속적인 배포 설정
      • 분리형 마이크로서비스 배포
      • Argo CD 이해
      • Argo CD 시작하기
      • Argo CD 구성
      • Argo CD 탐색
    • 요약
    • 추가 자료

  • 5장. 쿠버네티스로 마이크로서비스 구성
    • 기술 요구 사항
      • 코드
    • 구성이란 무엇인가?
      • 구성과 시크릿
    • 옛날 방식 구성 관리
      • 구성 협약
      • 명령줄 플래그
      • 환경변수
      • 구성 파일
      • 하이브리드 구성 및 기본값
      • 12가지 애플리케이션 구성법
    • 동적으로 구성 관리
      • 동적 구성 이해
      • 원격 구성 저장소
      • 원격 구성 서비스
    • 쿠버네티스로 마이크로서비스 구성
      • 쿠버네티스 컨피그 맵 작업
      • 쿠버네티스 사용자 정의 리소스
      • 서비스 디스커버리
    • 요약
    • 추가 자료

  • 6장. 쿠버네티스의 마이크로서비스 보안
    • 기술 요구 사항
      • 코드
    • 건전한 보안 원칙 적용
    • 사용자 어카운트와 서비스 어카운트의 차별화
      • 사용자 어카운트
      • 서비스 어카운트
    • 쿠버네티스로 시크릿 관리
      • 쿠버네티스 시크릿의 세 가지 유형 이해
      • 시크릿 만들기
      • 컨테이너로 시크릿 전달
      • 안전한 포드 만들기
    • 역할 기반 액세스 제어 모델을 통한 권한 관리
    • 인증, 인가, 어드미션으로 액세스 제어
      • 마이크로서비스 인증
      • 마이크로서비스 인가
      • 마이크로서비스 어드미션
    • 보안 모범 사례를 사용해 쿠버네티스 클러스터 강화
      • 이미지 보안
      • 네트워크 분할 정복
      • 이미지 레지스트리 보호
      • 필요에 따라 쿠버네티스 리소스의 액세스 권한 부여
      • 쿼터를 사용해 피해 반경 최소화
      • 보안 컨텍스트 구현
      • 보안 정책으로 포드 강화
    • 툴 체인 강화
      • JWT 토큰으로 관리자 인증
      • RBAC로 인가
      • HTTPS로 안전한 통신
      • 시크릿 및 자격증명 관리
      • 감사
      • 클러스터 RBAC
    • 요약
    • 추가 자료

  • 7장. 외부와 통신-API와 로드밸런서
    • 기술 요구 사항
      • 코드
    • 쿠버네티스 서비스 익숙해지기
      • 쿠버네티스의 서비스 유형
    • East-west와 north-south 통신 비교
    • 인그레스와 로드밸런싱 이해
    • 공개 REST API 제공과 소비
      • 파이썬 기반 API 게이트웨이 서비스 구축
      • 인그레스 추가
      • API 게이트웨이가 클러스터 외부에서 사용 가능한지 확인
    • 내부 gRPC API 제공 및 소비
      • NewsManager 인터페이스 정의
      • 뉴스 관리자 패키지 구현
      • gRPC 서비스로 NewsManager 노출
    • 메시지 대기열로 이벤트 전송 및 수신
      • NATS란?
      • 클러스터에 NATS 배포
      • NATS로 링크 이벤트 보내기
      • NATS의 링크 이벤트 구독
      • 링크 이벤트 처리
    • 서비스 메시 이해
    • 요약
    • 추가 자료

  • 8장. 스테이트풀 서비스 사용하기
    • 기술 요구 사항
      • 코드
    • 스토리지 추상화
      • 쿠버네티스 스토리지 모델
      • 내부 및 외부 스토리지 플러그인
      • CSI 이해
    • 쿠버네티스 클러스터 외부에 데이터 저장
    • 스테이트풀 셋을 사용해 클러스터 내부에 데이터 저장
      • 스테이트풀 셋 이해
      • 언제 스테이트풀 셋을 사용해야 하나?
      • 대용량 스테이트풀 셋 예제
    • 로컬 스토리지로 고성능 달성
      • 메모리에 데이터 저장
      • 로컬 SSD에 데이터 저장
    • 쿠버네티스에서 관계형 데이터베이스 사용
      • 데이터가 저장되는 위치
      • 디플로이먼트 및 서비스 사용
      • 스테이트풀 셋 사용
      • 사용자 서비스가 스테이트풀 셋 포드를 찾는 데 도움
      • 스키마 변경 관리
    • 쿠버네티스에서 비관계형 데이터 저장소 사용
      • 레디스 소개
    • 요약
    • 추가 자료

  • 9장. 쿠버네티스에서 서버리스 작업 실행
    • 기술 요구 사항
      • 코드
    • 클라우드에서 서버리스
      • 마이크로서비스와 서버리스 함수
      • 쿠버네티스에서 서버리스 함수 모델링
      • 서버리스 함수 빌드, 구성, 배포
      • 서버리스 함수 호출
    • Delinkcious의 링크 검증
    • 링크 점검 설계
      • 링크 검증 구현
    • Nuclio를 통한 서버리스 링크 검증
      • Nuclio 간단 소개
      • 링크 검증 서버리스 함수 만들기
      • nuctl을 사용해 링크 검증 함수 배포
      • Nuclio 대시보드를 사용해 함수 배포
      • 링크 검증 함수 직접 호출
      • LinkManager에서 링크 검증 시작
    • 다른 쿠버네티스 서버리스 프레임워크
      • 쿠버네티스 잡과 크론잡
      • KNative
      • Fission
      • Kubeless
      • OpenFaas
    • 요약
    • 추가 자료

  • 10장. 마이크로서비스 테스트
    • 기술 요구 사항
    • 단위 테스트
      • Go에서 단위 테스트
      • Ginkgo와 Gomega로 단위 테스트
      • Delinkcious 단위 테스트
      • 멋진 모의 구현
      • 모든 것을 테스트해야 하나?
    • 통합 테스트
      • 테스트 데이터베이스 초기화
      • 서비스 실행
      • 실제 테스트 실행
      • 데이터베이스 테스트 헬퍼 구현
      • 서비스 테스트 헬퍼 구현
    • 쿠버네티스로 로컬 테스트
      • 스모크 테스트 작성
      • 텔레프레즌스
      • 라이브 디버깅을 위해 GoLand로 로컬 링크 서비스에 연결
    • 테스트 격리
      • 테스트 클러스터
      • 네임스페이스 테스트
      • 크로스 네임스페이스/클러스터
    • 종단 간 테스트
      • 승인 테스트
      • 회귀 테스트
      • 성능 시험
    • 테스트 데이터 관리
      • 합성 데이터
      • 수동 테스트 데이터
      • 프로덕션 스냅샷
    • 요약
    • 추가 자료

  • 11장. 마이크로서비스 배포
    • 기술 요구 사항
      • 코드
    • 쿠버네티스 디플로이먼트
    • 여러 환경에 배포
    • 배포 전략 이해
      • 재생성 배포
      • 롤링 업데이트
      • 블루-그린 배포
      • 카나리아 배포
    • 배포 롤백
      • 표준 쿠버네티스 디플로이먼트 롤백
      • 블루-그린 배포 롤백
      • 카나리아 배포 롤백
      • 스키마, API, 페이로드 변경 후 롤백 처리
    • 버전과 종속성 관리
      • 공개 API 관리
      • 서비스 간 종속성 관리
      • 타사 종속성 관리
      • 인프라와 툴체인 관리
    • 로컬 개발 배포
      • Ko
      • Ksync
      • 드래프트
      • 스카폴드
      • 틸트
    • 요약
    • 추가 자료

  • 12장. 모니터링, 로깅 그리고 메트릭
    • 기술 요구 사항
      • 코드
    • 쿠버네티스로 자가 치유
      • 컨테이너 고장
      • 노드 장애
      • 시스템 고장
    • 쿠버네티스 클러스터 오토 스케일링
      • 수평 포드 오토 스케일링
      • 수평 포드 오토 스케일러 사용
      • 클러스터 오토 스케일링
      • 수직 포드 오토 스케일링
    • 쿠버네티스에 리소스 프로비저닝
      • 어떤 리소스를 프로비저닝할까?
      • 컨테이너 제한 정의
      • 리소스 쿼터 지정
      • 수동 프로비저닝
      • 오토 스케일링 사용
      • 자신만의 오토 프로비저닝 사용
    • 올바른 성능 얻기
      • 성능과 사용자 경험
      • 성능과 고가용성
      • 성능과 비용
      • 성능과 보안
    • 로깅
      • 무엇을 로깅해야 할까?
      • 로깅 대 오류 보고
      • 완벽한 Go 로깅 인터페이스를 위한 노력
      • Go-kit으로 로깅
    • 쿠버네티스에서 메트릭 수집
      • 쿠버네티스 메트릭스 API 소개
      • 쿠버네티스 메트릭 서버 이해
      • 프로메테우스 사용
    • 경보
      • 구성 요소 장애 수용
      • 시스템 장애 수용
      • 인적 요인 고려
      • 프로메테우스 경보 관리자 활용
    • 분산 추적
      • 예거 설치
      • 서비스에 추적 추가
    • 요약
    • 추가 자료

  • 13장. 서비스 메시-이스티오
    • 기술 요구 사항
      • 코드
    • 서비스 메시란 무엇인가?
      • 모놀리스와 마이크로서비스 비교
      • 공유 라이브러리를 사용해 마이크로서비스의 교차 문제 관리
      • 서비스 메시를 사용해 마이크로서비스의 교차 문제 관리
      • 쿠버네티스와 서비스 메시의 관계 이해
    • 이스티오는 무엇을 제공하는가?
      • 이스티오 아키텍처 알아보기
      • 이스티오로 트래픽 관리
      • 이스티오로 클러스터 보안
      • 이스티오 정책 적용
      • 이스티오로 메트릭 수집
      • 이스티오를 사용해서는 안 될 때는 언제일까?
    • 이스티오를 적용한 Delinkcious
      • 서비스 간 상호 인증 제거
      • 더 나은 카나리아 배포 활용
      • 자동 로깅과 오류 보고
      • NATS 수용
      • 이스티오 풋프린트 검사
    • 이스티오 대안
      • 링커드 2.0
      • 엔보이
      • 하시코프 콘슬
      • AWS 앱 메시
      • 기타
      • 메시 사용하지 않음
    • 요약
    • 추가 자료

  • 14장. 마이크로서비스와 쿠버네티스의 미래
    • 마이크로서비스의 미래
      • 마이크로서비스와 서버리스 함수
      • 마이크로서비스, 컨테이너 및 오케스트레이션
      • gRPC와 gRPC-Web
      • GraphQL
      • HTTP/3의 등장
    • 쿠버네티스의 미래
      • 쿠버네티스 확장성
      • 서비스 메시 통합
      • 쿠버네티스의 서버리스 컴퓨팅
      • 쿠버네티스와 가상머신
      • 클러스터 자동 확장
      • 오퍼레이터 사용
      • 페더레이션
    • 요약
    • 추가 자료

관련 블로그 글

개발자라면 놓쳐서는 안 될 쿠버네티스로 만나는 마이크로서비스
쿠버네티스(k8s, Kubernetes)란?

kubernetes logo

2014년 구글이 발표한 이후로 현재도 가장 뜨거운 관심을 받고 있는 오픈소스 기반의 컨테이너 관리 툴이다.
CNCF(Cloud Native Computing Foundation)가 전 세계 기업을 대상으로 2019년 설문조사 해서 최근 발표한 자료에 따르면, 
지난 해 쿠버네티스를 실제 운용(프로덕션) 시스템에 적용하고 있다고 응답한 기업이 78%에 달했다.

쿠버네티스와 컨테이너 기술은 마이크로서비스아키텍처(MSA) 환경을 구현하기에 가장 적합한 기술로 지목되며 각광을 받고 있다.
 - 하나의 애플리케이션을 구성함에 있어 분할된 다수의 서버 또는 컨테이너를 통해 애플리케이션 기능뿐만 아니라 데이터까지 분리해 격리되고 독립된 환경으로 구성되는 점이 특징이기 때문!




책에서는 마이크로서비스를 개발하고 쿠버네티스에 배포하는 두 가지 과정을 기본 원칙과 최신 트렌드를 반영해 설명한다.
마이크로서비스와 쿠버네티스의 기본 개념을 다루고, 실제 문제와 장단점을 알아본 후, 척척 만들어지는 마이크로서비스 기반 시스템의 개발 과정을 안내하고 모범 사례와 권장 사항을 제공한다.
그 과정에서 자동화된 CI/CD, gRPC 기반 마이크로서비스, 서버리스(serverless) 컴퓨팅, 서비스 메시(이스티오, Istio)와 같은 중요한 툴에 익숙해질 것이다.
애플리케이션 개발 언어로 Go를 사용하고 있지만, 파이썬과 러스트 등의 다양한 언어로도 만나볼 수 있다.

저자의 다양한 경험을 통해 마이크로서비스 아키텍트(MSA) 기반 애플리케이션을 쿠버네티스에 적용하기 위한 지식실무 경험을 얻게 될 것이다.


Editor. 임다혜(dhlim@acornpub.co.kr)

쿠버네티스로 만나는 손안의 마이크로서비스 아래 인터넷서점에서 만나실 수 있습니다.
 - YES24교보문고알라딘인터파크반디앤루니스

CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

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

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

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