زیرساخت ابری ویسا،
لایه به لایه.

این صفحه برای کسانی است که می‌خواهند بدانند سایتشان دقیقاً روی چه چیزی اجرا می‌شود: از کلاستر Kubernetes تا دیتابیس اختصاصی و خط استقرار GitOps.

نمودار معماری ویسا: لایهٔ مدیریت ابری ویسا دو نود را مدیریت می‌کند. روی نود اول سه سایت و روی نود دوم دو سایت اجرا می‌شود و هر سایت وردپرس، دیتابیس و فضای ذخیره‌سازی مستقل خودش را دارد.
WEESA CLOUDمدیریت خودکار با Kubernetes
NODE 01 Ready
NODE 02 Ready
روی یک سایت کلیک کنید تا ببینید چه منابعی فقط به همان سایت تعلق دارد.
Architecture

مسیر یک تغییر، از Git تا سایت در حال اجرا

هر سایت از یک تعریف نسخه‌دار شروع می‌شود و تا رسیدن ترافیک کاربر، از این لایه‌ها عبور می‌کند.

  1. GitDesired state

    تعریف نسخه‌دار سایت و منابع آن

    ۱
  2. Argo CDGitOps sync

    همگام‌سازی خودکار کلاستر با تعریف موجود در Git

    ۲
  3. HarborPrivate registry

    تأمین ایمیج کانتینری وردپرس

    ۳
  4. KubernetesRancher-managed cluster

    زمان‌بندی Workload روی نود مناسب و اعمال سهم منابع

    ۴
  5. Site workloadWordPress container

    اجرای وردپرس سایت

    ۵
  6. Database + StorageDedicated / persistent

    اتصال دیتابیس اختصاصی و حجم پایدار

    ۶
  7. Ingress + TLSHTTPS

    رسیدن ترافیک دامنه با SSL به سایت

    ۷
Components

اجزای زیرساخت و کاری که برای سایت شما می‌کنند

Kubernetes

هماهنگ‌سازی خودکار

Kubernetes اجرای Workloadها را روی کلاستر مدیریت می‌کند: زمان‌بندی روی نودها، اعمال سهم منابع و راه‌اندازی مجدد کانتینرهای ناسالم.

  • Scheduling بر اساس منابع درخواستی
  • Requests و Limits برای هر سایت
  • Health probes و restart خودکار

Nodes

کلاستر چندنودی

زیرساخت از چند نود تشکیل شده و ظرفیت آن با افزودن نود گسترش می‌یابد. مدیریت کلاستر و نودها با Rancher انجام می‌شود.

  • اجرای سایت‌ها روی چند سرور
  • مدیریت متمرکز با Rancher
  • افزایش ظرفیت با افزودن نود

Workloads

وردپرس کانتینری

هر سایت یک Workload کانتینری مستقل است که از ایمیج آماده و یکسان وردپرس ساخته می‌شود.

  • ایمیج استاندارد و نسخه‌دار
  • پیکربندی مخصوص هر سایت
  • به‌روزرسانی تدریجی (rolling)

Database Isolation

دیتابیس مستقل

برای هر سایت دیتابیس اختصاصی ساخته می‌شود و اطلاعات اتصال آن فقط در اختیار Workload همان سایت است.

  • بدون جدول مشترک
  • اعتبارنامهٔ مخصوص هر سایت
  • بکاپ مستقل

Storage

حجم پایدار

فایل‌های سایت روی حجم ذخیره‌سازی پایدار نگه‌داری می‌شوند و با راه‌اندازی مجدد یا جابه‌جایی کانتینر از بین نمی‌روند.

  • Persistent Volume برای هر سایت
  • جدا از چرخهٔ عمر کانتینر
  • نمایش مصرف در داشبورد

Registry

Harbor خصوصی

ایمیج‌های کانتینری در رجیستری خصوصی Harbor نگه‌داری و از همان‌جا مستقر می‌شوند.

  • منبع کنترل‌شدهٔ ایمیج‌ها
  • نسخه‌بندی ایمیج‌ها
  • بدون وابستگی مستقیم به رجیستری عمومی

GitOps

Argo CD

وضعیت مطلوب زیرساخت در Git تعریف می‌شود و Argo CD کلاستر را با آن همگام نگه می‌دارد.

  • تغییرات نسخه‌دار و قابل بازبینی
  • بازگشت به نسخهٔ قبل
  • استقرار تکرارپذیر

Deployment

استقرار خودکار

