كيف تصبح مهندس DevOps في ستة أشهر أو حتى أسرع. الجزء 1. مقدمة

الجمهور المستهدف


هل أنت مطور تريد تحويل مسيرته نحو نموذج DevOps أكثر تقدمًا؟ هل أنت مهندس Ops كلاسيكي وترغب في الحصول على فكرة عما يعنيه DevOps؟ أم أنك لست أحدهما ولا الآخر ، وبعد أن أمضيت بعض الوقت في العمل في مجال تكنولوجيا المعلومات ، تريد تغيير الوظائف وليس لديك فكرة من أين تبدأ؟
إذا كان الأمر كذلك ، تابع القراءة لمعرفة كيف يمكنك أن تصبح مهندس DevOps متوسط ​​المستوى في ستة أشهر! أخيرًا ، إذا كنت مشتركًا في DevOps لسنوات عديدة ، فلا يزال بإمكانك استخلاص الكثير من المعلومات المفيدة من هذه السلسلة من المقالات ومعرفة مكان وجود صناعة التكامل والأتمتة في الوقت الحالي وأين تسعى جاهدة للتطوير.



حول ماذا يدور كل هذا؟


أولاً ، ما هو DevOps؟ يمكنك استخدام تعريفات google وشق طريقك عبر كل هذا القشر اللفظي ، ولكن انتبه إلى أن معظم التعريفات ليست سوى خليط من الكلمات ملفوفة في شكل انسيابي. لذلك ، سأعطيك مقتطفًا من كل هذه التعريفات: DevOps هي طريقة لتقديم البرامج التي يتم فيها تقاسم الصداع والمسؤولية بين جميع المعنيين. هذا كل شئ.

حسنًا ، ولكن ماذا يعني هذا التخفيض على أي حال؟ وهذا يعني أن المُطورين تقليديًا (الأشخاص الذين ينشئون برامج) في عملهم قد استرشدوا بالحوافز التي اختلفت بشكل كبير عن حوافز العمليات (المشغلين أو الأشخاص الذين يديرون البرامج). على سبيل المثال ، بصفتي مطورًا ، أريد إنشاء أكبر عدد ممكن من الميزات الجديدة. بعد كل شيء ، هذه هي وظيفتي ، وهذا بالضبط ما يطلبه العملاء! ومع ذلك ، إذا كنت شخصًا في Ops ، فأنا بحاجة إلى عدد قليل من الميزات الجديدة قدر الإمكان ، لأن كل وظيفة جديدة هي تغيير ، وأي تغيير محفوف بالأعطال. نتيجة لمثل هذه الحوافز المتضاربة ، وُلد DevOps.

تحاول DevOps دمج التطوير والعمليات (التكامل والأتمتة) في مجموعة واحدة. والفكرة هي أن مجموعة واحدة الآن ستشارك الألم والمسؤولية (وربما المكافأة) لإنشاء ونشر وتوليد الإيرادات من البرامج الموجهة للعملاء.

سيخبرك المتشددون أنه لا يوجد شيء اسمه "مهندس DevOps". "DevOps ثقافة ، وليس دورًا" ، سيخبرونك. بالطبع ، هم على حق من وجهة نظر فنية ، ولكن ، كما يحدث غالبًا ، ظهر هذا المصطلح أبعد من معناه الأصلي ، لذا ، فإن مهندس DevOps هو جزء من "مهندس النظام 2.0". وبعبارة أخرى ، فهو يفهم دورة حياة تطوير البرمجيات ويبتكر أدوات وعمليات تطوير البرمجيات لحل المشاكل التشغيلية الكلاسيكية.



في النهاية ، يعني DevOps إنشاء خطوط أنابيب رقمية تأخذ الشفرة من كمبيوتر محمول لمطور وتحولها إلى إيرادات من استخدام المنتج النهائي ، هذه هي النقطة الأساسية. يرجى ملاحظة أن الاختيار الوظيفي لـ DevOps يتم تعويضه بشكل كبير من خلال المكافآت المالية ، وكل شركة تقريبًا إما "تصنع DevOps" أو تدعي أنها كذلك. بغض النظر عن مكان وجود هذه الشركات ، فإن فرص العمل الإجمالية مثل DevOps عالية جدًا وتعني "متعة" وتوظيفًا مفيدًا لسنوات عديدة قادمة.

