مسئله را پیش از ابزار میفهمیم
هدف کسبوکار، الگوی بارکاری، معماری فعلی و تجربه کاربران را بررسی میکنیم. فناوری زمانی پیشنهاد میشود که مسئلهای روشن را حل کند و نگهداشت آن در توان سازمان باشد.
زیرساخت، بارکاری، الزامات امنیتی و توان تیم هر سازمان با دیگری فرق دارد. به همین دلیل پیش از پیشنهاد فناوری، زمینه را میفهمیم و راهی را طراحی میکنیم که در همان محیط قابل اجرا و نگهداشت باشد.
الگوی استقرار برنامه، محدودیت شبکه، سطح حساسیت داده، الزامات دسترسپذیری، فرایند توسعه و ظرفیت تیم داخلی، تصمیم معماری را تغییر میدهند. ما این متغیرها را کنار هدف فنی و کسبوکار میگذاریم تا پیشنهاد با واقعیت اجرا هماهنگ باشد.
ابزار یا پلتفرم زمانی وارد طرح میشود که نقش آن، هزینه عملیاتی و پیامدهایش روشن باشد. اگر محیط فعلی نیاز را برآورده میکند، مهاجرت صرفاً برای استفاده از فناوری تازه هدف ما نیست.
انتخابی را ترجیح میدهیم که با ریسک، محدودیت و توان نگهداشت محیط سازگار باشد و بتوان اثرش را مشاهده و بازبینی کرد.
هدف کسبوکار، الگوی بارکاری، معماری فعلی و تجربه کاربران را بررسی میکنیم. فناوری زمانی پیشنهاد میشود که مسئلهای روشن را حل کند و نگهداشت آن در توان سازمان باشد.
Bare Metal، ماشینهای مجازی، Private یا Public Cloud، محیط Hybrid، کلاستر موجود و برنامههای قدیمی هر کدام زمینه و محدودیت خود را دارند. ابتدا وابستگیها را میشناسیم و سپس گزینههای تغییر را میسنجیم.
طراحی فقط نمودار مقصد نیست. مسیر استقرار، مشاهدهپذیری، دسترسی، پشتیبانگیری، بازیابی، ظرفیت، هزینه و توان تیم برای نگهداشت هم باید در تصمیم لحاظ شوند.
کار را به گامهایی با اولویت، مالک مشخص و معیار پذیرش تقسیم میکنیم. هر تغییر با سطح ریسک متناسب اعتبارسنجی میشود و در صورت نیاز، مسیر بازگشت آن از قبل تعریف میشود.
Infrastructure as Code، مدیریت پیکربندی، CI/CD، GitOps، آزمون خودکار و رویههای عملیاتی استاندارد، کارهای تکراری را کم میکنند و تغییر را قابل ردیابیتر میسازند.
کنترل دسترسی، مدیریت secret، امنیت زنجیره تحویل، سیگنالهای عملیاتی، ظرفیت، سناریوهای شکست و بازیابی را با توجه به حساسیت هر سرویس وارد برنامه میکنیم.
با داراییهای فنیای که مشتری در اختیار دارد کار میکنیم: سرور فیزیکی، ماشین مجازی، زیرساخت On-Premises، حسابهای ابری، شبکه، ذخیرهسازی، Kubernetes و برنامههای موجود. راهحل را با محدودیتهای دسترسی، سیاست امنیتی و برنامهی تغییر همان محیط هماهنگ میکنیم.
AcomOps زیرساخت، سرور، VPS یا بستهی میزبانی نمیفروشد. نقش ما فراهمکردن مهندسی و مدیریت فنی لازم برای طراحی، ساخت، بهبود و ادارهی محیط مشتری است؛ بدون الزام به انتقال آن به پلتفرم متعلق به ما.
مهندسی ابر و زیرساخت ←حسابها، دادهها و تصمیم دربارهی محیط در اختیار مشتری باقی میماند.
طرح فنی با منابع، وابستگیها و محدودیتهای واقعی محیط هماهنگ میشود.
مرز کار AcomOps و تیم مشتری پیش از اجرا و برای هر مرحله مشخص میشود.
با توجه به قرارداد، میتوانیم یک لایهی مشخص یا چند بخش بههمپیوسته از چرخهی فنی را بر عهده بگیریم. هدف، کمکردن گسست بین زیرساخت، تحویل برنامه و عملیات تولید است.
پس از روشنشدن کار، ترکیبی از متخصصان زیرساخت، Kubernetes، DevOps، SRE، مشاهدهپذیری، امنیت، پایگاه داده، MLOps یا مهندسی نرمافزار متناسب با نیاز انتخاب میشود. همهی این نقشها برای هر پروژه لازم نیستند؛ ترکیب تیم تابع دامنه و مسئولیت توافقشده است.
در همکاری مستمر، گروه تعیینشده با معماری، رویهها و اولویتهای مشتری آشنا میماند. این پیوستگی، هماهنگی بین حوزهها و پیگیری مالکیت کار را بهتر میکند؛ بدون آنکه حضور نامحدود یا تماموقت افراد را پیشفرض بگیریم.
کارها در چرخههای قابل پیگیری مرتب میشوند؛ پیشرفت و وابستگیها در بازبینیهای منظم مرور میشوند.
دلیل انتخابها، trade-offها، ریسکهای باز و محدودیتهای فنی به زبان روشن ثبت و مطرح میشوند.
بازخورد تیم مشتری در برنامهی بعدی اثر میگذارد و تغییر اولویت از مسیر هماهنگشده مدیریت میشود.
مستندات، رویهها و دانش لازم برای فهم و ادارهی محیط به تیم مشتری منتقل میشوند.
رضایت مشتری برای ما در کیفیت ارتباط و انطباق کار با نیاز توافقشده دیده میشود: وضعیت روشن، گزارش صادقانه، پیگیری مسئولانه و توجه به اثر تغییر بر سرویس.
از معماری، فرایند تحویل یا محدودیت محیط بگویید تا گزینهها و دامنهی بررسی را مشخص کنیم.