본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

소프트웨어개발156

Cognito와 Auth0 비교: 회원 로그인·기업 SSO·MAU 비용 선택 체크리스트 서비스에 회원가입·로그인·기업 SSO를 추가할 때 Amazon Cognito와 Auth0 중 무엇을 선택해야 할까요? AWS 서비스와 연결되는 인증 구성을 검토한다면 Cognito가 후보이고, 여러 앱과 고객 조직의 로그인 경험·연동 요구를 비교한다면 Auth0도 함께 검증할 수 있습니다. 로그인 화면 하나를 만드는 비용보다 사용자 유형, API 권한, 운영·이전 조건을 같은 기준으로 비교하는 것이 먼저입니다.1. 인증과 API 권한을 먼저 분리하기인증은 사용자가 누구인지 확인하는 과정이고, 인가는 특정 작업을 허용할지 판단하는 과정입니다. 외부 인증 서비스를 도입해도 “A 회사 회원이 B 회사 데이터에 접근할 수 있는가”라는 업무 규칙은 애플리케이션이 통제해야 합니다. 로그인 성공을 모든 API 접근 .. 2026. 10. 7.
RDS Proxy와 PgBouncer 비교: PostgreSQL 연결 풀 비용·호환성·운영 선택 기준 PostgreSQL 연결 수가 늘어날 때 RDS Proxy를 도입할지, PgBouncer를 직접 운영할지 고민하게 됩니다. AWS의 지원 데이터베이스에 연결하고 프록시 가용성 운영을 맡기려면 RDS Proxy를 검토할 수 있습니다. PostgreSQL 연결 풀을 여러 인프라에서 직접 조정해야 한다면 PgBouncer가 후보입니다. 선택 기준은 연결 수 감소만이 아니라 세션 기능의 호환성, 장애 시 책임, 같은 가용성을 갖추는 총비용입니다.1. 데이터베이스 앞에 풀을 두는 이유와 비교 범위이 글은 PostgreSQL 애플리케이션의 서버 연결 재사용을 비교합니다. 커넥션 풀은 여러 요청이 사용할 연결을 유지하는 장치입니다. 애플리케이션이 가진 클라이언트 연결 수와 데이터베이스가 실제로 유지하는 서버 연결 수.. 2026. 10. 7.
Amazon OpenSearch와 Elastic Cloud Hosted 비교: 검색 비용·호환성·운영 선택 기준 AI로 직접 제작한 개념 일러스트입니다. 실제 제품 화면이나 성능 측정 결과가 아닙니다.상품 검색이나 사내 문서 검색을 구축할 때 Amazon OpenSearch Service와 Elastic Cloud Hosted가 함께 후보에 오릅니다. AWS 계정의 네트워크·권한 운영과 OpenSearch 기반 구성을 이어가려면 전자를, Elasticsearch·Kibana를 기준으로 쌓아 온 기능과 운영 방식을 유지하려면 후자를 먼저 검토할 수 있습니다. 결정은 브랜드보다 기존 검색 기능의 호환성, 같은 가용성에서의 비용, 고객사가 맡을 운영 책임으로 내려야 합니다.1. 비교 범위를 먼저 맞추기: 관리형 도메인과 Hosted이 글은 Amazon OpenSearch Service의 인스턴스 기반 관리형 도메인과 E.. 2026. 10. 6.
Kubernetes Service 연결 안 될 때: selector·EndpointSlice·targetPort·DNS 점검 Pod는 Running인데 Kubernetes Service로 접속하면 연결이 거부되거나 시간이 초과되나요? Service의 selector, EndpointSlice, 애플리케이션이 실제로 듣는 포트, DNS와 네트워크 정책을 순서대로 확인하면 원인을 좁힐 수 있습니다. 이 글은 selector로 Pod를 선택하는 일반적인 ClusterIP Service를 기준으로 설명합니다. ExternalName이나 selector가 없는 Service는 엔드포인트를 다루는 방식이 다르므로 같은 절차를 그대로 적용하지 마세요.1. 어느 클러스터·네임스페이스·주소에 접속하는지 확인먼저 현재 context와 Service의 네임스페이스를 확인합니다. 동일한 이름의 Service가 다른 네임스페이스에 있으면 짧은 이름으.. 2026. 10. 5.
Cannot connect to the Docker daemon 해결: Docker Desktop·context·서비스 점검 터미널에서 docker ps를 실행했는데 “Cannot connect to the Docker daemon” 오류가 나오나요? Docker 명령이 설치되어 있다는 사실만으로 컨테이너 엔진이 실행 중인 것은 아닙니다. 엔진이 멈췄거나, 명령줄 클라이언트가 다른 엔진 주소를 바라보는 경우부터 구분해야 합니다. 이 글은 Docker Desktop을 사용하는 macOS·Windows와 Docker Engine을 사용하는 Linux의 점검 순서를 나누어 설명합니다. 처음부터 재설치하거나 데이터를 초기화하기 전에 연결 대상과 서비스 상태를 확인하세요.1. 오류 메시지에서 연결 대상부터 읽기Docker 데몬 문제 해결 문서는 엔진이 실행 중인지와 클라이언트가 올바른 주소로 연결하는지를 나누어 확인하도록 안내합니다. .. 2026. 10. 5.
Grafana Cloud와 자체 Prometheus·Grafana 비교: 모니터링 비용·보존·운영 책임 Prometheus 지표와 Grafana 대시보드를 운영하려는데 저장 공간, 보존 기간, 장애 대응 부담이 커지고 있나요? 관리형 Grafana Cloud를 검토할 때는 서버 수만 적어 견적을 내기보다 활성 시계열 수와 수집 주기, 필요한 데이터 보존 범위를 먼저 확인해야 합니다. 자체 운영은 설정과 데이터 경로를 직접 통제할 수 있고, 관리형은 맡길 수 있는 운영 작업을 늘릴 수 있습니다. 어느 쪽이 항상 저렴한지는 같은 지표·보존·알림 조건을 맞춰 비교해야 판단할 수 있습니다.1. 대시보드와 지표 저장소를 구분하기이 글은 Prometheus 방식의 메트릭, 즉 시간에 따라 변하는 수치 지표를 중심으로 비교합니다. Grafana는 데이터를 조회하고 시각화하는 역할을 하고, 지표를 실제로 수집·저장하는 .. 2026. 10. 5.