ومع ذلك ، كن حذرًا مع الشركات التي توظف "فريق DevOps" أو "قسم DevOps". بشكل دقيق ، لا يجب أن توجد مثل هذه الأشياء ، لأن DevOps لا يزال في نهاية المطاف ثقافة وطريقة لتقديم البرامج ، بدلاً من توظيف فريق جديد أو إنشاء قسم باسم عصري.

إنكار المسؤولية


الآن ، دعنا نضع جانباً من Cool-Ad للحظة ونفكر في ما يلي. هل سمعت القول المأثور القديم "مهندسو Junior DevOps غير موجودين؟" إذا لم يكن كذلك ، فكن على دراية بأن هذا مسار شائع على Reddit و StackOverflow. لكن ماذا يقصد؟

بعبارات بسيطة ، تعني هذه العبارة أن الأمر يستغرق سنوات عديدة من الخبرة ، جنبًا إلى جنب مع الفهم القوي للأدوات ، لتصبح في نهاية المطاف ممارسًا فعالًا جدًا لـ DevOps. وللأسف ، لا يوجد اختصار لتحقيق الهدف. إذن هذه ليست محاولة لخداع النظام - لا أعتقد أنه في الواقع يمكنك التظاهر بأنك مهندس DevOps كبير ولديه عدة أشهر من الخبرة في هذه الصناعة. يتطلب الوصول إلى فهم واضح للأدوات والمنهجيات المتغيرة بسرعة سنوات عديدة من الخبرة ، وليس هناك من يدور حولها. ومع ذلك ، هناك قائمة متسقة تقريبًا (من المألوف ، إذا أردت) من الأدوات والمفاهيم التي تستخدمها معظم الشركات ، وهذا ما سيتم مناقشته.

مرة أخرى ، تختلف الأدوات عن المهارات ، لذلك بينما تتعلم الأدوات ، تأكد من أنك لا تهمل مهاراتك (الاستطلاعات والشبكات والتواصل الكتابي واستكشاف الأخطاء وإصلاحها ، وما إلى ذلك). قبل كل شيء ، لا تغفل عن ما نريد العثور عليه - طريقة لإنشاء خط أنابيب رقمي مؤتمت بالكامل يأخذ الأفكار ويحولها إلى أجزاء التعليمات البرمجية المدرة للدخل. هذا هو الاستنتاج الوحيد والأهم من هذه المقالة بأكملها!

توقف عن الكلام ، متى يمكنني البدء؟


فيما يلي خارطة طريق DevOps للمعرفة الأساسية. بعد أن أتقنت كل ما تم تصويره هناك ، يمكنك أن تطلق على نفسك بأمان وصدق مهندس مهندس DevOps! أو مهندس سحابة إذا كنت لا تحب اسم "DevOps".



تعكس هذه الخريطة وجهة نظري (وربما معظم الأشخاص الذين يعملون في هذه المساحة) لما يجب أن يعرفه مهندس DevOps المختص. ومع ذلك ، هذا مجرد رأي ، وبالطبع ، ستكون هناك خلافات معه. هذا امر طبيعي! نحن هنا لا نسعى جاهدين للتميز ، بل نسعى إلى أساس متين نبني عليه حقًا.

عليك أن تذهب بهذه الطريقة تدريجياً ، طبقة تلو الأخرى. ابدأ (وتابع!) المتابعات من الأساسيات ، وفحص أولاً العناصر المميزة باللون الأزرق - Linux و Python و AWS. ثم ، إذا سمح الوقت أو الطلب في سوق العمل ، قم بعمل أشياء أرجوانية مثل Golang و Google Cloud.

