1) 구성 요소 및 패턴의 유형
- 인프라 구성 요소
- 플랫폼 패턴
- 애플리케이션 패턴
2) 인프라 구성 요소
- 가상화 되어 제공됨
- Public Cloud
- 베어 메탈
- Private Cloud
- Virtual Machine
- Container(Docker)
- 컨테이너 오케스트레이션(Kubernetes)
3) 플랫폼 패턴
- DevOps 인프라 구성
- 개발과 운영이 분리되지 않은 개발 및 운영을 병행할 수 잇는 조직 또는 문화
- CI/CD : 지속적인 인도와 배포를 위한 파이프라인 설계
- 넷플릭스에서는 플랫폼 패턴으로 Spring Boot + 넷플릭스 OSS 조합을 이용
- BFF (BackEnd For FrontEnd) 패턴
- 애플리케이션 종류별로 진입점을 만들고 API 게이트웨이를 이용해 서비스를 이용하는 방식
- 다양한 모바일 장비 사용 증가로 다양한 클라이언트를 고려해야 함
- 외부 구성 저장소 패턴
- 외부 저장소와 관련된 정보를 소스 코드에 포함시키면 외부 저장소를 수정하게 될 경우 소스 코드를 다시 빌드해야 하므로 저장소와 관련된 정보는 소스 코드에 하드 코딩 하지 않고 외부 환경 설정 정보를 활용하도록 하는 것
- 대부분의 프레임 워크는 설정 정보를 저장할 수 있는 별도의 텍스트 파일이나 프로퍼티 파일을 사용할 수 있도록 하고 형상 관리를 위한 서비스에서도 이를 암호화할 수 있는 기능을 제공함
- 인증/인가 패턴
- 각 서비스가 모두 인증/인가를 중복으로 구현한다면 비효율적
- Micro Service 인증/인가를 처리하기 위해서는 일반적으로 다음과 같은 패턴을 활용
- 중앙 집중식 세션 관리를 주로 이용 했으나 최근들어 클라이언트 토큰 방식(JWT)을 이용함
- 사용자 인증 프로세스는 토큰 인증 프로세스와 유사
- 차이점은 API 게이트웨이가 외부 요청의 입구로 추가된다는 것 과 인증/인가를 처리하기 위한 별도의 전담 서비스를 만들어서 다른 서비스의 인증/인가 처리를 위임할 수 있음
- 이러한 서비스를 인증 서비스(auth service)라 하는데 API 게이트웨이와 연동해서 인증/인가를 처리
- 인증 서비스를 이용하면 각 리소스 서비스가 자체적으로 인증/인가를 처리하지 않고 업무 처리에 집중할 수 있음
'DX Data School' 카테고리의 다른 글
Container 와 Virtualization (0) | 2024.04.05 |
---|---|
CI/CD (0) | 2024.04.05 |
리액티브 선언 (0) | 2024.04.01 |
Micro Service를 구현하기 위한 조건 (0) | 2024.04.01 |
Monolithic과 Micro Service (0) | 2024.04.01 |