기술 및 인프라 → 서버리스 접근 및 기능
서버리스 접근 및 기능
1) 서버가없는 것과 언제 필요한가
Serverless는 클라우드가 서버 관리, 스케일링 및 패치를 인수하는 모델이며 팀은 이벤트 처리기를 작성하고 FaaS (Functions-as-a-Service) 및 BaaS (관리 서비스: 대기열, 데이터베이스, 스토리지) 를 사용합니다. 배송 속도에서 승리하고 실제 실행 비용을 지불하며 발포성 부하를 쉽게 확장 할 수 있습니다.
iGaming/fintech에서 특히 유용한 경우:- PSP/KYC 웹 후크 (많은 짧은 쿼리, 예측할 수없는 피크).
- 사기 방지/점수 (이벤트 기능, 강화, 기능 저장소).
- 보고/CDC → DWH (배치 및 스트리밍).
- 마케팅/CRM (트리거 이벤트, 보풀, 쿠폰, 세분화).
- 경량 백엔드 API 및 유틸리티 작업 (스로틀 링, 크론 기능).
- 망설임없이 일정한 낮은 P99 대기 시간 (10 이하) 이 필요합니다.
- 장기 연결/프로토콜 (프록시없이 고주파 실시간).
- 긴 CPU/GPU 및 타이트한 커플 링을 갖춘 크고 안정적인 컴퓨팅.
2) 건축 벽돌
2. 1 FaaS
이벤트 처리기: TP/API 게이트웨이, 대기열, 스트림, 타이머, 객체 스토리지, 데이터베이스 트리거.
얇은 시작/포장: 레이어/이미지 기능, 예열.
2. 2 BaaS 및 통합
도메인 이벤트의 대기열/스트리밍 (최소 한 번), 펍/서브.
스토지: 객체 (원료/아티팩트), KV/캐시, 문서/관계형.
오케스트레이션: 상태 머신/단계 기능, 사가 및 보상.
게이트웨이 API: 인증 (OAuth/OIDC/HMAC), 제한, 변환.
2. 3 네트워크 회로
데이터베이스/비밀/PSP에 액세스하기 위해 VPC의 퍼블릭 프론트 (에지/API 게이트웨이) + 개인 기능.
탈출 제어: PSP/KYC에 대한 허용 목록, 고정 NAT-IP.
3) 성능: 콜드 스타트, 경쟁력, 지속 시간
콜드 스타트: 다운 타임 후 기능 컨테이너의 첫 시작.
Mitigate: 종속성을 최소화하고, "워밍업" (주기적 호출) 을 사용하고, 소스와 동일한 영역에서 기능을 유지하고, 긴 시간을 신중하게 적용하십시오.
경쟁력: PSP/DB를 "플러드" 하지 않도록 'max _ concommency' 및 소스 제한 (대기열/게이트웨이) 을 설정하십시오.
실행 기간: 긴 작업-단계 + 오케스트레이션 (단계 함수) 으로 분류하고 계산이 많으면 배치/컨테이너.
4) 견고성: demotency, 후퇴, DLQ
이념성: 수신시 'Idempotency-Key '/중복 제거 (키 + TTL 스토리지).
Retrai: 지수 백오프 + 지터, 시도 한계; 임시 오류 (5xx/타임 아웃) 와 별도의 비즈니스 오류 (4xx).
DLQ (데드 레터 큐): N 시도 후 전달되지 않은 메시지; 재생 콘솔 및 추적이 필요합니다.
정확히 한 번: 아웃 박스/받은 편지함 템플릿, 트랜잭션 이벤트 로그.
5) 상태 및 오케스트레이션
외부 상점에서는 기능중인 상태가 없습니다.
상태 머신: 결제/출력 단계, KYC 워크 플로, 사기 방지 검사; 명확한 오류/보상 모델.
Sagas: 롤백 할 때 "예약 → 확인 → 보상".
6) 안전 및 준수
최소 권한의 원칙에 따라 IAM: 함수 당 역할, 큐/버킷/테이블에서 범위 지정.
비밀: 비밀 관리자/KMS, 로테이션, 키 용 HSM 레벨.
웹 후크, 바디 시그니처, 시간 창
API 게이트웨이, 요율 제한/할당량에 내장 WAF/봇 보호.
세분화: prod/stage, 서비스 계정, 개인 하위 집합.
PII/PCI: PAN 토큰 화, 로그 마스킹, "데이터 최소화".
감사: 불변의 로그 (WORM), 통화 추적, 규제 스토리지.
7) 관찰 및 품질 관리
메트릭: RPS, P50/P95/P99, 코드 오류, 지속 시간, 콜드 스타트, 트레이 파이프 라인, DLQ 크기.
OTel: 게이트웨이를 통한 trace _ id 상관 관계 → 큐 함수 → DB/PSP; 필수 레이블 'api _ version', 'region', 'partner'.
로그: PII 마스킹으로 구조화되었습니다.
증상에 대한 경고: 화상 속도 SLO, 재 트레이 성장, P99 꼬리.
합성: 대상 국가 (TR/BR/EU) 의 점검, 웹 후크 모방.
8) FinOps 및 비용
전화와 밀리 초 동안 지불하십시오. "추적: 발사 빈도, 지속 시간, 메모리, 트래픽.
프로파일 핫 경로: 레이어/이미지, 캐시 연결에 큰 의존성을 가져옵니다.
제한과 버치로 팬 아웃 (대규모 병렬 호출) 을 제한하십시오.
"누출" 인식: 끝없는 배상, 처리없이 DLQ의 메시지.
예측 예열 및 할당량 인 피크 창 (토너먼트/이벤트) 을 계획하십시오.
9) CI/CD 및 버전 지정
IaC: Terraform/CloudFormation/SAM/CDK-기능, 대기열, 권리, 게이트웨이 템플릿.
포장: 종속성 파일 잠금, 최소 이미지/레이어
테스트: 계약 테스트 (OpenAPI/gRPC), 로컬 런타임과의 통합, demempotency 테스트.
배포: 카나리아/청록색, 깃발, 빠른 롤백.
API 버전 지정: '/vN/' 또는 미디어 유형; 우울증/일몰 및 이벤트 스키마 호환성.
10) iGaming/fintech 패턴
지불/철회 웹 후크: 서명 수락 → 검증 → demempotence → 지불 이벤트 게시. 지갑/보고서 업데이트의 → 오케스트레이션.
거품 방지 점수: 농축 기능 (IP/장치/지리/기록), 비동기 솔루션, 타임 아웃 및 대체 전략.
KYC/AML 파이프 라인: 병렬 점검 (문서, 제재, PEP), 결과 집계, 반복 요청에 대한 사가.
토너먼트/등급: 라운드 이벤트 → 스트리밍 집계 → 리더 보드 업데이트, 읽기 용 TTL 캐시.
규제 기관에보고: CDC → 변환 함수 → 데이터 신선도에 대한 DWH, SLA 쇼케이스.
마케팅/CRM: 동작은 → 쿠폰/보풀, 중복 제한 및 사용자 제한을 유발합니다.
11) 샘플 조각
11. 1 Idempotent 웹 후크 수신 (의사 코드)
python def handler(event):
assert verify_hmac(event. headers, event. body, secret)
key = f"idemp:{event. headers['Idempotency-Key']}"
if kv. exists(key):
return kv. get (key) # repeat - give the same result result = process (event. body) # public event, state record kv. set(key, result, ttl=86400)
return result
11. 2 철수 오케스트레이션 (상태 머신, 아이디어)
1. 'validate _ 요청' → 2) 'lock _ balance' → 3) 'call _ psp' (retras 포함) →
2. (PHP 3 = 3.0.6, PHP 4)
12) 서버리스 구현 체크리스트
1. 이벤트 소스 및 계약 준비 (회로도/버전) 가 식별됩니다.
2. 경쟁 제한과 "주의" 배상이 설정되었으며 DLQ와 재생이 있습니다.
3. 개인 네트워크/VPC, 출구 허용 목록, PSP에 대한 고정 IP가 포함되어 있습니다.
4. KMS/Secret Manager의 최소 권한, 비밀의 원칙에 대한 IAM.
5. 관찰 가능성: OTel 추적, P99 대시 보드/오류/콜드 스타트.
6. FinOps: 예산, 비용 경고, 지속 시간/메모리 제어.
7. CI/CD: 카나리아/청록색, 계약/dedempotences의 자동 시험.
8. 문서: DevPortal/Postman 컬렉션, 페이로드 예, 우울증/일몰.
13) 반 패턴
"두꺼운" 기능은 많은 종속성을 가지고 있습니다. → 느린 콜드 스타트.
idempotency 부족 및 webhooks의 서명 → 중복/사기.
제한없이 팬 아웃 → 경쟁의 폭풍, 공급자의 스로틀.
추적/경고없이 타이머/크라운의 논리 → "조용한" SLA 실패.
암호화없이 환경 변수에서 생산 비밀을 혼합합니다.
Schema Registry 및 호환성 규칙이없는 이벤트 계약
14) 결론
Serverless는 클라우드 이벤트 운영 체제입니다. 비즈니스 로직에 중점을두고 있으며 스케일링 및 인프라가 필요합니다. "FaaS + 관리 서비스를 결합하고, demempotency, 오케스트레이션 및 관찰 가능성, 징계 비용을 추가하고, 정점을 견딜 수 있고, 빠르게 발전하며 경제적으로 유지할 수있는 플랫폼을 확보하십시오.