ما هي السحابة الأصلية -What is Cloud Native

“cloud native” هي تقنية تعتمد على تقنيات مثل الحاويات، وكوبرنيتس(تقنية لتنظيم الحاويات)، والبنية التحتية غير القابلة للتغيير، وخدمات الويب الصغيرة لتطوير وبناء تطبيقات يتم تشغيلها على السحابة . الغرض الرئيسي من cloud native هو رغبة الشركات في بناء تطبيقات قابلة للتوسع بشكل كبير وتتوافر بها المرونة ولها القدرة على التحديث السريع لمواكبة متطلبات العملاء.

المصدر: pivotal.io

ما هو Cloud Native بالتفصيل؟

cloud native هو مصطلح يُستخدم لوصف سوفتوير يتم بناؤه وتشغيله على السحابة. هذه التطبيقات في الأساس مصممة لتكون متاحة دائما ومرنة. في الأصل، كان يتم بناء التطبيقات وتقديم حلول للبيئات الخاصة التي يتم بناء التطبيقات عليها ومن ثم، يتم تغير هذه الحلول وتكييفها لبيئة السحابة حين رفع السوفتوير على السحابة.

مع مرور الوقت يؤدي هذا الطريق إلى زيادة تعقيد العملية وأداء غير فعال. Cloud Native يوفر بيئة مناسبة لتوسع التطبيقات على السحابة بشكل فعال وبسيط

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

عناصر أساسية في هندسة البرمجيات السحابية

تتضمن هندسة البرمجيات السحابية ثلاثة عناصر رئيسية:

  1. اعتماد تقنية الحاويات – Containers-:
  • يتم تعبئة كل جزء (تطبيقات، عمليات، إلخ) في حاوية خاصة به. يسهل ذلك عملية إعادة الإنتاج وتحقيق الشفافية وعزل الموارد.
  1. إدارة ديناميكية:
  • يتم تنظيم حاويات بشكل فعّال لتحسين استخدام الموارد. يتم إدارة هذه العمليات بشكل ديناميكي لتحسين استخدام الموارد.
  1. توجه نحو الخدمات الصغيرة (Microservices):
  • يتم تجزئة التطبيقات إلى خدمات صغيرة، مما يزيد بشكل كبير من رشاقتها وقابليتها للصيانة.

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

فوائد التطبيقات السحابية – Cloud Native Advantages

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

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

أدوات تنسيق الحاويات مثل Kubernetes تسمح للمطورين بتنسيق كيفية ستعمل حاويات التطبيق، بما في ذلك التوسيع والنشر.

استخدام نهج السحابة الأصلية في بناء تطبيقاتك يأتي بعدة فوائد واضحة:

  1. توفير النقود:
  • من خلال مراقبة وتوسيع موارد التطبيق عبر تنسيق السحابة، أي مجدولات الحاويات.
  1. تسريع تسليم التحديثات:
  • يتيح للفرق نشر التحديثات وتحقيق قيمة للعملاء بشكل أسرع.
  1. مواءمة العمليات مع أهداف الأعمال:
  • يضع العمليات في خدمة أهداف الأعمال ويساهم في تحقيقها.
  1. تقليل الوقت الذي يُنفق في الصيانة:
  • يقلل من الوقت الذي يُنفق في الصيانة، مما يعني أنه يمكن قضاء وقت أكبر في التركيز على أهداف الأعمال.

هيكلة تطبيقات السحابة الأصلية

هندسة تطبيقات السحابة الأصلية تجمع بين مكونات البرمجيات التي يستخدمها فرق التطوير لبناء وتشغيل تطبيقات السحابة الأصلية القابلة للتوسيع. تقوم مؤسسة الحوسبة السحابية الأصلية بتصنيف البنية الأساسية اللازمة لهندسة تطبيقات السحابة الأصلية وتتضمن بين تلك العناصر البنية: البنية التحتية غير القابلة للتغيير، والخدمات الصغيرة، وواجهات التطبيقات البرمجية الوصفية، والحاويات، وشبكات الخدمات.

البنية التحتية غير القابلة للتغيير (Immutable Infrastructure):

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

الخدمات الصغيرة (Microservices):

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

واجهات التطبيقات البرمجية الوصفية (API):

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

شبكة الخدمات (Service Mesh):

شبكة الخدمات هي طبقة برمجية في البنية التحتية السحابية التي تدير التواصل بين العديد من الخدمات الصغيرة. يستخدم المطورون شبكة الخدمات لإدخال وظائف إضافية دون كتابة رمز جديد في التطبيق.

الحاويات (Containers):

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

فوائد الحاويات:

بعض فوائد الحاويات تشمل:

  1. استخدام أقل لموارد الحوسبة من التنفيذ التقليدي للتطبيقات.
  2. إمكانية نشرها تقريبًا فورًا.
  3. القدرة على توسيع موارد الحوسبة السحابية المطلوبة بشكل أكثر كفاءة.

تحدثنا عن الحوسبة السحابية بشكل عام في مناسبات سابقة، يمكنك الإطلاع على مقالات الحوسبة السحابية من هنا

اشترك فى القائمة البريدية

عن الكاتب

شارك على وسائل التواصل

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *