راهکار · نرمافزار
هر مشتری محیط خودش را میخواهد. بدهید.
محیط ایزولهٔ هر مشتری، محیط پیشنمایش بهازای هر PR، و تحویل روی زیرساخت مشتری — بدون ده برابر شدن کار تیم زیرساخت.
سه الگوی تحویل
| الگو | چطور | مکانیزم |
|---|---|---|
| میزبانی مشترک | همهٔ مشتریها روی زیرساخت شما، ایزولهشده | پروژه بهازای مشتری، سهمیه و سیاست شبکه |
| ایزولهٔ سخت | مشتریای که کنترلپلن جدا میخواهد | کلاستر مجازی یا کنترلپلن میزبانیشده |
| تحویل در محل | نصب روی زیرساخت خودِ مشتری | همان بستهٔ نصب، از جمله نسخهٔ آفلاین |
هر سه الگو یک محصول است.
کدی که برای میزبانی مشترک نوشتهاید، بدون تغییر در نصب محلی مشتری هم کار میکند. تفاوت سه الگو در جای اجرا است، نه در چیزی که میسازید.
چرخهٔ توسعه
- هر PR
- محیط پیشنمایش کامل با آدرس زنده و دیتابیس ماسکشده
- بازبینی کد
- لینک زنده در کامنت PR — بهجای «روی لپتاپ من کار میکند»
- ادغام
- بیلد خودکار با اسکن و امضا
- انتشار
- کاناری روی درصد ترافیک، بازگشت در چند ثانیه
- نگهداری
- لاگ، متریک و ردیابی از قبل وصل
هشدار مهم دربارهٔ دادهٔ مشتری
آدرس و اعتبارنامهٔ محیط پیشنمایش در کامنت PR منتشر میشود — از جمله روی PRهای fork. اگر آن محیط کپی دیتابیس مشتری داشته باشد، شما تازه دادهٔ مشتری را منتشر کردهاید.
دزکوب snapshot از منبع تولید بدون قانون ماسک را رد میکند، بررسی را پیش از ساخت دیتابیس انجام میدهد، و اگر ماسک شکست بخورد schema را حذف میکند.
چرا این برای شما یک بند قراردادی است
در قرارداد با مشتری معمولاً تعهد دادهاید که دادهٔ او از محیط تولید خارج نشود. این نه یک ویژگی، بلکه همان تعهد است — اعمالشده در کد.
تحویل به مشتری
- نصب در محل مشتری
- همان بستهٔ نصب، با نسخهٔ آفلاین برای مشتریهای حساس
- دسترسی پشتیبانی
- دسترسی موقت با تأیید مشتری و انقضای خودکار
- گزارش مصرف
- تفکیک هزینه بهازای مشتری، برای صورتحساب
- ممیزی برای مشتری
- زنجیرهٔ ممیزی قابل ارائه به مشتری
- ارتقا
- با امکان بازگشت
تیم کوچک زیرساخت
اگر تیم زیرساخت شما دو نفر است و ده مشتری دارید.
- ده محیط دستسازده پروژه با یک قالب مشترک
- اسکریپت جدا برای هر مشترییک قالب پارامتری
- بکاپ دستیزمانبندی مرکزی
- «کی به کجا دسترسی دارد؟»یک صفحه، قابل خروجی گرفتن
- ارتقای دهبارهیک مسیر ارتقا با بازگشت
اینها را هم ببینید
الگوی تحویل خودتان را بیاورید.
در جلسه همان را مدل میکنیم و نشان میدهیم کجا سادهتر میشود و کجا نمیشود.