خارطة طريق DevOps الديناميكية › النمو المهني والمواضيع المتقدّمة 6 / 6 السابق التالي

هندسة المنصّات - متقدّم

هندسة المنصّات - متقدّم

ملاحظة

قيد الإنجاز.

1.1 مقدّمة إلى هندسة المنصّات

تتمحور هندسة المنصّات (Platform Engineering) حول تقديم المنصّات إلى المستخدمين كمنتجات. وعادةً ما يكون هؤلاء المستخدمون مطوّرين بأنفسهم، غير أنهم يحتاجون إلى أدوات لعملهم اليومي، مثل منصّات استضافة الشيفرة المصدرية، أو إدارة المهام، أو التوثيق. وكمهندس منصّات، ستُكلَّف بتقديم هذه المنصّات ودعم موثوقيتها، وتبنّي عقلية محورها المنتج، إذ يساعد ذلك في تقديم أفضل التجارب للمستخدمين النهائيين لهذه المنصّات.

ما الذي تحتاج إلى معرفته

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

مصادر

1.2 المهارات المطلوبة في هندسة المنصّات

ما الذي تحتاج إلى معرفته

  • كما هو الحال مع أي مسمّى وظيفي آخر، يتطلّب أن تكون مهندس منصّات فعّالًا ومنتِجًا مهارات معيّنة وعقلية محدّدة. وسنستعرض هاتين النقطتين بالتفصيل.
  • يتطلّب أن تكون مهندس منصّات ناجحًا مجموعة متنوّعة من المهارات تجمع بين الخبرة التقنية والتفكير الاستراتيجي وعقلية تركّز على المستخدم.
  • فيما يلي قائمة بالمهارات الأساسية اللازمة لمهندس المنصّات:
    • البرمجة: معرفة قوية بلغات مثل Python أو Go أو Bash لبناء قدرات المنصّة أو أتمتتها.
    • الحوسبة السحابية: خبرة في المنصّات السحابية مثل AWS أو Azure أو Google Cloud، وهي عادةً حجر الأساس في المنصّة.
    • الشبكات: فهم متين لمفاهيم الشبكات، مثل موازنة الحمل و DNS والجدران النارية وتقنيات شبكة الخدمات (service mesh)، لضمان عمليات منصّة موثوقة وآمنة.
    • خطوط أنابيب CI/CD: معرفة متقدّمة بخطوط أنابيب التكامل المستمر والتسليم المستمر (CI/CD)، وعقلية قوية لأتمتة عمليات التسليم وتبسيطها. ويمكن تحقيق ذلك باستخدام أدوات مختلفة مثل Jenkins أو GitHub Actions أو GitLab CI أو ArgoCD.
    • الحاويات (Containerization): خبرة واسعة بأدوات الحاويات مثل Docker و Kubernetes، خصوصًا في إدارة البيئات متعدّدة العناقيد (multi-cluster).
    • البنية التحتية كشيفرة (IaC): مهارات قوية في IaC لتعريف البنية التحتية ونشرها وإدارتها بطريقة قابلة للتوسّع وقابلة للتكرار. ويمكن تحقيق ذلك باستخدام أدوات مثل Terraform أو Pulumi أو Crossplane.
    • القابلية للملاحظة (Observability): إتقان الركائز الثلاث للقابلية للملاحظة (logs وmetrics وtraces) لضمان رؤية واضحة لصحّة المنصّة. ويمكن تحقيق ذلك باستخدام أدوات مثل Prometheus أو Grafana أو ELK stack أو خدمات أخرى.
    • الأمان: معرفة بتأمين المنصّات والبنية التحتية، ويشمل ذلك إدارة الهويات والوصول (IAM) والتشفير وأدوات تقييم الثغرات.
  • تمكّن هذه المهارات مجتمعةً مهندسي المنصّات من تصميم منصّات قابلة للتوسّع وفعّالة وسهلة الاستخدام وبنائها وإدارتها، بما يمكّن فرق التطوير ويدفع ابتكار الأعمال.

مصادر

1.3 عقلية مهندس المنصّات

ما الذي تحتاج إلى معرفته

  • تبنّي عقلية إدارة المنتج في هندسة المنصّات.
  • بناء شخصيات المطوّرين (developer personas) وفهم سير عملهم.
  • إنشاء حلقات تغذية راجعة مع المستخدمين النهائيين (المطوّرين وأصحاب المصلحة).
  • تطوير مدفوع بالمقاييس لميزات المنصّة.