بصراحة ، الطبقة العليا الأساسية هي شيء يجب عليك دراسته إلى ما لا نهاية. نظام التشغيل Linux Linux معقد للغاية ويستغرق سنوات لإتقانه. تتطلب Python ممارسة مستمرة للبقاء على اطلاع. تتطور AWS بسرعة كبيرة بحيث أن ما تعرفه اليوم في السنة لن يكون إلا جزءًا من مجموعتك الإجمالية للمعرفة. بمجرد أن تتعلم الأساسيات ، انتقل إلى مجموعة حقيقية من المهارات. يرجى ملاحظة أن هناك 6 أعمدة زرقاء في المجموع (التكوين ، الإصدار ، التعبئة ، النشر ، بدء التشغيل ، المراقبة) ، واحد لمدة شهر من الدراسة.



بالطبع ، لاحظت عدم وجود مرحلة مهمة في خط الأنابيب لمدة ستة أشهر - الاختبار. لم أقم بتضمينها في خريطة الطريق عن عمد ، لأن كتابة الوحدة النمطية واختبارات التكامل والقبول ليست سهلة وتقع عادةً على أكتاف المطورين. ويفسر إغفال مرحلة "الاختبار" بحقيقة أن الهدف من خريطة الطريق هو إتقان المهارات والأدوات الأساسية في أسرع وقت ممكن. ووفقًا للمؤلف ، فإن نقص تجربة الاختبار ليس سوى عقبة صغيرة أمام الاستخدام الصحيح لـ DevOps.

بالإضافة إلى ذلك ، تذكر أننا لا ندرس مجموعة كاملة من الثرثرة الفنية غير ذات الصلة هنا ، ولكن نسعى جاهدين لفهم الأدوات التي ، في حزمة واحدة ، تخلق قصة مفهومة. هذه القصة عبارة عن أتمتة عملية من طرف إلى طرف - ناقل رقمي يقوم بتحريك القطع مثل خط التجميع. لا تريد أن تتعلم مجموعة من الأدوات وتتوقف باستمرار! تتغير مجموعة أدوات DevOps بسرعة ، والمفاهيم أقل شيوعًا. لذلك ، يجب أن تسعى جاهدًا لاستخدام الأدوات كوكلاء تدريب لمفاهيم المستوى الأعلى.

حسنًا ، دعنا نتعمق قليلاً!

المعرفة الأساسية


تحت أعلى درجة مع عبارة Foundation ، سترى المهارات التي يحتاجها كل مهندس DevOps لإتقانها. هذه المهارات تثق في التعامل مع "الركائز" الثلاثة للصناعة ، وهي: نظام التشغيل ولغة البرمجة والسحابة العامة. هذه الأشياء ليست شيئًا يمكنك التعرف عليه بسرعة والمضي قدمًا. يجب تحسين هذه المهارات وصقلها باستمرار لإتقانها لتكون في طليعة الصناعة وتحديث البيئة المهنية المحيطة بك. دعنا نذهب من خلالهم بدورهم.

لينكس هو المكان الذي يعمل فيه كل شيء. هل يمكنك أن تكون ممارسًا رائعًا لـ DevOps مع البقاء بالكامل داخل نظام Microsoft البيئي؟ بالطبع تستطيع! لا يوجد قانون يستخدم لينكس فقط. ومع ذلك ، ضع في اعتبارك - على الرغم من حقيقة أن جميع أشياء Linux يمكن القيام بها على Windows أيضًا ، فإنه يحدث هناك بشكل أكثر إيلامًا وبوظائف أقل. في الوقت الحالي ، يمكننا أن نفترض بأمان أنه بدون معرفة Linux ، من المستحيل أن تصبح محترفًا حقيقيًا في DevOps ، لذا فإن Linux هو ما يجب أن تدرسه وتدرسه.

بصراحة ، أفضل طريقة للقيام بذلك هي ببساطة تثبيت Linux (Fedora أو Ubuntu) في المنزل واستخدامه قدر الإمكان. بالطبع ، سوف تكسر مجموعة من الأشياء ، وسوف تتعثر في عمليات العمل ، سيكون عليك إصلاح كل شيء ، ولكنك ستتعلم لينكس!



