4 نصائح DevOps للفرق الصغيرة
نشرت: 2020-02-08هل تتساءل عن كيفية نشر DevOps للفرق الصغيرة؟ DevOps هو مجال متنامي من الإستراتيجيات والتنفيذ في الشركات من جميع الأحجام. إنه يسرع وقت الوصول إلى السوق ، ويتيح عمليات طرح أسرع ، ويجعل المطورين ومديري العمليات والعملاء أكثر سعادة.
سنتحدث عن ماهية DevOps ، وكيف تنشره الشركات الكبيرة ، وما الدروس والنصائح التي يمكن للشركات الصغيرة جمعها ونشرها الآن.
ما المقصود بـ DevOps؟
DevOps مصطلح يصعب تعريفه ، ويرجع ذلك أساسًا إلى أنه يشمل مجموعة من الممارسات. في الأساس ، DevOps عبارة عن مزيج من شيئين لأغراض تحسين التواصل: "Dev" تعني "مطورون" و "Ops" للعمليات.
إذن ، DevOps عادة ما تكون مجموعة من مطوري الكود ومديري عمليات النظام الذين يتعاونون لكسر صوامع المعرفة - في جوهرها ، للتأكد من أنهم دائمًا على نفس الصفحة عندما يتعلق الأمر بتطوير ونشر التعليمات البرمجية بشكل فعال.
DevOps تعني التواصل الفعال بين الإدارات. إنه يعني العمل معًا لإنشاء استراتيجيات لقسم واحد تجعل الحياة أسهل للقسم الآخر. وهذا يعني أيضًا عمومًا المزيد من أتمتة الكود ، وقطع أصغر من التعليمات البرمجية ، وأنظمة التحكم في المصدر ، وربما اجتماعات أخرى قليلة.
ولكن ماذا يحدث بدون DevOps؟
لماذا هناك حاجة إلى DevOps؟
تقليديا ، يحافظ مديرو العمليات على بيئة الإنتاج - أي كل شيء يتفاعل معه العملاء والعملاء.
من ناحية أخرى ، يعمل المطورون خلف الكواليس ، ويخلقون تعليمات برمجية في بيئة الاختبار - وهي منطقة معزولة عن بيئة الإنتاج. من الناحية المثالية ، تحاكي بيئة التطوير هذه بيئة الإنتاج وكيفية عمل الكود أو التطبيق في العالم الحقيقي.
من الناحية العملية ، يعني هذا أن المطورين يكتبون التعليمات البرمجية في فقاعتهم ويرسلونها للنشر في بيئة الإنتاج ، حيث يتعين على مديري العمليات معرفة كيفية الحفاظ على كل شيء يعمل ومستقرًا أثناء دمج الكود الجديد. وعادة ما يكون المطورون مشغولين جدًا في ترميز الميزات الجديدة ، ومديرو العمليات مشغولون جدًا بمحاولة إبقاء كل لوحة تدور ، لذا فإن وقت الاتصال وإعادة تنظيم البيئة قصير.
وبينما تستغرق DevOps بعض الوقت في الإعداد والمضي قدمًا ، فإن النتائج يمكن أن تجعل أي شركة - كبيرة كانت أم صغيرة - أكثر مرونة وقدرة على المنافسة.
DevOps في الشركات الكبيرة
DevOps هي لعبة سلام دانك في الشركات الكبيرة. مع وجود عدد كبير من المطورين وقاعدة شفرة كبيرة بما يكفي ، يمكن أن يكون تطوير ونشر التعليمات البرمجية صراعًا جبارًا.
الشركات الكبيرة لديها المزيد من العملاء. يعني المزيد من العملاء المزيد من الخوادم ، وغالبًا المزيد من الميزات ، والمزيد من الضغط على الشبكة. يؤدي هذا إلى إنشاء قاعدة بيانات أكبر ، مما يعني أنه حتى التعديلات الصغيرة يمكن أن يكون لها تأثير تسلسلي في البيئة. ونظرًا لأن الشركات الكبيرة تحاول غالبًا الحصول على ميزات جديدة لتظل قادرة على المنافسة في السوق ، فإنها تحتاج إلى بيئة التطوير وبيئة الإنتاج لتكون في نفس الاتجاه.
تبنت شركات مثل Netflix و Amazon و Target DevOps لتبسيط خدماتها. يتيح تكامل بيئة التطوير الخاصة بهم مع بيئة الإنتاج الخاصة بهم (جنبًا إلى جنب مع الأتمتة الثقيلة) لـ Netflix و Amazon نشر آلاف المرات يوميًا .
تستخدم Amazon نظامًا للنشر المستمر والتحكم الآلي في المصدر للتحقق من المراجعات تلقائيًا ، ووضعها في عملية الإنشاء والاختبار دون تدخل بشري.
تستخدم وكالة ناسا نظامًا مشابهًا ، باستخدام مزيج من خدمة AWS من أمازون وأنظمة البيانات المعبأة في حاويات للسماح لمتخصصي البيانات في وكالة ناسا بمشاركة بيانات القياس عن بُعد والتحليل مع مهندسيهم بوتيرة ثابتة.
لكن تلك الشركات والمنظمات هائلة. كيف يمكن لفريق صغير الاقتراب من هذا المستوى من التنظيم والأتمتة؟ كيف تعمل DevOps للفرق الصغيرة في البرية؟
يمكن للفرق الصغيرة اعتماد حلول DevOps
لا تمتلك الفرق الصغيرة نفس النطاق الترددي مثل الشركات الكبرى - سواء من حيث عدد الأفراد والأقسام والموارد. ومع ذلك ، ينتهي الأمر بأن يكون هذا سيفًا ذا حدين لأنه ، بشكل عام ، تستخدم الفرق الأصغر بالفعل العديد من حلول DevOps. حتى لو كان ذلك غير مقصود.
ومع ذلك ، هذا لا يعني أنه لا يوجد عمل للتراجع. في الوقت الحالي ، 25٪ فقط من صناعة البرمجيات تنطلق من DevOps على مستوى عالٍ.
ويمكن الاستيلاء على أدوات واستراتيجيات DevOps الأخرى من الشركات الكبرى واستخدامها بنفس الفعالية.
1. كوّن فريق DevOps
إذا لم يكن لديك فريق كبير من المطورين ، فمن المحتمل أن يكون إنشاء فريق DevOps مستقل أمرًا غير وارد. إذا كان لديك مطور واحد ومدير أنظمة واحد ، أو تم شغل هذه الأدوار من قبل نفس الشخص ، فإن فكرة "الفريق" قد تبدو سخيفة.
وهذا جيد. لا يتعلق الأمر بالضرورة بإنشاء نوع من فرق العمل - إنه يتعلق فقط بالتواصل. حتى إذا كان لديك مطور واحد ومدير تكنولوجيا معلومات واحد ، فقد يكون شكل "فريق" DevOps الخاص بك عبارة عن اجتماع أسبوعي وتحديثات يومية غير متزامنة لإبقاء كل منكما على علم بما يجري.
يجب أن تكون الأهداف الأساسية للفريق هي مواءمة بيئة التطوير مع بيئة الإنتاج ، وكتابة (ونشر) أجزاء صغيرة من التعليمات البرمجية في كثير من الأحيان ، وزيادة الأتمتة والتحكم في المصادر.
لنتحدث عما تعنيه هذه الأشياء وكيف يمكن تحقيقها.
2. محاذاة الممارسات والبيئات
حتى الفرق الصغيرة يمكنها البدء في مواءمة بيئاتها من خلال منح المطورين مزيدًا من الوصول إلى بيئة الإنتاج ، حتى لمجرد مراقبة كيفية تأثير المراجعات على المنتج النهائي.
حاول إعطاء فريق التطوير لديك موجزًا مستمرًا عن حالة الشبكة ، حتى لو كانت موجودة على شاشة في الزاوية فقط. يمكنهم أن يروا على الفور كيف يمكن أن تؤثر التعليمات البرمجية المنشورة على حركة المرور أو ملاحظة ما إذا كان هناك انخفاض مفاجئ قد يمثل مشكلة كبيرة.
ستحتاج أيضًا إلى فريق DevOps لإنشاء إستراتيجية لجعل بيئة اختبار التطوير وبيئة الإنتاج الفعلية قريبة قدر الإمكان - متطابقة ، بشكل مثالي. سيشمل الكثير من الاجتماعات ومشروع توثيق قوي ليس فقط لجعل البيئات متسقة ولكن أيضًا لإبقائها متماشية مع حدوث التغييرات بمرور الوقت.
تعني محاذاة البيئتين أن فريق العمليات يقضي وقتًا أقل في محاولة تعديل كود المطور في واقع المنتج النهائي.
3. انشر أجزاء صغيرة من التعليمات البرمجية
الخطوة الثالثة هي الخروج من عقلية التحديث الكبير. قد تستغرق مراجعات الكود الكبيرة أسابيع أو شهورًا ليتم اختبارها والموافقة عليها ونشرها. يؤدي هذا إلى إبطاء طرح الميزات ويجعلك عمومًا أقل قدرة على المنافسة في السوق. كما أنه يجعلك أقل رشاقة في حالة ظهور اتجاه جديد ومثير أو مشكلة كارثية.
أحد مفاتيح توسيع DevOps للفرق الصغيرة في شركتك هو الدخول في عقلية كتابة أجزاء صغيرة من التعليمات البرمجية ونشرها بشكل أسرع. يجب أن تكون هذه صغيرة بما يكفي بحيث يمكن اختبارها وتنفيذها في غضون ساعات.
4. احتضان الأتمتة والتحكم في المصدر
يتمثل المسار الأخير لنجاح عمليات DevOps للفرق الصغيرة في الاستخدام المكثف للأتمتة.
لماذا الأتمتة؟ أولاً ، تعمل الأتمتة على تسريع اختبار الشفرة ونشرها. كما أنه يوفر الوقت لكل من المطورين ومديري العمليات لسن استراتيجيات DevOps المذكورة أعلاه. يتيح هذا الوقت الإضافي أيضًا لفرق التطوير والعمليات التركيز على الأشياء التي تعمل على تحسين الأعمال بدلاً من مجرد إطفاء الحرائق. وأخيرًا ، يزيد من كفاءة ودقة التوثيق ، وكلاهما له مزايا خاصة بهما في الإعداد والتعليم والامتثال.
ستحتاج أولاً إلى شيء يساعدك في بناء واختبار الشفرة طوال الوقت وفي أي وقت. يمكن أن يساعد تطبيق مثل Jenkins أو Bitrise في تسهيل التكامل والتسليم المستمر.
بعد ذلك ، ستحتاج إلى نظام أساسي للتحكم بالمصادر لتتبع وإدارة المراجعات في الكود. يمكن لمنصات مثل GitHub و SourceForge مساعدتك هنا.
ستكون الخطوة التالية في السلسلة هي نظام إدارة التكوين للحفاظ على الاتساق والجودة في جميع المجالات. أدوات مثل Chef أو SaltStack هي أماكن رائعة للبدء.
تنشئ New Relic منصة لمراقبة جميع أنظمتك وهي مفيدة للغاية لمراقبة هذا النوع من أتمتة الكود الشامل.
قد يكون من الجيد أيضًا النظر في التكوين الديناميكي في حال اضطررت إلى تدوير النظام الآلي بأكمله بسرعة في اتجاه جديد.
تنفيذ DevOps للفرق الصغيرة والمنظمات الصغيرة
لا تقلق من أن فريقك أو شركتك صغيرة جدًا بحيث لا يمكنها تنفيذ DevOps بشكل فعال. بدلاً من ذلك ، فكر في هذه الأدوات على أنها طاولة بوفيه يمكنك من خلالها سحب الأفكار التنظيمية.
لن تتضرر أي منظمة ، بغض النظر عن حجمها ، من خلال المزيد من التواصل والمزيد من المساءلة وتتبع مراجعة أكبر وأكثر دقة.