
Typesafe AI Jev Overview
에이전트가 kubectl delete namespace production을 제안했다고 가정합니다. JSON schema가 유효하더라도 실제로 실행해도 되는지는 알 수 없습니다. 30초 예시 State: production namespace 삭제 요청 Jev: review_required, 높은 비가역성 확률 Policy: 자동 실행 없이 es...

에이전트가 kubectl delete namespace production을 제안했다고 가정합니다. JSON schema가 유효하더라도 실제로 실행해도 되는지는 알 수 없습니다. 30초 예시 State: production namespace 삭제 요청 Jev: review_required, 높은 비가역성 확률 Policy: 자동 실행 없이 es...

Node.js 프로세스의 RSS가 며칠에 걸쳐 계속 올라가는데 heap snapshot을 떠 보면 heapUsed는 몇 MB 수준에서 평평한 경우가 있습니다. 스냅샷 두 장을 비교해도 늘어난 객체가 보이지 않습니다. 이런 경우 원인은 V8 heap 안이 아니라 밖에 있습니다. 제가 자체 운영하는 self-hosted n8n에서 메모리가 회수되지 않는...

온프레미스 야간 배치가 70분 동안 24GiB 메모리를 사용한다면 Lambda로 옮기는 것이 모더나이제이션처럼 보이지 않을 수 있습니다. 반대로 하루에 몇 번만 실행되는 짧은 작업을 EC2에 계속 올려 두면 운영 부담이 그대로 남습니다. 모더나이제이션의 첫 질문은 어떤 AWS 서비스가 유행하는지가 아니라, 기존 워크로드가 가진 제약이 무엇인지입니다. ...

온프레미스 NAS에 쌓인 600 TB를 S3로 옮기는 계획서를 받았다고 해보겠습니다. 인터넷 회선은 1 Gbps이고, 업무 시간 트래픽 때문에 마이그레이션에 실제로 할당할 수 있는 몫은 40%입니다. 기한은 8주입니다. 계획서에는 “1 Gbps면 하루 약 10 TB이므로 60일이면 끝난다”라고 적혀 있고, 여유가 없으니 Snowball Edge를 몇 ...

포트폴리오 900대를 7R로 다 분류해 놓고도 wave 1이 넘어가지 않는 상황이 있습니다. 분류 스프레드시트는 완성됐고, rehost 대상 서버에는 복제 에이전트가 깔렸고, staging area의 복제도 lag 0으로 붙어 있습니다. 그런데 컷오버 리허설에서 애플리케이션이 기동한 직후 로그인이 전부 실패합니다. 원인은 복제가 아니라 도메인 컨트롤러...

Savings Plans 커버리지를 98퍼센트까지 올려 놓고 다음 달 청구서를 열었는데 총액이 기대만큼 내려가지 않는 경우가 있습니다. Cost Explorer 에서 usage type 으로 쪼개 보면 이유가 나옵니다. 상위 항목이 BoxUsage 가 아니라 NatGateway-Bytes 와 DataTransfer-Regional-Bytes 이고, 이...

야간 배치를 돌리는 인스턴스가 멎었는데 붙여 둔 EC2 recover action이 실행되지 않은 적이 있습니다. 알람 이력을 열어 보면 알람은 ALARM으로 가지 않았고 INSUFFICIENT_DATA에 머물러 있습니다. 임계값도 evaluation periods도 그대로였고, 바뀐 것은 인스턴스가 멎으면서 메트릭 자체가 끊겼다는 사실뿐입니다. 여...

DR 리전을 warm standby로 구성해 두고 첫 전환 훈련을 돌렸습니다. 데이터는 Aurora Global Database가 초 단위로 따라오고 있었고, DR 리전에는 프로덕션의 4분의 1 규모가 상시 떠 있었으며, Route 53 failover record와 health check도 걸려 있었습니다. 서류상 RTO 15분은 충분해 보였습니다....

S3 버킷을 암호화하고 WAF를 붙인 뒤에도 보안 사고의 원인은 하나의 서비스에서 끝나지 않습니다. 키 정책이 교차 계정 호출을 막고, WAF가 본문을 일부만 검사하며, GuardDuty가 위협을 찾고, Config가 설정 위반을 교정해야 전체 통제가 닫힙니다. 어느 서비스가 무엇을 보장하는지 분리하지 않으면 보안 도구를 많이 켜도 빈틈이 남습니다. ...

계좌별 주문 이벤트를 SQS FIFO 큐로 보내면서 message group ID를 계좌 번호로 두면 계좌 안에서의 순서가 지켜집니다. 여기까지는 설계대로 동작합니다. 그런데 컨슈머 버그로 특정 메시지가 계속 실패해 큐가 밀리기 시작하고, 운영 대응으로 dead-letter queue를 붙이면서 maxReceiveCount를 5로 잡으면 정산이 틀어집...