إيقاف التطبيقات المستضافة ذاتيا دون ترك موارد أو صلاحيات معلقة
قد تحذف تطبيقا من هاتفك، بينما تظل خدمته تعمل على الخادم. وقد يعاد تشغيلها تلقائيا بعد التعطل، أو تستقبل الطلبات عبر نفق، أو تحتفظ بمفتاح API، أو تنشئ نسخا احتياطية لم تعد تحتاجها. حذف التطبيق من جهازك ينهي استخدامك له، أما إخراج الخدمة من التشغيل فيتطلب إغلاق مسارات الوصول ومعالجة الموارد والارتباطات المتبقية.
تعامل مع إيقاف الخدمة كتغيير محدود له شروط واضحة لاكتماله. حدد الموارد التابعة للتطبيق، واحتفظ بما تحتاجه، وأوقف النشاط الجديد، ثم تحقق من النتيجة. واحرص على بقاء مكونات البنية التحتية المشتركة متاحة للتطبيقات الأخرى طوال العملية.
ابدأ بالخدمة وما يعتمد عليها
دون اسم الخدمة، ومكان تشغيلها، ومن لا يزال يستخدمها. راجع المهام المجدولة، واستدعاءات Webhook، وتطبيقات الهاتف، وفحوص المراقبة، والتطبيقات الأخرى التي تتصل بها. غياب النشاط عن لوحة التحكم لا يثبت أن واجهة API لم تعد مستخدمة.
ميز بين الموارد المخصصة والموارد المشتركة. فقد يكون للتطبيق اسم نطاق وقاعدة بيانات خاصان به، لكنه يشترك مع غيره في نفق، أو وكيل عكسي، أو وحدة تخزين، أو حساب خدمة. حذف أحد هذه المكونات المشتركة قد يعطل خدمات لا علاقة لها بالتطبيق الذي تريد إيقافه.
إذا لم تكن متأكدا ممن يستخدم الخدمة، فحدد فترة مراقبة قصيرة. راجع السجلات ذات الصلة واسأل المستخدمين المعروفين. ثم حدد موعدا للإيقاف بدل إبقاء التطبيق في حالة تعطيل جزئي إلى أجل غير معلوم.
احتفظ بما يكفي للاستعادة عند الحاجة
صدر الإعدادات والبيانات التي تحتاج إلى الاحتفاظ بها. دون إصدار التطبيق، ومواقع التخزين، وخطوات مختصرة للاستعادة. لا تضع بيانات الاعتماد في الملاحظات العادية؛ اكتف بالإشارة إلى مكان حفظها الآمن.
لا تفيدك النسخة الاحتياطية ما لم تعرف محتواها. فقد يحتاج التطبيق الذي يستخدم قاعدة بيانات إلى تصدير متوافق معه أو إلى نسخ احتياطي منسق بين مكوناته. نسخ مجلد قاعدة البيانات أثناء تشغيلها لا يضمن الحصول على نسخة قابلة للاستعادة.
حدد موعد حذف البيانات والنسخ المحتفظ بها. بعض السجلات تحتاج إلى مدة احتفاظ أطول، بينما لا ينبغي إبقاء بيانات أخرى لمجرد وجود مساحة تخزين. اربط الاحتفاظ بغرض واضح وموعد مراجعة أو حذف.
أوقف التشغيل وأغلق مسارات الوصول
أوقف التطبيق وعطل آليات تشغيله التلقائي. راجع مدير الخدمات، وسياسة إعادة تشغيل الحاوية، والمهام المجدولة، وأي أداة إشراف قد تعيد تشغيله. عطل أيضا المهام واستدعاءات Webhook التي ستواصل محاولة الاتصال به.
بعد ذلك، أزل مساراته العامة: سجلات DNS، وإعدادات الوكيل العكسي، ومسارات النفق، واستثناءات جدار الحماية المخصصة له. راجع IPv4 وIPv6 حيثما كانا مستخدمين. وراجع سياسات الوصول بوصفها طبقة مستقلة، بعد إغلاق المسارات التي تعتمد عليها.
في Cloudflare Tunnel، سجل DNS مورد مستقل عن النفق نفسه. وتوضح الوثائق أن سجل DNS الخاص بالنفق قد يبقى بعد توقفه. لذلك تحقق من اسم المضيف والمسار المرتبط به، واحذف إدخالات التطبيق الذي أوقفته وحدها إذا كان النفق يخدم تطبيقات أخرى. راجع وثائق DNS لأنفاق Cloudflare.
ألغ بيانات الاعتماد المخصصة
احصر مفاتيح API، ورموز الخدمة، وحساب قاعدة البيانات، وتفويضات OAuth، وتكاملات الإشعارات التابعة للتطبيق. ألغ بيانات الاعتماد المخصصة له، وأزل صلاحياته من الحسابات المشتركة دون تعطيل ما تحتاجه الخدمات الأخرى.
إذا استخدم التطبيق سرا مشتركا، فحدد أولا من يستخدمه أيضا. خصص بيانات اعتماد مستقلة للخدمات الأخرى متى أمكن، ثم غير القيمة المشتركة ضمن تغيير مخطط. حذف السر من ملاحظاتك لا يلغيه لدى الجهة التي أصدرته.
توفر Cloudflare، مثلا، خيارا مخصصا لإلغاء رموز خدمة Access. استخدم آلية الإلغاء لدى المزود، وتحقق من أثرها الموثق بدل افتراض أن حذف إعدادات العميل ينهي الوصول. راجع وثائق رموز الخدمة.
تحقق من توقف الخدمة من أكثر من جهة
تأكد من توقف العملية وعدم عودتها. اختبر اسم المضيف العام بعد انتهاء مدة التخزين المؤقت لسجلات DNS ذات الصلة. فشل DNS المتوقع أو ظهور استجابة تفيد بإيقاف الخدمة دليل مفيد، لكن تحقق أيضا من عدم وجود مسار بديل يصل إلى الخادم الأصلي.
اختبر الخدمات الأخرى التي تشترك في النفق أو الوكيل أو المضيف. حدث سجل الخدمات والموارد، ثم أزل التنبيهات القديمة بعد توثيق الإيقاف. دون ما احتفظت به من بيانات، وأين تحفظ هذه البيانات بأمان، ومتى ينبغي مراجعتها أو حذفها.
تكتمل المهمة عندما يتوقف التطبيق عن العمل واستقبال الطلبات، وتلغى بيانات اعتماده المخصصة، ويكون لبياناته المتبقية مسؤول وخطة احتفاظ واضحة.