اختيار حل جهة خارجية

مكتمل

دعونا نعتبر أن Chef وTerraform ليس لهما المعايير أنفسها كما في الوحدة السابقة.

Chef

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

السيناريو

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

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

ملخص الحل

ويعد الـ Chef مناسباً لنشر البنيات الأساسية وتكوينها على نطاق واسع. يسهل Chef عليك أتمتة نشر البنية الأساسية بأكملها، كسير عمل فريق التطوير.

Terraform

  • سهولة الإعداد. لبدء Terraform، عليك تنزيل الإصدار الذي يتطابق مع نظام التشغيل الخاص بك وتثبيته.
  • الإدارة. صُممت ملفات تكوين Terraform لتكون سهلة الإدارة.
  • إمكانية التشغيل التفاعلي. تدعم Terraform كلاً من Azure، وخدمات Amazon Web، وGoogle Cloud Platform.
  • لغة التكوين. تستخدم Terraform لغة Hashicorp Configuration Language (HCL). يمكنك أيضاً استخدام JSON.
  • القيود والعوائق. نظراً لأن Terraform تدار بصورة منفصلة عن Azure، فقد لا تتمكن من توفير بعض أنواع الخدمات أو الموارد.

السيناريو

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

يعد Terraform حلاً جيداً لهذا السيناريو. يمكنك بسهولة إنشاء أجهزة ظاهرية وموارد أخرى على أكثر من مزود للخدمة باستخدام Terraform.

ملخص الحل

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