이야기를 디버깅하는 개발자.

개발과 창작 사이에서, 사람들이 자기만의 이야기를 만들 수 있는 도구와 기록을 만듭니다.

roslyn.dev 자세히보기

운영 5

API 사용량 상한과 비용 알림을 붙인 기록

개인 프로젝트는 처음에 사용자가 적어 비용도 작습니다. 그래서 사용량 제한을 나중에 붙이려 합니다. 하지만 공개 주소가 알려지거나 자동화된 요청이 들어오면 비용과 장애가 동시에 커질 수 있습니다.저는 기능을 추가하기 전에 요청을 세고, 상한을 넘으면 알려 주고, 더 넘으면 안전하게 거절하는 흐름을 만들기로 했습니다. 이번 글에서는 숫자 자체보다 제한 정책을 정하는 순서를 설명합니다.API마다 비용과 위험이 다릅니다모든 엔드포인트에 같은 제한을 걸면 사용자는 불편하고 운영자는 중요한 기능을 구분하지 못합니다. 읽기 요청은 캐시로 흡수할 수 있지만, 외부 AI 호출이나 파일 변환은 한 번의 요청도 비용이 큽니다.저는 먼저 엔드포인트를 비용·시간·데이터 변경 여부로 나눕니다. 그 다음 사용자별 제한과 전체 제..

1인 서비스 장애 공지 페이지를 만드는 최소 구성

혼자 운영하는 서비스에서 장애가 나면 코드부터 고치고 싶습니다. 그러나 사용자는 원인이 무엇인지보다 지금 사용할 수 있는지, 언제 다시 확인하면 되는지를 먼저 알고 싶어 합니다. 공지가 늦으면 작은 장애도 불안으로 커집니다.이번 글에서는 복잡한 상태 페이지 제품이 아니라, 혼자서 실제로 갱신할 수 있는 장애 공지의 최소 구성을 정리합니다. 관측 데이터와 공지 문장을 연결해 사후 회고까지 이어지는 흐름을 목표로 합니다.장애 공지는 네 가지 사실로 시작합니다첫 공지에는 원인을 추측해 쓰지 않습니다. 발생 시각, 영향 범위, 현재 조치, 다음 업데이트 시각 네 가지만 적습니다. 원인이 확인되지 않았는데 ‘서버 문제’라고 단정하면 나중에 공지를 다시 고쳐야 합니다.영향 범위는 모든 사용자가 아니라 특정 기능·지..

OpenTelemetry가 기본으로 들어온 시대 — 1인 서비스의 관측 구성 최소안

느리다는 문의를 받고 로그를 열었는데 아무것도 못 찾은 적이 있습니다. 로그에는 요청이 들어왔다는 줄과 응답을 보냈다는 줄이 있었고, 그사이에 무슨 일이 있었는지는 비어 있었습니다. 데이터베이스가 느렸는지, 외부 API가 늦게 답했는지, 제 코드가 오래 걸렸는지 구분할 방법이 없었습니다.로그 도구를 바꾼다고 해결되는 문제가 아니었습니다. 필요한 것은 하나의 요청이 어디를 거쳐 얼마나 걸렸는지 이어 보는 방법이었고, 그게 분산 추적입니다. .NET 11에서는 ASP.NET Core가 OpenTelemetry 태그를 네이티브로 방출하는 방향으로 가고 있어서, 이 부분을 다시 정리해볼 만한 시점이 됐습니다. 아래 .NET 11 관련 내용은 현재 프리뷰 기준이며 GA까지 바뀔 수 있습니다.세 축은 각자 답하는 ..

월 1만 원으로 개인 서비스 운영하기 — 인프라 비용 다이어트

개인 서비스를 만들 때 저는 기능보다 예산 상한을 먼저 정합니다. 월 1만 원. 이 숫자에 특별한 근거가 있는 것은 아니고, 커피 두어 잔 값이라 서비스가 잘 안 되더라도 감정 없이 계속 둘 수 있는 금액이기 때문입니다. 유지비가 이 선을 넘기 시작하면 판단에 감정이 섞입니다.상한을 먼저 정하면 설계가 달라집니다. 상시 켜둘 서버가 정말 필요한지, 이미지를 서버에서 변환해야 하는지, 로그를 얼마나 오래 둘지가 전부 비용 문제로 바뀝니다. 기능을 다 만든 뒤에 요금을 줄이려 하면 대개 구조를 뜯어야 해서 잘 줄지 않습니다.이 글에서는 구체적인 가격을 적지 않습니다. 요금제는 자주 바뀌고 지역과 계정 상태에 따라서도 달라지므로, 지금 적어두면 얼마 못 가 틀린 글이 됩니다. 대신 비용이 어떤 단위로 매겨지는..

혼자 만든 서비스를 접어야 할 때 — 유지·전환·종료 판단 기준 6가지

매달 카드 결제 알림이 옵니다. 서버비 몇만 원, 도메인 갱신비 몇만 원. 금액이 크지 않아서 그냥 넘깁니다. 그런데 그 서비스에 마지막으로 접속한 게 언제였는지는 기억나지 않습니다. 이런 상태로 2년을 끌어본 적이 있습니다.혼자 만든 서비스를 접는 일이 어려운 이유는 비용이 아니라 감정입니다. 밤을 새워 만든 기억이 있고, 처음 가입자가 생겼을 때의 기분이 남아 있습니다. 그래서 "언젠가 다시 손보면 되지"라는 말로 판단을 계속 미룹니다. 그 사이에 유지비는 계속 나가고, 무엇보다 다음 작업에 쓸 수 있었던 관심이 조금씩 새어 나갑니다.이 글은 접으라고 권하는 글이 아닙니다. 접을지 말지를 기분이 아니라 기준으로 정하자는 이야기입니다. 아래 여섯 가지를 확인하고, 그 결과에 따라 유지·전환·종료 중 하..

반응형