콘텐츠 바로가기
본문 바로가기


블로그 전체검색
클라우드 네이티브 애플리케이션 디자인 패턴

[도서] 클라우드 네이티브 애플리케이션 디자인 패턴

카순 인드라시리,스리스칸다라자 수호타얀 저/박수현 역

내용 평점 5점

구성 평점 5점

내용이 그렇게 친숙한 것은 아니어서 용어 위주로 정리해봤다.

읽었는데도 잘 와닿지 않는 부분들이 존재했는데 개인적으로 경험이 더 필요하다고 생각된다.

말 그대로 디자인 패턴에 관한 책이기 때문에 따로 코드는 존재하지 않는다.

하지만 책 곳곳에 디자인 패턴에 관한 도식이 존재하기 때문에 관련해서 큰 그림을 그려볼 때, 혹은 큰 그림이 그려지지 않을 때 참고하면 좋겠다.

그리고 아무래도 디자인 패턴이다 보니 여러 관련 분야의 지식도 필요한데 이런 부분에 대해서도 책에서 추천하는 책이 있으므로 여러 갈래로 참고해서 지식을 뻗어나가게끔 적혀있다.

예) 도메인 주도 설계에 대한 부분을 조금 설명하고 난 뒤에 에릭 에반스의 '도메인 주도 설계'를 언급하는 부분이 있다.

이렇게 되면 이 책을 처음 읽는 사람이라도, 혹은 도메인 주도 설계를 좀 더 알고 싶은 사람이라도 지식의 확장 방법을 손쉽게 얻을 수 있다. 

 

그래서 만약 클라우드 네이티브 애플리케이션 디자인에 대한 개요를 알고 싶다면 책 내용을 가볍게 읽되, 이해가 더 필요한 키워드나 분야가 책에서 나온다면 추천하는 책을 읽거나 해당 부분을 좀 더 보완 후 책을 N회독 하면 되겠다.

 

 

마이크로서비스 : 독립적으로 만들어진 서비스로 주어진 비즈니스 요구를 충족한다.

*참고 : 모놀리식 애플리케이션(복잡하고 크기 조절 어려움, 유지보수 비용 소모, 개발 민첩성 떨어짐)

서비스 지향 아키텍처 : 특정 비즈니스 기능을 지원하는 서비스들을 조합하여 소프트웨어 애플리케이션을 만드는 모듈성 개념을 선보임

 

클라우드 네이티브 애플리케이션에서 중요 역할을 하는 것

설계 및 개발 : 마이크로서비스

패키징과 실행 : 컨테이너(ex. 도커)

컨테이너 라이프사이클 관리 : 컨테이너 오케스트레이션(ex. 쿠버네티스)

 

컨테이너 : 사실상 표준 플랫폼으로 도커가 있음

마이크로서비스를 좀 더 쉽게 옮기고 여러 환경에서 동일하게 실행할 수 있음

 

쿠버네티스 : 컨테이너 관리 플랫폼. 

-kubelet : 쿠버네티스 노드들에서 노드 상태를 관리하는 에이전트가 실행됨. 쿠버네티스 API 서버와 직접 통신해서 해야 할 일을 전달받고 현재 노드의 상태를 알려줌

-pod : 주어진 노드에서 실행되는 애플리케이션 실행 환경을 의미하는 가장 기본적인 배포 단위. 1개의 pod에서 1개 이상의 컨테이너 실행 가능. 

 

클라우드 네이티브 애플리케이션 개발 방법론

1. 앱 설계

비즈니스 로직 추상화, 개별 소프트웨어 구성 요소로 구성

2. 앱 개발

-독립된 코드베이스, 명시적 의존성, 별도의 설정 관리, 독립 테스트(단위테스트, 통합테스트), 컨테이너화

3. 연결성 및 API 구현

-서비스 주도 상호작용, 서비스 간 통신 및 조합, 기능을 관리형 API로 외부에 제공하기

4. 개발, 릴리스, 배포 자동화

5. 동적 환경에서 실행

6. 동적 환경 관리를 위한 컨트롤 플레인 구현

7. 관측 가능성 구현

이를 통해 앱에 대한 통찰력을 얻고 다음 앱 설계에 반영함

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 
취소

댓글쓰기

저장
덧글 작성
0/1,000

댓글 수 0

댓글쓰기
첫 댓글을 작성해주세요.

PRIDE2