운영 중인 PostgreSQL에 인덱스를 추가하며 배운 것들 상황 DB 에서 데이터를 특정 조건으로 검색하거나 조회할 때 인덱싱이 중요하다는 건 익히 알고 있었다.최초의 요구사항이나 기획단에서 염두해서 신중하게 중복값과 의미가 있는지 여부를 고민하여 유저(학생) 이름에 Index를 넣어두었다. 문제예상과 달리 새로운 요구사항 (사용자 통합 검색 기능)의 들어와 개발 작업에 착수했다. 이름뿐 아니라 학년, 연락처, 아이디 등 다양한 조건으로 쿼리를 사용해야 했다. 이로 인해 기존에는 없던 인덱스를 새로 추가하는 것이 불가피했다.문제는 이미 서비스가 릴리즈되어 운영 중인 상태였다는 점이다. 대응처음에 그냥 무작정 migration 을 짜면서 자연스레 CREATE INDEX를 작성했다.그런데, 다른 동료가 독..
시간이 꽤 되긴 했지만 여전히 MSA의 붐(?)은 사그러들지 않고 있다.쿠버네티스의 등장으로 이러한 기세는 더 강화되지 줄어들진 않을 것에 분명하다.도대체 MSA가 뭐길래 이렇게 대두되는지 이번 기회에 제대로 정리하는 차원에서 글로 남기고자 한다.MSA를 바로 알기 전에 어떠한 배경에서 이러한 개념이 나오게 되었는지를 알아봐야 한다. Monolithic Architecture (모놀리식 아키텍처) 전통적인 애플리케이션 개발 방식으로, 하나의 큰 코드베이스에 모든 기능을 구현하는 방식이다.쉽게 말해 하나의 프로젝트에 비즈니스 로직, 인터페이스, 데이터 접근 계층 등이 모두 포함되는 걸 말한다. 대부분 개발을 처음 배울 때 이러한 방식으로 프로젝트를 시작하게 된다. 예를 들어 이커머스 웹 서버를 만든다고 ..
쿠버네티스와 관리형 서비스쿠버네티스 기본 역할- pod 생성, 모니터링 및 교체, 스케일링 등 pod 내부의 컨테이너들을 오케스트레이션- 워커 노드 간에 컨테이너를 이동하며 애플리케이션을 관리하는 도구이자 프레임워크 쿠버네티스의 충족 조건- 클러스터와 노드(워커, 마스터 노드) 생성: 물리 머신 자체 관리- API 서버, kubelte, 노드의 서비스들 세팅- 다른 클라우드 프로바이저 리소스 생성 (예. 로드 밸런서, 파일시스템 등) 따라서,실제 애플리케이션에 필요한 리소스 관리는 직접 하거나, 관리형 서비스 (예. EKS, Kubermatic 등) 을 사용해야 함 로컬에서 쿠버네티스 설치하기minikube# minikube (mac OS 기준)minikube startminikube dashboard..
Udemy Docker & Kubernetes : 실전 가이드 정리 2025.02.10 - [CS/Cloud, Intra] - Docker: 컨테이너를 왜 쓰는가? / Image & Container (1)2025.02.17 - [CS/Cloud, Intra] - Docker: Image & Container 관리 (2)2025.02.24 - [CS/Cloud, Intra] - Docker: Volume2025.03.03 - [CS/Cloud, Intra] - Docker: Network2025.03.10 - [CS/Cloud, Intra] - Docker Compose 더보기더보기Laravel & PHPnginx: Web ServerDocker Volume flag: delegated (위임) vs c..
Udemy Docker & Kubernetes : 실전 가이드 정리 2025.02.10 - [CS/Cloud, Intra] - Docker: 컨테이너를 왜 쓰는가? / Image & Container (1)2025.02.17 - [CS/Cloud, Intra] - Docker: Image & Container 관리 (2)2025.02.24 - [CS/Cloud, Intra] - Docker: Volume2025.03.03 - [CS/Cloud, Intra] - Docker: Network Docker Compose정의 및 특징다중 컨테이너 관리 도구Dockerfile 을 대체하진 않음하나의 구성파일로 동일한 호스트에서 한 개 이상의 컨테이너 환경을 설정함한 docker compose 으로 정의된 모든 ..
Udemy Docker & Kubernetes : 실전 가이드 정리 2025.02.10 - [CS/Cloud, Intra] - Docker: 컨테이너를 왜 쓰는가? / Image & Container (1)2025.02.17 - [CS/Cloud, Intra] - Docker: Image & Container 관리 (2)2025.02.24 - [CS/Cloud, Intra] - Docker: Volume Docker Network네트워크 요청 종류► 컨테이너에서 월드 와이드 웹 : 따로 설정 없이 잘 작동함► 컨테이너에서 로컬 호스트 머신으로의 요청 : localhost 대신 host.docker.internal 으로 도메인 변경► 컨테이너 간의 통신목적지가 되는 컨테이너의 IP 주소를 바로 사용 OR ..
Udemy Docker & Kubernetes : 실전 가이드 정리 2025.02.10 - [CS/Cloud, Intra] - Docker: 컨테이너를 왜 쓰는가?, Image & Container2025.02.17 - [CS/Cloud, Intra] - Docker: Image & Container 관리 (2) Volume이미지 : 읽기 적용, 스냅샷 형태특징이미지 위에 read-write 레이어를 통해 읽고 쓰기 가능컨테이너 내부에 자체 파일 시스템을 가져 독립적인 환경 가능함 컨테이너 볼륨데이터를 읽고 쓰기, 저장용으로 사용할 수 있음호스트 머신의 폴더 컨테이너 내부 머신의 폴더와 매핑되어 컨테이너 삭제하더라도 사라지지 않고 데이터가 보존됨컨테이너 외부의 특정 폴더/파일에 연결된 컨테이너 내부의 ..