بالمناسبة ، متغيرات RedHat أكثر شيوعًا في أمريكا الشمالية ، لذلك فمن المنطقي أن تبدأ مع Fedora أو CentOS. إذا كنت تتساءل عما إذا كان يجب عليك شراء KDE أو إصدار Gnome ، فحدد KDE. هذا ما يستخدمه لينوس تورفالدس نفسه.

بايثون هي لغة النهاية السائدة هذه الأيام. من السهل البدء باستخدامه ، ويستخدم على نطاق واسع. Python شائعة جدًا في مجال الذكاء الاصطناعي والتعلم الآلي ، لذلك إذا كنت ترغب في الانتقال إلى مجال نشاط آخر ساخن ، فستكون جاهزًا تمامًا لذلك.



Amazon Web Services: مرة أخرى ، من المستحيل أن تصبح محترف DevOps ذو خبرة بدون فهم قوي لكيفية عمل السحابة العامة. وإذا كنت تريد معرفة المزيد عنه ، فقم بزيارة Amazon Web Services. هذا هو لاعب رائد في مجال الخدمات ، والذي يقدم أغنى مجموعة من أدوات العمل.

هل يمكنني البدء باستخدام Google Cloud أو Azure بدلاً من ذلك؟ أكيد! ولكن تذكر الأزمة المالية الأخيرة ، وتجدر الإشارة إلى أن AWS هو الخيار الأكثر أمانًا ، على الأقل في عام 2018 ، لأنه يسمح لك بتسجيل حساب مجانًا والبدء في استكشاف إمكانات الخدمات السحابية. بالإضافة إلى ذلك ، توفر وحدة تحكم AWS للمستخدم قائمة بسيطة وبديهية للاختيار. الخبر السار هو أنك لست بحاجة إلى معرفة جميع تقنيات Amazon لذلك.



ابدأ بما يلي: VPC و EC2 و IAM و S3 و CloudWatch و ELB (موازنة التحميل المرنة تحت غطاء EC2) ومجموعة الأمان. هذه الأشياء كافية للبدء ، وكل مؤسسة حديثة قائمة على السحابة تستخدم هذه الأدوات بنشاط. موقع التدريب الخاص بـ AWS هو مكان جيد للبدء.

أوصي بأن تقضي 20-30 دقيقة يوميًا في التعلم والممارسة مع لغة Python ونظام التشغيل Linux وخدمة السحابة AWS ، بالإضافة إلى الأشياء الأخرى التي سيتعين عليك تعلمها. بشكل عام ، أعتقد أن قضاء ساعة في اليوم خمس مرات في الأسبوع يكفي لفهم العمليات في صناعة DevOps لمدة 6 أشهر أو أقل. هناك ما مجموعه 6 مكونات رئيسية ، كل منها يتوافق مع شهر من التدريب. هذا كل ما تحتاجه لاكتساب المعرفة الأساسية.
في المقالات اللاحقة ، سننظر في مستوى التعقيد التالي: كيفية أتمتة تكوين البرنامج وإصداره وتعبئته ونشره وإطلاقه ومراقبته بشكل كامل.

كيف تصبح مهندس DevOps في ستة أشهر أو حتى أسرع. الجزء 2: التكوين

القليل من الدعاية :)


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك VPS القائم على السحابة للمطورين من $ 4.99 ، وهو نظير فريد من نوعه لخوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة عن VPS (KVM) E5-2697 v3 (6 نوى) 10GB DDR4 480GB SSD 1Gbps من $ 19 أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا و 40 جيجابايت DDR4).

Dell R730xd أرخص مرتين في مركز بيانات Equinix Tier IV في أمستردام؟ فقط لدينا 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV من 199 دولارًا في هولندا!Dell R420 - 2x E5-2430 2.2 جيجا هرتز 6C 128 جيجا بايت DDR3 2x960GB SSD 1Gbps 100TB - من 99 دولار! اقرأ عن كيفية بناء مبنى البنية التحتية الفئة c باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

All Articles