pile·
최신
  1. 아키텍처·AWS KoreaAWS Korea·

    씨미가 4K · 4초 저지연 라이브를 만든 방법 — Amazon IVS와 자체 구축의 하이브리드 설계

    문제4K 초고화질 라이브 스트리밍에서 고비트레이트(35Mbps)와 저지연(4초 이내)을 동시에 제공하며 1만 명 동시 시청자를 안정적으로 처리.

    접근Amazon IVS 는 1080p 표준 영역에 위임, 4K 차별화 영역은 자체 GPU 트랜스코딩 서버 + HLS + CloudFront URL Sharding + PDT 기반 라이브/VOD 통합으로 구성한 하이브리드 설계.

    결과4K 35Mbps 환경에서 1만 명 동시 시청자 부하 테스트 안정 통과, 목표 저지연 달성, NAT Gateway / CloudFront L2 fan-out 극단 시나리오까지 사전 대비.

    #live-streaming#amazon-ivs#low-latency+3
  2. 아키텍처·AWS KoreaAWS Korea·

    CJ올리브영의 AI 협업 개발 프로세스 구축, AI-DLC 실전 도입 사례

    문제AI 코딩 도구의 개인 생산성 향상에도 팀 전체의 일관된 협업 구조와 반복 가능한 프로세스가 부재.

    접근AWS AI-DLC 방법론과 Kiro IDE 로 "요구사항 정의 → 설계 → 구현 → 검증" 단계별 워크플로우 구성. Amazon Bedrock, OpenSearch, Step Functions, Custom Agents 활용.

    결과5개 과제 3일 완성, 개발 속도 5배 이상 단축, 수동 업무 처리시간 30배 감소(5분→10초), 조직 전체 AI 활용 역량 평준화.

    #ai-collaboration#ai-dlc#dev-process+5
  3. 아키텍처·airbnb-engairbnb-eng·

    Viaduct 1.0 and the future of Airbnb’s data mesh

    문제조직 전체 GraphQL 스키마를 중앙화하면 API 일관성은 얻지만, 도메인 팀이 빠르게 독립 개발하기 어렵다.

    접근Viaduct 1.0은 멀티테넌트 런타임에서 팀별 schema module과 resolver를 호스팅하고, federation과 조합 가능한 data-oriented service mesh를 제공한다.

    결과안정 API 어노테이션, binary compatibility 검증, Maven Central 배포를 갖춘 커뮤니티 주도 오픈소스 프로젝트로 전환했다.

    #multi-tenancy#graphql#data-mesh+1
  4. 아키텍처·aws-architectureaws-architecture·

    상태 보존 서비스용 AWS 하이브리드 멀티테넌트 아키텍처 구축

    문제대규모 stateful ad-serving 서비스는 tenant 격리와 운영 효율을 동시에 만족해야 하지만, tenant별 AWS 계정은 온보딩 부담이 크다.

    접근Route 53 weighted routing, ALB listener rule, tenant별 ECS cluster, AWS PrivateLink, tier·cell·infra group 계층을 조합한다.

    결과계정 단위 분리 없이 강한 tenant isolation을 제공하고, tenant 온보딩 시간을 86%, 인프라 설정 단계를 80% 줄였다.

    #hybrid-cloud#multi-tenancy#stateful-services
  5. 아키텍처·twilio-engtwilio-eng·

    Twilio Agent Connect / Conversations Orchestrator / Studio / Flex 로 AI → 사람 에이전트 핸드오프 구성

    문제AI 에이전트가 처리하지 못하는 요청을 사람 상담사로 넘길 때 채널 전환이나 컨텍스트 손실이 발생해 고객 경험이 나빠진다.

    접근Twilio Agent Connect의 `create_studio_handoff_tool`로 LLM이 핸드오프를 결정하고 `HandoffPayload`에 대화 컨텍스트와 메모리 ID를 담아 전달한다. 음성은 Conversation Relay WebSocket, 디지털 채널은 Studio Flow Executions API로 라우팅한다.

    결과동일 채널을 유지하면서 Flex 상담사에게 AI 생성 대화 요약을 전달, 컨텍스트 손실 없이 페이로드 기반 인계가 가능하다.

    #twilio#ai-handoff#conversation
  6. 아키텍처·cloudflare-blogcloudflare-blog·

    Dynamic Workflows 소개 — 테넌트를 따라가는 durable execution

    문제Cloudflare Workflows는 배포 시 고정된 workflow class를 전제로 해 테넌트별 동적 코드 실행에는 맞지 않았다.

    접근Dynamic Workers 위에 Dynamic Workflows 라이브러리를 두고, metadata envelope로 create 호출과 run dispatch를 같은 테넌트 코드로 라우팅했다.

    결과각 테넌트의 TypeScript workflow가 별도 배포 없이 durable step, sleep, retry, event 대기를 그대로 사용한다. 동적 Worker 캐시로 실행 오버헤드도 낮췄다.

    #cloudflare#workflows#durable-execution
  7. 아키텍처·airbnb-engairbnb-eng·

    Skipper: Building Airbnb’s embedded workflow engine

    문제Airbnb의 장기 실행 업무는 큐와 잡으로 흩어져 idempotency, retry, partial failure 처리를 팀마다 반복 구현해야 했다.

    접근Java/Kotlin 서비스 안에 내장되는 Skipper workflow engine을 만들고, Actions checkpoint, replay, waitUntil, signal, compensation을 제공했다.

    결과별도 orchestration cluster 없이 기존 MySQL 또는 Unified Data Store에 상태를 저장한다. 정상 경로는 적은 DB write만 추가하고 장애 시 replay로 복구한다.

    #airbnb#workflow-engine#skipper+1
  8. 아키텍처·aws-architectureaws-architecture·

    AWS 위에서 Catena-X 데이터 공간으로 다중 테넌트 제품 탄소 발자국 교환을 가능케 한 PACIFIC

    문제자동차 공급망의 product carbon footprint 데이터는 회사와 시스템마다 흩어져 있어, 공유와 데이터 주권을 동시에 만족하기 어렵다.

    접근PACIFIC은 Amazon ECS on Fargate, Cognito, IAM, Secrets Manager, EDC connector로 멀티테넌트 격리와 Catena-X 데이터 교환을 구현한다.

    결과tenant별 IAM 역할과 EDC 정책 협상 토큰으로 교차 접근을 막고, 명시적 합의가 있는 파트너에게만 PCF 데이터를 전달한다.

    #pacific#multi-tenant#carbon-footprint
  9. 아키텍처·meta-engmeta-eng·

    Meta 가 50개 이상 use case 의 WebRTC 를 fork 에서 벗어나 현대화한 방법

    문제Meta의 WebRTC fork가 upstream과 벌어져 50개 이상 사용처에서 보안, 성능, 업그레이드 비용 문제가 커졌다.

    접근shim layer와 dual-stack 구조로 legacy와 최신 WebRTC를 한 바이너리에 공존시키고, namespace 재작성과 AST 기반 shim 생성으로 충돌을 줄였다.

    결과50개 이상 use case를 최신 upstream 기반 구조로 이전했고 중복 오케스트레이션 대비 바이너리 증가를 약 87% 줄였다.

    #webrtc#meta#fork-modernization
  10. 아키텍처·LINE EngineeringLINE Engineering·

    도메인에 의존하지 않는 채팅 플랫폼은 어떻게 만들었을까?

    문제메신저 / 게임 / 커머스 등 각자 채팅 기능을 따로 만들면 중복 개발 비용이 크다.

    접근채팅 코어(메시지, 채널, 사용자, 푸시) 를 도메인 비의존적으로 추상화. LINE Works, 게임, 커머스 등 다양한 사용처에서 재사용 가능한 플랫폼으로 설계.

    결과한 플랫폼이 여러 비즈니스 도메인의 채팅을 떠받침. 새 서비스 출시 시 채팅 구현 비용이 거의 0 에 가까움.

    #domain-modeling#chat-platform#platform-design+1
  11. 아키텍처·aws-architectureaws-architecture·

    AWS 위 Agentic AI 개발 아키텍처 설계

    문제AI coding agent는 느린 배포, 강한 결합, 불투명한 코드 구조 때문에 변경 검증을 자동으로 반복하기 어렵다.

    접근로컬 에뮬레이션, 경량 클라우드 테스트, preview environment와 함께 DDD, hexagonal architecture, contract test, machine-readable docs를 적용한다.

    결과agent가 초 단위 로컬 검증에서 임시 배포까지 단계적으로 피드백을 얻고, CI/CD guardrail 안에서 더 안전하게 변경을 반복할 수 있다.

    #aws#agentic-ai#architecture-patterns
  12. 아키텍처·slack-engslack-eng·

    Slack 이 알림 시스템을 재구축한 방법

    문제Slack의 기존 알림 시스템은 데스크톱과 모바일 설정 모델이 달라 사용자가 알림 동작을 예측하기 어려웠다.

    접근네 가지 preference 체계를 하나의 모델로 줄이고, push 여부를 별도 필드로 분리했다. read-time migration과 fallback으로 대규모 전환과 롤백을 안전하게 처리했다.

    결과설정 참여가 5배 증가했고, per-channel override 필요성이 줄었다. 사용자는 활동 표시와 push interruption을 독립적으로 제어하게 됐다.

    #slack#notifications#rebuild
  13. 아키텍처·stripe-engstripe-eng·

    Machine Payments Protocol 소개

    문제자율 에이전트가 서비스와 API를 이용하려면 사람용 결제 흐름 대신 프로그램 가능한 결제 조정 방식이 필요하다.

    접근Stripe와 Tempo가 Machine Payments Protocol을 정의해 에이전트, MCP 서버, HTTP endpoint가 결제 요청과 승인을 교환하게 했다. Stripe PaymentIntents와 SPT도 연결한다.

    결과에이전트는 headless browser, 우편 발송, API 호출 같은 리소스를 직접 구매할 수 있다. 기존 Stripe 정산·세금·사기 방지 인프라도 함께 쓸 수 있다.

    #ai-agents#stripe#machine-payments
  14. 아키텍처·stripe-engstripe-eng·

    1세대 agentic commerce 구축에서 배운 10가지

    문제AI 에이전트가 실제 상품 카탈로그, 재고, 결제, 사기 탐지와 만나면 기존 전자상거래 통합 방식이 흔들린다.

    접근Stripe는 Agentic Commerce Protocol과 Shared Payment Tokens, catalog syndication, protocol-agnostic commerce layer를 적용했다.

    결과판매자는 에이전트별 중복 통합을 줄이고, 실시간 재고 확인과 scoped token 기반 결제로 agentic commerce의 운영 리스크를 낮출 수 있다.

    #stripe#agentic-commerce#lessons-learned
  15. 아키텍처·aws-architectureaws-architecture·

    숨겨진 가격표 — AWS Well-Architected Framework 로 클라우드 아키텍처의 숨은 비용 찾기

    문제클라우드 아키텍처의 잘못된 설계는 보안 사고, 가용성 저하, 과잉 프로비저닝으로 숨은 비용을 만든다.

    접근AWS Cloud Adoption Framework와 Well-Architected Framework의 보안, 신뢰성, 비용 최적화 원칙으로 워크로드를 점검한다.

    결과IAM, 암호화, 장애 복구, 리소스 우측정 같은 기준을 반복 검토해 고위험 이슈와 불필요한 지출을 줄인다.

    #cost-optimization#aws-well-architected#cloud-economics
  16. 아키텍처·aws-architectureaws-architecture·

    6,000개 AWS 계정, 3명, 하나의 플랫폼 — 배운 교훈

    문제SaaS에서 테넌트 격리를 계정 단위로 강화하면 수천 개 AWS 계정의 배포, 관측성, 비용 관리가 운영 병목이 된다.

    접근ProGlove는 tenant별 AWS 계정 모델에 Organizations, SCP, CloudFormation StackSets, Step Functions, 중앙 관측성을 적용했다.

    결과약 6,000개 테넌트 계정과 100만 개 Lambda 함수를 3명이 운영하며, 격리와 비용 귀속을 얻는 대신 플랫폼 자동화 투자가 핵심이 됐다.

    #lessons-learned#aws-multi-account#platform-team
  17. 아키텍처·카카오페이카카오페이·

    카카오페이 여신코어 DDD(Domain Driven Design, 도메인 주도 설계)로 구축하기

    문제카카오페이 후불결제(BNPL) 의 여신코어는 대출·심사·승인 같은 복잡한 도메인 규칙을 다룬다. 절차적 설계로는 도메인 변경이 곧 코드 곳곳의 수정으로 번지기 쉽다.

    접근DDD(Domain Driven Design) 를 적용. 도메인 전문가와 공용하는 유비쿼터스 언어를 정의하고, Spring Multi Module 환경에서 도메인·애플리케이션·인프라 모듈을 분리한다. Entity 와 Repository 의 책임을 명확히 한다.

    결과도메인 규칙 변화가 도메인 모듈 안에서 닫힌다. 신규 시스템 구축 시 DDD 적용 패턴과 실패 포인트를 코드 레벨로 공유.

    #ddd#spring#domain-modeling+1
  18. 아키텍처·29CM29CM·

    쿠폰, 어디에 쓸 수 있어요? — 이벤트 기반 적용 상품 조회 시스템 구축

    문제사용자가 보유한 쿠폰을 어떤 상품에 적용할 수 있는지 확인할 방법이 없었음.

    접근Kafka 기반 이벤트 드리븐 아키텍처로 실시간 데이터 동기화. Debezium CDC 로 변경 감지, 반정규화 테이블 구축, Elasticsearch 인덱싱.

    결과쿠폰 적용 가능 상품 목록 조회 기능 론칭 및 쿠폰 도메인 전반의 성능·안정성 개선.

    #elasticsearch#kafka#event-driven-architecture+2
  19. 아키텍처·카카오페이카카오페이·

    피처 플래그 개발기: 실시간 데이터 동기화를 향한 여정

    문제어드민 서버와 서빙 서버 간 실시간 설정 데이터 동기화 부재로 장애 대응 지연.

    접근Redis Pub/Sub 메인 동기화 + polling 백업 플랜. 어드민은 RedisTemplate.convertAndSend 로 변경 이벤트 발행, 서빙은 ReactiveRedisMessageListenerContainer 구독.

    결과트래픽 전이 방지 + 실시간 데이터 반영 + 안정성 이중화 달성. TickerChannel 기반 polling 으로 Redis 장애 대비.

    #feature-flag#redis-pubsub#message-broker+2
  20. 아키텍처·카카오페이카카오페이·

    Spring 기반 멀티모듈 프로젝트 환경변수 설정 방법

    문제멀티모듈 프로젝트에서 각 모듈별 환경변수 관리 방식이 팀마다 상이하고 일관성 부족.

    접근spring.config.import, spring.profiles.include, @PropertySource, @Profile + @PropertySource 조합 등 4 가지 방식 비교.

    결과@Profile + @PropertySource 조합 선택. 프로필별 명시적 설정 클래스로 "어떤 프로필에서 어떤 파일 수정할지" 명확해져 유지보수성 향상.

    #spring#environment-variables#multi-module+2