GH GambleHub

Технология және инфрақұрылым → Serverless-тәсіл және функциялар

Serverless-тәсілі мен функциялары

1) serverless дегеніміз не және ол қажет болғанда

Serverless - бұлт серверлерді басқаруды, масштабтауды және патчтарды өз мойнына алатын модель, ал команда оқиға өңдегіштерін жазады және FaaS (Functions-as-a-Service) және BaaS (managed services: кезектер, DB, сақтау орындары) пайдаланады. Сіз жеткізу жылдамдығында ұтасыз, іс жүзінде орындау үшін төлейсіз және «көпірмелі» жүктемелерді оңай масштабтайсыз.

Бұл әсіресе iGaming/финтехте пайдалы:
  • PSP/KYC вебхоктары (көптеген қысқа сұраулар, болжанбайтын шыңдар).
  • Антифрод/скоринг (оқиғалық функциялар, enrichment, feature store).
  • Есептілік/CDC → DWH (пакеттік және стримингтік өңдеу).
  • Маркетинг/CRM (триггерлік оқиғалар, пушка, купондар, сегментация).
  • Жеңіл backend-API және қызметтік тапсырмалар (throttling, cron-функциялары).
Серверлессті қашан пайдаланбау керек:
  • Тұрақты төмен P99-латенттілік (суб-10мс) тербеліссіз талап етіледі.
  • Ұзақ өмір сүретін қосылыстар/хаттамалар (проксисіз жоғары жиілікті real-time).
  • Ұзақ CPU/GPU және tight coupling бар үлкен, stateful есептеулер.

2) Сәулет кірпіштері

2. 1 FaaS

Оқиғаларды өңдеушілер: HTTP/API-шлюз, кезектер, ағындар, таймерлер, объектілік сақтау орны, БД-триггерлер.
Жұқа бастау/пакеттеу: қабаттар/бейнелеу функциялары, жылыту.

2. 2 BaaS және интеграция

Домен оқиғаларына арналған кезектер/стриминг (at-least-once), Pub/Sub.
Қоймалар: объектілік (шикізат/артефактілер), KV/кэш, құжаттар/реляционка.
Оркестрлеу: state machines/step functions, сагалар және өтемақылар.
API-шлюз: аутентификация (OAuth/OIDC/HMAC), лимиттер, трансформациялар.

2. 3 Желілік контур

Ашық фронт (edge/API-шлюз) + БД/құпияларға/PSP қол жеткізу үшін VPC-дегі жеке функциялар.
Egress-бақылау: allow-list PSP/KYC, тіркелген NAT-IP.

3) Өнімділік: суық бастау, бәсекелестік, ұзақтығы

Суық бастау: тоқтап тұрғаннан кейін функция контейнерін бірінші рет іске қосу.
Митигирлеу: тәуелділікті азайтыңыз, «жылыту» (periodic invoke) пайдаланыңыз, функцияларды көздермен бір аймақта ұстаңыз, ұзақ уақытты сақтықпен қолданыңыз.
Бәсекелестік: PSP/ДҚ «құю» үшін 'max _ concurrency' және көзіне (кезек/шлюз) лимиттер қойыңыз.
Орындау ұзақтығы: ұзақ міндеттер үшін - қадамдарға бөлу + оркестрлеу (step functions), ауыр есептеулер үшін - batch/containers.

4) Сенімділік: теңсіздік, ретра, DLQ

Сәйкестігі: «Idempotency-Key »/қабылдаудағы дедупликация (кілт + TTL-сақтау орны).
Ретраилер: экспоненциалды backoff + jitter, әрекеттер лимиттері; бизнес-қателерді (4xx) уақытша қателерден (5xx/timeout) бөліңіз.
DLQ (dead-letter queue): N әрекетінен кейін өтпеген хабарлар үшін; replay-консоль және трассировка міндетті.
Exactly-once (іс жүзінде): outbox/inbox үлгілері, оқиғаның транзакциялық журналы.

5) Жай-күйі және оркестрлеу

Функцияда күйсіз, сыртқы қоймаларда күйде.
State machines: төлем/шығару қадамдары, KYC-workflow, антифрод-тексеру; қателер/өтемақылардың нақты үлгісі.
Сағалар: қайтару кезінде «резервтеу → растау → өтеу».

6) Қауіпсіздік және сәйкестік

IAM ең аз артықшылықтар қағидаты бойынша: per-функция рөлі, кезектегі scoping/бакеттер/кесте.
Құпиялар: құпия менеджері/KMS, ротация, кілттер үшін HSM деңгейі.
mTLS/HMAC вебхуктер үшін, дененің қолы, уақыт терезесі ± 5 мин.
API-шлюзде орнатылған WAF/бот-қорғау, rate-limits/quotas.
Сегментация: прод/стейдж, сервистік аккаунттар, жеке сабсеттер.
PII/PCI: PAN токенизациясы, логтарды бүркемелеу, «деректерді барынша азайту».
Аудит: өзгермейтін логтар (WORM), шақыруларды трассалау, реттегіш бойынша сақтау.

7) Бақылау және сапаны бақылау

