
Andrew Hanna

Tekunda Team

Salesforce DevOps هو عملية تطوير برمجيات تجمع مبادئ Agile وcontinuous integration وcontinuous delivery لتبسيط تسليم تطبيقات عالية الجودة. في هذا المقال نستعرض الركائز الخمس لعملية Salesforce DevOps ناجحة وكيفية تطبيقها في مؤسستك.
DevOps أساسي في دورة حياة التطوير، لأنه يسمح لفريقك بالتحرك بسرعة وأمان أكبر مع تمكينه من التعافي من release سيئ أو فقدان بيانات بسرعة وفعالية. Salesforce DevOps فريد لأنه يتطلب معرفة بمجال SFDC وأدوات sfdx إلى جانب معرفة DevOps المعتادة، مما يجعل العثور على الأداة المناسبة أو بنائها من الصفر تحديا حقيقيا. لهذا أنشأنا Serpent. فهو يزيد مرونتك، ويقصر دورات الإصدار، ويخفض زمن النشر إلى دقائق، حتى تبقى متقدما على منافسيك.
احجز عرضا توضيحيا لمعرفة كيف يمكن لـ Serpent تعزيز استراتيجية Salesforce DevOps لديك اليوم. تقدم Tekunda أدوات قوية لدعم فرق DevOps، منها version control مدمج، وأنظمة continuous deployment، وأدوات دمج، ومجموعة واسعة من أدوات الاختبار.
DevOps هو مزيج من الممارسات والأدوات التي تزيد قدرة المؤسسة على تسليم التطبيقات والخدمات بسرعة عالية. يساعد ذلك على تطوير المنتجات وتحسينها بوتيرة أسرع من المؤسسات التي تعتمد على عمليات تطوير وإدارة بنية تحتية يدوية.
يحسن DevOps تعاون فريقك أثناء بناء تطبيقات Salesforce ونشرها، والتكامل مع version control، وأتمتة workflows، والإصدار بثقة باستخدام أدوات CI وMetadata API. سنوضح كيف تجعل Tekunda هذه الممارسات أبسط وأكثر انسيابية.
يستطيع مطورو Salesforce الاختيار من مجموعة واسعة من البيئات للعمل فيها: scratch orgs وdeveloper orgs وsandboxes وpartial وfull copy sandboxes، وبالطبع production حيث توجد بيانات عملائك المهمة.
لديك أيضا خيارات متعددة لتغليف release حسب احتياجات المشروع وجمهوره المستهدف. يمكنك استخدام changesets أو managed packages أو unmanaged packages أو unlocked packages أو metadata deployment أو Salesforce DX لتحميل تطبيق جديد إلى مؤسسة.
هذه بعض الطرق التي يختلف بها التعامل مع DevOps من منظور Salesforce عن ممارسات DevOps في برامج أخرى. إذا بدت كل هذه الطرق لإدارة التطبيقات ونشرها مرهقة، فجرّب Serpent وأزل هذا العبء التشغيلي فورا.
يمنحك أهم ميزة في التقنية: المرونة. يسمح لك بإدارة source control والبناء والنشر والإصدار بسرعة أكبر، وإدارة التغييرات بكفاءة أعلى. كما يمكّن فريق البرمجيات من إدارة العملية كاملة end to end بأقل جهد برمجي، مما يجعل التطوير بين أعضاء الفريق أبسط بكثير.
يقدم DevOps قيمة كبيرة لأنه يلغي المهام التقليدية واليدوية المعقدة والمستهلكة للوقت. يفعل ذلك بإدخال عمليات مؤتمتة كثيرة مثل تشغيل اختبارات الأتمتة والتكامل والوحدات، والنشر إلى البيئة الصحيحة دون تدخل، وغير ذلك. النتيجة إصدارات أسرع بمخاطر أقل تساعدك على تحقيق ROI بسرعة أكبر.
يشير version control إلى تتبع التغييرات والاحتفاظ بسجلات للإصدارات السابقة من شيفرة التطبيق وmetadata والإصدارات. التطوير باستخدام version control محوري في أي بيئة لأنك تحتاج إلى القدرة على التراجع عن التغييرات فورا. إذا كسر تغيير جديد الإنتاج بسبب أخطاء غير متوقعة، فيجب أن تتمكن من العودة إلى آخر نسخة مستقرة بسرعة لتقليل التوقف التشغيلي.
كما يتيح version control تعاونا سلسا بين الفريق، إذ غالبا لا يعمل شخص واحد فقط على التطبيق. عندما يجري مطورون متعددون تغييرات على الشيفرة، يجب تتبع كل تغيير بشكل منفصل وأن يكون مرئيا ومتاحا للمجموعة كلها لتجنب التعارضات. لهذا السبب وحده يُعد version control أهم مكون في أي إعداد DevOps.
من المهم وجود عملية سليمة لإدارة دورة الإصدار. الانتقال مباشرة من التطوير إلى الإنتاج قد يكلفك الكثير ويدخلك في حلقة من البرمجيات غير المستقرة، وهنا يأتي دور إدارة الإصدارات. تركز إدارة الإصدارات على نقل البرنامج من مرحلة التطوير إلى مرحلة go-live ليستخدمه المستخدمون. قبل go-live يخضع البرنامج لسلسلة اختبارات للتأكد من أنه يعمل كما ينبغي. وتوفر إدارة الإصدارات البيئات اللازمة لهذه الاختبارات العشوائية والانحدارية، مما يسمح بتطبيق أي إصلاحات مطلوبة حتى يتم rollout.
CI/CD يندرج تحت مظلة إدارة الإصدارات. من تشغيل اختبارات الوحدة تلقائيا على pull requests الجديدة للتحقق من أن كل شيء ما زال يعمل كما هو متوقع، إلى أتمتة النشر إلى البيئة الصحيحة عند دمج شيفرة جديدة. CI/CD هو الغراء الذي يضمن أن تدفقات DevOps لديك تتحرك بسلاسة من خطوة إلى أخرى دون إضاعة وقت المطورين، ليقوموا بما يجيدونه: التطوير.
هل تفضل العمل بسرعة أم بدقة؟ ماذا لو أمكن تحقيق الاثنين معا مع تقليل المخاطر؟ تسمح استراتيجية DevOps بتخفيف مخاطر انتشار تغيير خاطئ فورا عبر مؤسسات مختلفة وتأثيره في المستخدم النهائي. كما تمنحك خيار الاحتفاظ دائما باستراتيجية rollback لتغييرات التطوير مع وجود نسخة احتياطية مناسبة.
يضمن DevOps أن تنفذ فرق الهندسة عملها دون خوف من الاعتمادية أو كسر الأشياء. لا أحد يريد إعادة العمل، وباستخدام حلول DevOps ذكية تزيل هذا العامل وتواصل التركيز على إصداراتك الكبيرة التالية للعملاء.
باستخدام version control، يمكن لعدة أعضاء في الفريق العمل على التطبيق نفسه في الوقت ذاته مع إزالة عامل الاعتماديات. Version control يسهل التنسيق والمشاركة والتعاون عبر فريق التطوير كله من خلال تمكين الفرق من العمل في بيئات موزعة وغير متزامنة. كما يسمح لك بإدارة التغييرات والحفاظ على نسخ مختلفة من الشيفرة والأصول، وحل merge conflicts والمشكلات المرتبطة بها، مما يسرع وصول تطبيقات Salesforce إلى الإنتاج.
بُني Serpent خصيصا لدورات تطوير Salesforce وإصداراتها. يسمح للمستخدمين بتنسيق التغييرات بسلاسة عبر منظومة التطوير، وإزالة نقاط الألم التي تظهر عند استخدام أدوات التطوير التقليدية. يتولى Serpent دورة التطوير والإصدار كاملة، بما في ذلك تشغيل اختبارات الوحدة، ودمج المكونات، version control، وcontinuous integrations وcontinuous deployments وتحليل الشيفرة و rollback والنسخ الاحتياطي.

Andrew Hanna

Serpent Team

Tekunda Team

Tekunda Team

Tekunda Team

Andrew Hanna