استراتژی چند ابری و مهاجرت
1) چرا چند ابر و چه زمانی توجیه می شود
اهداف: تداوم کسب و کار (ذخیره ارائه دهنده)، حاکمیت داده ها/صلاحیت، بهینه سازی ارزش/تخفیف، دسترسی به بهترین خدمات مدیریت شده (ML/anti-fraud/analytics).
مصالحه: افزایش پیچیدگی عملیات، تکرار صلاحیت ها، هزینه های خروج از شبکه.
کلید: از قبل تعیین کنید که در کجا قابلیت حمل مورد نیاز است و قفل فروشنده برای سرعت/قیمت قابل قبول است.
2) مدل های معماری هدف
هسته قابل حمل: هسته بحرانی (API، خدمات دامنه، داده ها) - قابل حمل (K8s، Postgres، Kafka، Redis، MinIO/Vault) ؛ حاشیه - بومی مدیریت.
چند ابر فعال: دو ابر به طور همزمان در خدمت ترافیک هستند (دشوار است: درگیری داده ها، مسیریابی جهانی).
فعال منفعل (گرم/گرم): یکی - اصلی، دوم - گرم/گرم دکتر
ترکیبی: بخشی در he-prem/بخشی در ابرها (اغلب برای محدودیت های قانونی/PII).
3) الگوهای تحمل پذیری
Kubernetes به عنوان یک پلت فرم پایه (نام مستعار: EKS/GKE/AKS/on-prem K8s).
مش سرویس (mTLS، تغییر ترافیک، محل/شکست ؛ هستیو/Linkerd).
IaC: ترافرم + انتزاعات مدولار ؛ для K8s - هلم/Kustomize + GitOps (آرگو/شار).
اسرار: HashiCorp Vault/اپراتور اسرار خارجی ؛ انتزاع بیش از KMS/HSM.
مخازن: Postgres (اپراتورها/Patroni)، کافکا (اپراتورها/MirrorMaker2)، Redis (نگهبان/خوشه)، S3-compatible (MinIO) برای یکنواختی API.
قابلیت مشاهده: OpenTelemetry + فروشندگان خنثی (Prometheus/Tempo/Loki/ClickHouse).
احراز هویت: OIDC/OAuth2 (Keycloak/Auth0/Entra/Google)، فدراسیون متحد.
لایه API: Envoy/NGINX/Contour + سیاست های کلی (CORS، هدر های اجباری، محدودیت های نرخ).
4) استراتژی های مهاجرت (7R - کوتاه)
Rehost (Lift-and-Shift): سریع، بدون بازیافت ؛ خوب برای بدون دولت/VM، بد برای هزینه.
Replatform: مهاجرت به وابستگی های K8s/simplifying (کمتر خطرناک از refactor).
Refactor/Repurchase: بازنویسی برای الگوهای قابل حمل یا جایگزینی با سرویس SaaS.
حفظ/بازنشستگی: ترک/لغو آنچه شما لازم نیست برای حمل.
تمرین: شروع با رجیستری خدمات (بحرانی، RTO/RPO، SLO، وابستگی)، جمع آوری امواج مهاجرت (توسط دامنه).
5) اطلاعات و سازگاری
تکرار/CDC: Debezium/log straining برای Postgres/MySQL ؛ کافکا MirrorMaker2 برای موضوعات
هماهنگ سازی دو طرفه: فقط با کلید های idempotency و versioning دقیق (بردار clock/updated_at).
Dual-write with deduplication - رکوردها 'Idempotency-Key '/' event _ id' + outbox/inbox برای تحویل تضمین شده مشخص شده اند.
مالکیت مشترک: رهبر-منطقه/ابر در هر کلید/مستاجر برای جلوگیری از درگیری.
پول نقد: محلی-منطقه ای ؛ جهانی تنها از طریق حوادث/TTL (هیچ «به اشتراک گذاشته» کش جهانی با قوام قوی).
6) ترافیک و شبکه جهانی
GSLB/DNS: تاخیر/مسیریابی جغرافیایی + بررسی سلامت، وزن برای قناری/feilover.
Anycast/Edge/CDN برای نزدیکی به کاربر، سپس - تخمگذار به نزدیکترین منطقه سالم/ابر.
کانال های مستقیم: اتصال/ExpressRoute/اتصال مستقیم بین ابرها/on-prem برای کاهش خروج/تاخیر.
سیاست های مشتری: زمان کوتاه، عقب ماندگی نمایی + jitter، تکرار تکرار، idempotency عملیات نوشتن.
7) ایمنی و انطباق
mTLS در همه جا (مش + SPIFFE/SPIRE یا PKI بومی).
KMS/HSM: API انتزاعی از طریق خرک ؛ تقسیم بندی کلیدی در هر حوزه قضایی/مستاجر.
IAM: نقش یکپارچه و مدل گروه (SCIM/SSO)، سیاست حداقل امتیاز، اعتبار موقت (STS).
اسرار/چرخش: چرخش خودکار نشانه/کلمه عبور ؛ مسدود کردن «طولانی» کلید های استاتیک.
انطباق: PCI DSS/GDPR - اقامت داده ها، سیاهههای مربوط به ممیزی جداگانه، جغرافیایی بلوک.
8) قابلیت مشاهده، SLO و بودجه خطا
قرمز/استفاده از سیگنال + مسیرهای پیاده روی + پروفایل در تمام ابرها ؛ فرمت تک ورود (JSON + 'trace _ id').
ردیابی نمونه گیری مبتنی بر دم: صرفه جویی در خطاها/p99، بخش های «ابر»، «منطقه»، «مستاجر».
SLO در هر ابر/منطقه + مجموع کل ؛ هشدار توسط سوزاندن نرخ (چند پنجره).
داشبورد قناری «قبل/بعد از مهاجرت»، گزارش رگرسیون.
9) CI/CD و مدیریت پیکربندی
GitOps: مصنوعات تصاویر یکی هستند، پیکربندی - در هر محیط/منطقه از طریق مقادیر Helm/Kustomize پوشش.
اسرار از طریق اپراتور اسرار خارجی (پل هایی به فروشگاه های مخفی AWS/GCP/Azure).
جریانهای تبلیغاتی: dev → مرحله بندی → قناری (ابر A) → قناری (ابر B) → کامل.
گیت های انتشار: آزمون SLO/Synthetic/Contract-test قبل از رشد وزن ترافیک.
10) هزینه و FinOps
نرخ خروج بین ابرها، تخفیف های برنامه های RI/CUD/Savings، بسته های بازار را در نظر بگیرید.
قانون 80/20: انتقال تنها 20 درصد از بزرگترین ریسک کسب و کار بقیه جایی است که ارزان تر/آسان تر است.
معیارهای Downsampling، سیاهههای مربوط به ذخیره سازی سرد، محدودیت در مسیرهای پیاده روی (نمونه برداری آگاه از بودجه).
برچسب زدن منابع: 'ENV'، 'تیم'، 'خدمات'، 'مستاجر'، 'هزینه _ مرکز' - برای صدور صورت حساب شفاف.
11) برنامه های مهاجرت (playbook)
11. 1 آماده سازی
1. فهرست خدمات/داده ها/وابستگی ها ؛ هدف RTO/RPO/SLO.
2. مدل (فعال فعال در مقابل فعال منفعل) و لایه شبکه (GSLB/Anycast) را انتخاب کنید.
3. آماده سازی Sandbox در ابر هدف: خوشه K8s، مش، قابلیت مشاهده، اسرار.
11. ۲ اجرا و اعتبارسنجی
4. ترافیک سایه: درخواست های معکوس بدون تاثیر بر فروش
5. تست های قرارداد (OpenAPI/gRPC/CDC) و مصنوعی در امتداد مسیرهای کلیدی.
6. CDC/تکرار: هماهنگ سازی داده های داغ، آشتی سازگاری.
11. 3 تعویض
7. نوشتن دوگانه (idempotent) به درصد محدودی از کاربران/مستاجران.
8. تغییر ترافیک مرحله ای (1٪ → 10٪ → 50٪ → 100٪) با دروازه های SLO.
9. انجماد/حرکت حالت ؛ اجاره نهایی برش ؛ برگزاری حلقه قدیمی در «فقط خواندنی» تا آشتی نهایی.
11. ۴ پس از مهاجرت
10. چک کردن سیاهههای مربوط حسابرسی/سیاهههای مربوط, آرشیو عکس های فوری قدیمی, بهینه سازی خروج/کش.
11. ارتقا runbooks و آموزش در تماس.
12) DR و آزمون تحمل خطا
GameDay: قطع کل یک ابر/منطقه ؛ اندازه گیری RTO/RPO واقعی.
تزریق هرج و مرج: از دست دادن بسته ها/افزایش تاخیر متقابل لینک، افت کارگزار/پایه.
پرچم های تخریب خودکار: غیرفعال کردن ویژگی های «گران»، تغییر به کش «stale-while-revalidate».
13) ضد گلوله
«پاک» فعال بدون توافقنامه مالکیت داده → درگیری/تکراری.
کش جهانی مشترک با قوام قوی - تاخیر/ازدحام.
Retrays without idempotency → تکرار نوشتن آف/سفارشات.
فرمت های مختلف ورود/ردیابی در ابرها - از دست دادن همبستگی.
عدم وجود یک مدل IAM/مخفی.
مهاجرت «همه در یک بار» بدون امواج و دروازه.
14) ویژگی های iGaming/امور مالی
حوزه های قضایی و اقامت داده ها: سیاهههای مربوط به PII/پرداخت باقی می ماند «در داخل کشور/منطقه»، ابر متقابل - تنها aggregates/ناشناس.
ارائه دهندگان پرداخت: چند PSP و مسیریابی هوشمند توسط ابر/منطقه ؛ webhooks - از طریق یک کارگزار جهانی با deduplication.
فیلترهای تحریم/انطباق: پروفایل های منطقه ای ؛ شکست سریع در PSP مجاز است.
SLO «مسیرهای پول» بالاتر از عمومی ؛ هشدارهای فردی/deshboards در هر ارائه دهنده/منطقه.
حسابرسی: ثبت معاملات غیر قابل تغییر، نوشتن همزمان به دو ذخیره سازی مستقل (WORM/S3 Object Lock).
15) تولید لیست آمادگی
- مدل هدف انتخاب شده (هسته قابل حمل/فعال/آماده به کار) ؛ RTO/RPO/SLO تعریف شده است.
- IaC/GitOps: مدولار Terraform/Helm/Kustomize ؛ تنها مش و سیاست های امنیتی.
- قابلیت مشاهده: OTel در تمام رسانه ها ؛ فرمت کلی سیاهههای مربوط ؛ tail-sampling by errors/p99.
- داده ها: CDC پیکربندی شده است ؛ دو نوشتن idemotent است; یک برنامه حل تعارض وجود دارد.
- GSLB/DNS/Anycast и بررسی سلامت ؛ تغییر ترافیک فاز با دروازه های SLO.
- اسرار و KMS: انتزاع از طریق Vault ؛ چرخش ؛ تقسیم بندی بر اساس منطقه
- FinOps: مدل های ارزش، محدودیت های خروج، برچسب ها و سهمیه ها ؛ گزارش هزینه ها
- تمرینات انجام شده ؛ RTO/RPO واقعی runbooks به روز شده اندازه گیری شده است.
- قراردادهای API/رویداد در هر دو ابر تایید شده است ؛ نظارت بر وب سایت ها
- برای iGaming/Finance: اقامت داده ها، مسیریابی چند PSP، سیاهههای مربوط به WORM.
16) TL ؛ دکتر متخصص
ساخت یک هسته قابل حمل (K8s + IaC + مش + OTel + خرک) و انتخاب یک الگوی چند ابر برای اهداف کسب و کار RTO/RPO/SLO و هزینه. انتقال را در امواج انجام دهید: ترافیک سایه → CDC → نوشتن دوگانه → ترافیک مرحله ای با دروازه های SLO. داده ها را از طریق idempotency و outbox/inbox، ترافیک از طریق GSLB/Anycast، امنیت از طریق mTLS/KMS/Vault مدیریت کنید. برای iGaming - اقامت دقیق داده ها و قوانین چند PSP، SLO های جداگانه برای مسیرهای «پول».