Метриктер: RPS, P50/P95/P99, кодтар бойынша қателер, ұзақтығы, суық старттар, ретрайлер конвейері, DLQ size.
Трейсинг (OTel): шлюз арқылы 'trace _ id' корреляциясы → функция → кезек → ДБ/PSP; міндетті лейблдер 'api _ version', 'region', 'partner'.
Логтар: құрылымдалған, PII бүркемеленген.
Симптомдары бойынша алерталар: burn-rate SLO, ретрациялардың өсуі, P99 құйрығы.
Синтетика: мақсатты елдерден тексерулер (TR/BR/EU), вебхуктарды имитациялау.

8) FinOps және құны

«Шақырулар мен миллисекундтар үшін» төлеңіз. Іске қосу жиілігін, ұзақтығын, жадын, трафигін қадағалау.
Ыстық жолдарды профильдеңіз: қатты тәуелділіктерді қабатқа/бейнеге шығарыңыз, қосылымдарды кэштеңіз.
Фан-аутты (жаппай қатарлас шақыруларды) лимиттермен және батчингпен тежеңіз.
«Ағып кетулерді» таныңыз: шексіз ретрациялар, DLQ хабарларын өңдеусіз.
Ең жоғары терезелерді (турнирлер/іс-шаралар) жоспарлаңыз - болжамды жылыту және квоталар.

9) CI/CD және нұсқаларды басқару

IaC: Terraform/CloudFormation/SAM/CDK - функциялардың, кезектердің, құқықтардың, шлюздердің үлгілері.
Пакеттеу: тәуелділіктің lock файлдары, ең аз кескін/қабаттар.
Тестілеу: келісімшарт-тесттер (OpenAPI/gRPC), жергілікті рантайммен интеграцияланған, іспеттілік тестілері.
Деплой: canary/blue-green, feature flags, жылдам rollback.
API нұсқасы: '/vN/' немесе медиатиптер; Deprecation/Sunset және оқиғалар схемаларының үйлесімділігі.

10) iGaming/финтех үшін үлгілер

Төлемдер/қорытындылар веб-хаптары: қабылдау → қолтаңбаны валидациялау → демпотенттік → оқиғаны жариялау 'payout. updated '→ әмиян/есеп жаңартуларын топтастыру.
Антифрод-скоринг: enricher функциясы (IP/девайс/гео/тарих), асинхронды шешім, таймауттар және fallback стратегиялары.
KYC/AML пайплайн: қатарлас тексерулер (құжаттар, санкциялар, PEP), нәтижелерді біріктіру, қайталама сұраулар үшін сағаттар.
Турнирлер/рейтингтер: раундтар оқиғалары → streaming-агрегациялар → көшбасшылар кестелерін жаңарту, оқуға арналған TTL-кэш.
Реттеушілерге есеп беру: CDC → трансформация функциялары → DWH, SLA-дағы витриналар.
Маркетинг/CRM: мінез-құлық триггерлері → купондар/пуштар, дедупликация және пайдаланушыға арналған лимиттер.

11) Фрагменттердің мысалдары

11. 1 Вебхукты (жалған кодты) іспеттес қабылдау

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 Құралдарды шығару оркестрі (state machine, идея)

1. 'validate _ request' → 2) 'lock _ balance' → 3) 'call _ psp' (ретраларымен) →

2. 'await _ webhook' (таймаут → өтемақы) → 5) 'finalize/notify'.

12) serverless енгізу чек-парағы

1. Келісімшарттар (схемалар/нұсқалар) бойынша оқиғалар мен уағдаластықтардың көздері анықталды.
2. Бәсекелестік лимиттері мен «сақтық» ретрайлары реттелген, DLQ және replay бар.
3. Жеке желілер/VPC, egress-allow-list, тіркелген IP PSP қосылған.
4. IAM ең аз артықшылықтар қағидаты бойынша, KMS/Secret Manager құпиялары.
5. Observability: OTel трассасы, P99/қателер/суық бастау бойынша дашбордтар.
6. FinOps: бюджеттер, құн тәуекелдері, ұзақтығын/жадын бақылау.
7. CI/CD: canary/blue-green, келісімшарттардың/іспеттіліктің автотестері.
8. Құжаттама: DevPortal/Postman коллекциялары, payload's мысалдары, Deprecation/Sunset.

13) Қарсы үлгілер

Тәуелділік үйіндісімен «қалың» функциялар → баяу суық бастау.
Вебхуктардың сәйкессіздігі мен қолтаңбасының жоқтығы → дубликаттар/алаяқтық.
Лимитсіз фан-аут → бәсекелестік дауылы, провайдердегі троттлинг.
Трасссыз/алертсіз таймердегі/крондағы логика → SLA «тыныш» сәтсіздіктері.
Шифрлаусыз қоршаған ортаның ауыспалыларында прод-құпияларды араластыру.
Schema Registry және сыйысымдылық ережелері жоқ оқиғалар келісімшарттары.

14) Қорытынды

Serverless - бұл бұлттың оқиғалық операциялық жүйесі: сіз бизнес логикаға назар аударасыз, ал масштабтау және инфрақұрылым - «талап бойынша». FaaS + басқарылатын сервистерді қосыңыз, идемпотенттілікті, оркестрді және бақылауды қосыңыз, құнды реттеңіз - және шыңға төзетін, тез дамитын және үнемді болып қалатын платформаны алыңыз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.