أدوات المطور الداخلي
1) دور منصة المطورين ومسؤوليتها (IDP)
منصة المطور الداخلي هي طبقة «خدمة ذاتية» تغطي المهام الهندسية النموذجية بأدوات موحدة:- البداية السريعة (قوالب الخدمة، الهيكل العظمي لواجهة برمجة التطبيقات، خطوط الأنابيب) ؛
- وتجميع/اختبار/نشر يمكن التنبؤ به ؛
- الإدارة الآمنة للأسرار والتبعيات والتحف
- قابلية الرصد الافتراضية (السجلات/المقاييس/المسارات)
- والوصول إلى بيانات الاختبار، والموك، وصناديق الرمل الخاصة بمقدمي الخدمات ؛
- والتوثيق و «المسارات الذهبية» للسيناريوهات النموذجية.
الهدف هو تقليل الحمل المعرفي، والوقت إلى الأول من العلاقات العامة والوقت المناسب للتغييرات، وتحسين موثوقية الإصدار والامتثال.
2) مبادئ تصميم DX (Developer eXperience)
الاتفاقية فوق التكوين: المعايير أهم من الإعدادات اليدوية.
المسارات الذهبية: الحد الأدنى من الحلول «الافتراضية» تغطي 80٪ من الحالات.
كل شيء كرمز: خطوط الأنابيب والبنية التحتية ولوحات القيادة والسياسيون - في Git.
افتراضي آمن: SAST/DAST، SBOM، توقيع القطع الأثرية، سياسة التبعية.
القابلية للرصد أولاً: تصدر الخدمات والأدوات تلقائيًا القياس عن بُعد.
قابلية نقل البيئات: محليًا = CI = المرحلة = prod (قدر الإمكان).
التعليقات في دقائق: اختبارات سريعة، وصفات، وبيئات معاينة، وحالات علاقات عامة.
3) بنية المنصة والمكونات الرئيسية
DevPortal: دليل الخدمات والقوالب والوثائق وحالة النظام الأساسي وإطلاق خطوط الأنابيب والبيئات «بنقرة واحدة».
CLI/skeletizer: توليد الخدمات/الوظائف/العمل مع كومة واحدة (قطع الأشجار، والصحة، و OpenAPI/Proto، وقابلية الرصد).
بناء النظام والأدوات الأحادية: التخزين المؤقت، التجميع التدريجي، القطع الأثرية الحتمية.
CI/CD bloprints: خطوط الأنابيب القياسية للخدمات (الوحدة، العقود، التكامل، e2e، التحليل الأمني، النشر).
ملامح الاختبار: testcontainers/صناديق الرمل المحلية لمقدمي الخدمة ومصنع البيانات العامة والتركيبات.
قابلية الملاحظة خارج الصندوق: اتصال OTEL/Prometheus/logger عبر وحدة واحدة.
الإدارة السرية: التكامل مع KMS/HSM، التناوب، سياسة الوصول.
Ficheflags/التجارب: SDK ووحدة التحكم للتدحرج التدريجي.
4) DevPortal: نقطة الدخول المركزية
الوظائف:- ودليل الخدمات/المكتبات/المخططات (المالك، جيش تحرير السودان، الإصدارات، مواطن الضعف) ؛
- زر «إنشاء خدمة» بواسطة قالب (مباشرة مع خط الأنابيب والتنبيهات) ؛
- الوثائق (معايير نمط الرمز، أدلة الإصدار، كتب اللعب الخاصة بالحوادث) ؛
- وحالة خدمات المنصات، والقدرات، والتغييرات (سجل التغيير) ؛
- Runbooks and Golden Paths: «كيفية إضافة نقطة نهاية»، «كيفية بدء الهجرة»، «كيفية ربط المزود».
5) CLI والقوالب (skeletizer)
تشمل القوالب:- إطار خدمة REST/gRPC/GraphQL مع الفحوصات الصحية/المقاييس/الجاهزة ؛
- ووسائط جاهزة: طلب الارتباط، والتوثيق، وحدود الأسعار ؛
- OpenAPI/Protobuf autogen + checking circuits for CI;
- مسجل وحدات، تتبع، مقاييس ؛
- dockerfile + compose for local development;
- المجموعة الأساسية من الاختبارات وتكوين البطانات/الأشكال/البريشوكوف.
- «خدمة جديدة - اسم المدفوعات - api - كومة go-grpc - db postgres - events kafka - template v2»
6) التنمية المحلية والبيئات النائية
Dev Containers/Codespaces-analogue: نفس البيئات للجميع، الصعود السريع.
Docker Compose + Testcontainers: يتم رفع DB/المخابئ/الحافلات محليًا بواسطة أمر واحد.
Tilt/Skaffold لإعادة التشغيل الحي لمجموعة Kubernetes «dev».
التطوير عن بعد: يتم تشغيل المباني/الاختبارات كثيفة الاستخدام للموارد على حمامات سباحة مخصصة.
الممارسات الجيدة
أحادية الإصدارات 'tool-versions'/lockfiles لإصدارات الأدوات ؛
جعل/فقط - скрипты: «إجراء الاختبار»، «جعل الجري المحلية»، «جعل البذور» ؛
أسرار محلية من خلال «dotenv» ومزود سري مع أدوار التطوير.
7) إدارة المخططات والعقود
سجل المخططات (JSON/Avro/Proto) مع سياسة التوافق ؛
اختبار العقود (Pact/Buf) كوظيفة إلزامية في CI ؛
إصدار واجهة برمجة التطبيقات (SemVer)، ودعم الإصدار المزدوج، وتوليد SDK التلقائي ؛
ترحيل قاعدة البيانات (هاجر/فلاي واي/ليكويباز) - خطوة موحدة لخط الأنابيب.
8) اختبار الهرم والبيانات
اختبارات الوحدة: سريعة، متوازية، ملزمة لتغطية المنطق الحرج.
اختبارات العقد: المستهلك ↔ واجهة برمجة التطبيقات/مزود الحدث.
التكامل: مع التبعيات الحقيقية في الحاويات.
E2E: مجموعة ضئيلة ولكن تمثيلية من المشاريع.
بيانات الاختبار: المصانع/الإصلاحات، المواد الاصطناعية التي لا تحتوي على مؤشر هوامش الاستثمار، والعناصر الجانبية للبيئات ؛ لقطات DB - فقط غير شخصية.
9) CI/CD: خطوط الأنابيب الموحدة
المعالم (الافتراضي):1. جيل Lint/Format/License/SBOM.
2. SAST (تحليل ثابت) + سياسة التبعية تمنع «المعايير».
3. وحدة → العقود → التكامل → E2E مع القطع الأثرية والتقارير.
4. قم ببناء صورة حتمية، توقيع (sigstore/cosign)، ادفع للتسجيل.
5. نشر:- feature-env/preview URL per PR;
- الكناري/الأزرق الأخضر في المسرح ؛
- والإصدار التدريجي للإنتاج عن طريق ficheflag/traffic ؛
6. فحوصات ما بعد النشر: تنبيهات، ميزانية خطأ، تغليف تلقائي أثناء التحلل.
10) قابلية الملاحظة والديباج المحلي
وحدة «بدء القياس عن بُعد»: تشمل شركة OTEL SDK، والمصدرين، والعلاقة 'trace _ id' ؛
لوحات القيادة كرمز: لوحات القيادة والتنبيهات موصوفة في Git ؛
التطوير المدفوع بالنزر: تحديد سمات الطلبات محليا وفي منصات المعاينة ؛
جذوع الأشجار المنظمة (JSON)، الحماية من PII، إخفاء الحقول الحساسة.
11) جودة المدونة ومراجعتها
خطوط/صيغ وحيدة وطبقات مسبقة (لغوية محددة) ؛
والخطافات السابقة للالتزام (الوبر/اختبارات الحجم الصغير) ؛
أصحاب الرموز والاستعراضات الإلزامية للتحف الرئيسية (المخططات والهجرات والسياسات) ؛
قوائم العلاقات العامة: "ما الذي تغير ؟ "، "الأمن ؟ "، "التوافق الخلفي ؟ "، "الهجرات ؟ ».
12) التنمية الآمنة (SSDL) وسلسلة التوريد
SCA (تحليل التبعية) ومصادر الخصوصية ؛
SAST/DAST/IAST حسب نوع القطع الأثرية ؛
SBOM لكل مبنى، تخزين في مستودعات القطع الأثرية ؛
توقيع الصورة، الشهادة (مستويات SLSA)
السياسة السرية: لا أسرار في Git، التناوب، الاعتمادات المؤقتة ؛
سياسة كمدونة (OPA/Conftest) لممارسات العلاقات العامة في البنية التحتية.
13) Ficheflags والتجارب وبيئات المعاينة
SDK من phicheflags في القوالب، تعيين الحدود: ops-flags vs product;
التدحرج التدريجي (1٪ → 25٪ → 100٪)، الالتفاف السريع ؛
بيئة المعاينة لكل PR (عنوان URL فريد، تتبع، بيانات الاختبار)، الإزالة التلقائية بعد الدمج/الإغلاق.
14) الروبوتات والتشغيل الآلي
روبوتات الدردشة لـ/نشر ،/التراجع ،/السجلات ،/كتاب التشغيل ؛
وملصقات السيارات والتفجير الذاتي في جهاز تعقب الأخطاء ؛
نماذج التذاكر (حادثة، تغيير، RFC)
التحديث التلقائي للتبعيات مع الجزر والفروع الخضراء.
15) التوثيق والتدريب
البقع «الحية» (OpenAPI/Proto) كمصدر للحقيقة ؛
الملاحظات التقنية/RFC من خلال قوالب مشتركة، والنشر التلقائي من Git ؛
عرض فيديو «كيف أطلق مشروعًا في غضون 10 دقائق» ؛
صندوق الرمل DevPortal مع نصوص خطوة بخطوة.
16) مقاييس الأداء (DORA/SPACE)
DORA: المهلة، وتواتر النشر، MTTR، معدل فشل التغيير ؛
الفضاء: الرضا والأداء والنشاط والاتصالات ؛
أهداف الربع: ↓Lead الوقت بنسبة 30٪، ↑chastota إصدارات، ↓vremya الصعود إلى N ساعات.
17) مراقبة الوصول وتعدد الحيازات
أدوار للملامح الهندسية (مطور، مراجع، ريلينغ، منصة)
والسياسات البيئية: من يستطيع أن يستنفد في مرحلة التنمية/المرحلة/الدفع ؛
الحصص/الحدود الفردية وعزل مساحة الأسماء لفروع المعاينة/الميزات.
18) أدوات البيانات والتحليلات
يقرأ الحدث المحلي الملفات الشخصية (كافكا/ناتس) وإعادة التشغيل
ومولدات المواد الاصطناعية وإلقاء مجهول الهوية ؛
الحواسيب المحمولة/النصوص المخصصة لتحليل مقاييس وإطلاقات جودة الخدمات.
19) خارطة طريق التنفيذ
M0-M1 (MVP): DevPortal، نماذج الخدمة، CI الأساسي (lint + unit + build)، التجميع المحلي عبر حاويات التطوير، قطع الأشجار/المقاييس.
M2-M3: اختبارات العقد، بيئات المعاينة، اختبارات التكامل مع حاويات الاختبار، SAST/SCA، SBOM.
M4-M6: phicheflags, progressive rollous, Dashboards as Code, policy as-code, remote dev pools, SDK autogen.
M6 +: تنسيق الإصدار، تجربة زر واحد، عرض المكون الداخلي/المكتبة، مقاييس DORA/SPACE على DevPortal.
20) قائمة نضج المنصة (مقتطف)
- يعطي إنشاء خدمة بنقرة واحدة إطار عمل به مقاييس/سجلات/مسارات.
- ترتفع بيئة المعاينة تلقائيًا لكل علاقات عامة.
- عقد الاختبار إلزامي ويمنع التغييرات غير المتوافقة.
- يتم نشر SBOM لكل بناء، ويتم توقيع الصور.
- قابلية الرصد/التنبيهات ولوحات القيادة - بالرمز وفي المستودع.
- Ficheflags متوفرة من وحدة التحكم، الطرح تقدمي.
- ترتبط كتب التشغيل/كتب التشغيل بالتنبيهات وهي مرئية في DevPortal.
- يتم عرض مقاييس DORA/SPACE على الصفحة الرئيسية لـ DevPortal.
- بدء مطور جديد ≤ 1 العمل قبل يوم العلاقات العامة الأول.
موجز
تقوم منصة مطور داخلية قوية بتحويل كومة غير متجانسة إلى "خط أنابيب" واحد للتسليم: من "إنشاء خدمة" إلى "الحث على التدحرج الآمن. "النماذج الموحدة، DevPortal، اختبار العقد، بيئات المعاينة، إمكانية الملاحظة والأمان الافتراضي للإصدارات السريعة التي يمكن التنبؤ بها دون المساس بالجودة والامتثال.