Kubernetes Job을 Helm Hook 으로 반복적으로 실행하기
·
DevOps/Kubernetes
Kubernetes Job을 Helm Hook 으로 반복적으로 실행하기들어가며Kubernetes 환경에서 일회성 프로그램을 실행하거나 정기적으로 정해진 시간에 프로그램을 실행해야 할 때가 있습니다. 특히 데이터베이스 마이그레이션과 같은 작업은 특정 시점에 한 번만 실행되어야 하는 경우가 많습니다. 이런 상황에서 Kubernetes Job 리소스가 유용하게 활용됩니다.Kubernetes Job의 이해Kubernetes Job은 일회성 작업을 실행하는 데 적합한 리소스입니다. 지정된 수의 Pod가 성공적으로 종료될 때까지 Pod를 실행하는 것을 보장합니다. 이는 다음과 같은 경우에 유용합니다:데이터베이스 마이그레이션배치 처리 작업초기화 스크립트 실행백업 및 복원 작업그러나 Kubernetes Job에는 한 ..
Spring 에서 런타임 환경에서 프로퍼티 값을 변경하는 방법
·
Java/Spring
Spring Boot 및 일반 Spring 환경에서 외부 서비스 기반 설정 관리 방법어플리케이션을 구동할 때 필요한 설정값들은 보통 환경변수(Environment Variables)나 파일에 저장하여 관리합니다. 하지만 최근에는 설정값을 Zookeeper, AWS Secrets Manager와 같은 외부 서비스에서 불러오거나, 보안을 강화하기 위해 메모리 내에서만 설정값을 저장하는 방식이 점점 더 선호되고 있습니다. 이러한 요구사항을 충족시키기 위해 Spring Boot와 일반 Spring 환경에서 설정값을 효과적으로 관리하는 방법을 소개합니다.Spring Boot에서 환경 설정값 관리하기Spring Boot는 EnvironmentPostProcessor를 활용하여 어플리케이션 시작 시점에 환경 설정값을..
Garden 으로 Docker compose 처럼 쿠버네티스에서 의존성을 가진 어플리케이션들 한번에 배포하기
·
DevOps/Kubernetes
Kubernetes 개발 환경을 위한 Garden IO 소개배경최근 많은 기업들이 운영 환경을 Kubernetes로 이전하면서 개발자들은 새로운 과제에 직면하게 되었습니다. 특히 로컬 개발 환경에서 마이크로서비스 아키텍처를 효율적으로 개발하고 테스트하는 것이 주요 과제 중 하나입니다. 기존에는 Docker Compose를 통해 이러한 환경을 쉽게 구성할 수 있었지만, Kubernetes 환경으로 전환하면서 새로운 도구가 필요하게 되었습니다.이러한 상황에서 Garden IO가 주목받고 있습니다. Garden IO는 Kubernetes와 클라우드를 위한 엔드투엔드 개발 및 테스트 플랫폼으로, 개발부터 테스트, CI까지 일관된 워크플로우를 제공합니다.Garden IO란?Garden IO는 다음과 같은 특징을 ..
데이터베이스 캐싱 전략
·
소프트웨어 이론/Architecture
사용자가 많아지고 트래픽이 많아질고 시스템 스케일링이 필요해지는 시점이 오면 데이터베이스 캐싱에 대한 고민을 하게된다. 이번 포스팅에서는 데이터베이스 캐싱 전략에 대해 알아보고자 한다 먼저 들어가기에 앞서 Cache Hit을 알아보자 Cache hit 이란? 찾으려는 데이터가 캐쉬에 저장되어 있어 데이터베이스를 거치지 하고 캐쉬에서 바로 데이터를 가져오는 형태. Cache hit이 많이 발생할수록 데이터 베이스에 대한 부담이 줄어든다. Cache-Asdie 일반 적인 형태의 캐쉬로 어플리케이션이 캐쉬업데이트 업데이트 담당. 캐쉬에 먼저 쿼리문을 보내고 캐쉬에 데이터가 없을시 데이터베이스에서 데이터를 가져온후 캐쉬에 데이터를 업데이트 한다 장점: 1. 데이터베이스 데이터 모델과 캐쉬의 데이터 모델이 다르게..
타입스크립트의 모듈 시스템 이해하기
·
Front-End/Typescript
타입스크립트의 모듈 시스템 이해하기모듈의 기본 개념과 중요성모듈은 독립적인 기능 단위로, 코드를 체계적으로 구성하는 핵심 요소입니다. 모듈 시스템을 사용함으로써 얻을 수 있는 주요 이점들은 다음과 같습니다:유지 보수성 향상코드 중복을 최소화하여 버그 발생 가능성 감소기능별로 분리된 코드로 수정이 용이전역 스코프 오염 방지각 파일이 독립적인 스코프를 가짐변수명 충돌 문제 해결재사용성 증가모듈을 여러 프로젝트에서 재사용 가능코드의 재사용성과 이식성 향상TypeScript의 두 가지 모듈 시스템1. 외부 모듈 (External Modules)ES6의 모듈 시스템을 기반으로 하며, import와 export 키워드를 사용합니다.// math.tsexport function add(x: number, y: num..