ساخت سایت، به‌روزرسانی و تغییر منابع به‌صورت Deployment ثبت و مرحله‌به‌مرحله اجرا می‌شوند.

  • تاریخچهٔ هر Deployment
  • وضعیت هر مرحله در داشبورد
  • بررسی سلامت پیش از آماده شدن

Monitoring

پایش

وضعیت Workloadها و مصرف منابع پایش می‌شود و در داشبورد به‌صورت نمودار و هشدار نمایش داده می‌شود.

  • مصرف CPU و حافظه
  • زمان پاسخ
  • هشدار نزدیک شدن به سقف منابع

Recovery

بازیابی

بازیابی در دو سطح انجام می‌شود: Kubernetes کانتینرهای ناسالم را دوباره اجرا می‌کند و بکاپ‌ها امکان بازگرداندن فایل‌ها و دیتابیس سایت را فراهم می‌کنند.

  • راه‌اندازی مجدد خودکار Workload
  • بکاپ زمان‌بندی‌شده
  • بازیابی نسخه از داشبورد
For Developers

برای توسعه‌دهندگان و آژانس‌ها

وردپرس در ویسا استاندارد است؛ اما محیط اجرای کانتینری چند نکته دارد که دانستنش در توسعه و نگهداری سایت کمک می‌کند.

ساختار منابع هر سایت
# every site owns its resources
site/<slug>
├── workload   WordPress + PHP  # image from private registry
├── database   dedicated instance
├── storage    persistent volume # wp-content
├── config     per-site config & secrets
└── domains    default + custom, automatic TLS
چرخهٔ تغییر زیرساخت
# infrastructure changes are declarative
git commit   "site: raise memory quota"
  └─▶ argo-cd   detects drift, syncs cluster
       └─▶ kubernetes rolling update
            └─▶ health  probes pass → ready

# every step is recorded as a deployment
  • داده‌های ماندگار

    رسانه‌ها، افزونه‌ها و قالب‌ها در wp-content روی Storage پایدار هستند. به تغییر دستی فایل‌های هستهٔ وردپرس تکیه نکنید.

  • پیکربندی تزریقی

    اطلاعات اتصال دیتابیس و کلیدها توسط پلتفرم تزریق می‌شوند؛ آن‌ها را در کد یا مخزن hard-code نکنید.

  • دسترسی برنامه‌نویسی

    مدیریت سایت‌ها از داشبورد انجام می‌شود. برای یکپارچه‌سازی سازمانی، درخواست خود را از طریق پشتیبانی فنی ثبت کنید.

FAQ

سؤالات فنی

آیا هر سایت Database مستقل دارد؟

بله. برای هر سایت یک دیتابیس اختصاصی ساخته می‌شود؛ نه مجموعه‌ای از جدول‌ها با پیشوند متفاوت در یک دیتابیس مشترک. به همین دلیل بار دیتابیس، دسترسی‌ها، بکاپ و بازیابی هر سایت از سایت‌های دیگر جداست.

سایت‌ها چگونه ایزوله هستند؟

هر سایت Workload کانتینری خودش را با سهم مشخص از CPU و حافظه دارد، به دیتابیس اختصاصی خودش متصل است و فایل‌هایش روی حجم ذخیره‌سازی مستقل نگه‌داری می‌شود. تنظیمات و اطلاعات محرمانهٔ هر سایت هم جداست؛ بنابراین مصرف منابع یا خطای یک سایت روی سهم سایت‌های دیگر اثر نمی‌گذارد.

سایت‌ها روی چند Node اجرا می‌شوند؟

زیرساخت ویسا یک کلاستر چندنودی است و Kubernetes تعیین می‌کند Workload هر سایت روی کدام نود اجرا شود. تعداد نودها با رشد ظرفیت پلتفرم تغییر می‌کند، به همین دلیل عدد ثابتی اعلام نمی‌کنیم؛ نکتهٔ مهم این است که سایت شما به یک سرور فیزیکی مشخص گره نخورده است.

Kubernetes چه فایده‌ای برای سایت من دارد؟

Kubernetes سیستمی است که اجرای Workloadها را روی چند سرور مدیریت می‌کند: تصمیم می‌گیرد هر سایت کجا اجرا شود، سهم منابع هر سایت را اعمال می‌کند و اگر محیط اجرای سایت از کار بیفتد آن را دوباره راه‌اندازی می‌کند. نتیجه برای شما یعنی کارهای عملیاتی کمتر و محیطی قابل پیش‌بینی‌تر.

شروع با ویسا

زیرساخت را به ما بسپار.

روی سایت و کسب‌وکارت تمرکز کن؛ اجرای پایدار آن با ویساست.