🎯 Module 11: Automating Infrastructure — أتمتة البنية التحتية السحابية
تعد أتمتة البنية التحتية واحدة من أهم الممارسات الحديثة في عالم الحوسبة السحابية، حيث تمكنك من نشر وإدارة الموارد بسرعة وثبات دون تدخل يدوي. في هذه الوحدة ستتعرف على مفهوم Infrastructure as Code (IaC) وكيفية استخدام AWS CloudFormation لنمذجة وإنشاء مجموعات كاملة من الموارد السحابية. كما ستستكشف أدوات مثل AWS Quick Starts وAmazon Q Developer التي تسرع عملية بناء القوالب وتقليل الأخطاء البشرية، مع تطبيق مبادئ AWS Well-Architected Framework على استراتيجيات الأتمتة.
1️⃣ Process Without Automation — العمليات بدون أتمتة
تبدأ العديد من المؤسسات باستخدام AWS بإنشاء S3 bucket أو تشغيل EC2 instance يدوياً ثم تضيف الموارد تدريجياً مع توسع استخدامها. لكن مع مرور الوقت يصبح إدارة هذه الموارد وصيانتها يدوياً تحدياً كبيراً.
العمليات اليدوية عرضة للأخطاء وغير موثوقة ولا تدعم الأعمال المرنة، وغالباً ما تُستنزف الموارد البشرية الماهرة في مهام تكوين متكررة بدلاً من أنشطة ذات قيمة أعلى.
- أين تريد وضع جهودك — في التصميم أم في التنفيذ؟ وما مخاطر التنفيذ اليدوي؟
- كيف ستحدث خوادم الإنتاج مثالياً؟ وكيف ستنشر التحديثات عبر مناطق جغرافية متعددة؟
- كيف ستدير التراجع إلى الإصدار السابق عند حدوث أعطال؟
- كيف ستصحح أخطاء النشر قبل وصولها للعميل؟
- هل من الواقعي القيام بكل هذه المهام من خلال التهيئة اليدوية؟
بعد نجاح الموقع تضاعف عدد الزوار واحتاجت الشركة إلى 10 خوادم إضافية وقواعد بيانات وشبكات.
بدلاً من قضاء أسابيع في تكوين كل شيء يدوياً تستخدم CloudFormation لإنشاء البيئة بأكملها بنقرة واحدة وبنفس الجودة في كل مرة.
2️⃣ Risks from Manual Processes — مخاطر العمليات اليدوية
تخلق العمليات اليدوية مخاطر حقيقية على تطبيقاتك وبيئتك السحابية. عندما تقوم بإنشاء الموارد وإضافة الميزات يدوياً فإن ذلك لا يدعم التكرار على نطاق واسع، كما يفتقر إلى التحكم في الإصدارات وسجلات التدقيق، ويؤدي إلى تكوينات غير متناسقة.
- لا تدعم التكرار على نطاق واسع: إذا كنت مسؤولاً عن تطبيق مؤسسي كبير قد لا يكون هناك عدد كافٍ من الأشخاص لإضافة الميزات يدوياً عند الحاجة.
- تفتقر للتحكم في الإصدارات: عند إنشاء البيئة يدوياً لا يمكنك التراجع بسهولة إلى إصدار سابق في حالات الطوارئ.
- تفتقر لسجلات التدقيق: من الخطير منح أي شخص في المؤسسة القدرة على التحكم اليدوي في البيئات دون تتبع التغييرات.
- تكوينات غير متسقة: الاتساق ضروري لتقليل المخاطر وتساعد الأتمتة في الحفاظ عليه عبر جميع الموارد.
عند اكتشاف ثغرة أمنية يحتاج الفريق لتحديث كل خادم على حدة مما يستغرق ساعات وقد ينسى أحدهم خادماً.
باستخدام CloudFormation يتم تحديث القالب مرة واحدة وتنطبق التغييرات على جميع الخوادم تلقائياً.
3️⃣ Benefits of Automation — فوائد الأتمتة
لتقليل مخاطر العمليات اليدوية تعتمد بيئات التشغيل الحديثة على الأتمتة الكاملة. تقضي الأتمتة على التدخل اليدوي في بيئات الإنتاج وتركز على إعداد البنية التحتية وتكوينها ونشرها ودعمها. باستخدام الأتمتة يمكنك إعداد بيئات قابلة للتكرار بسرعة وبشكل موحد.
- تقليل التدخل البشري والوصول اليدوي إلى بيئات الإنتاج.
- تمكين إنشاء بيئات قابلة للتكرار بتكوين موحد وقياسي.
- تحسين الإنتاجية عبر أتمتة اختبار البرمجيات وإصدارها وتكوين الآلات وتصحيح الأخطاء.
- أتمتة الاختبارات والقياس التلقائي (Auto Scaling) للاستجابة لطلب العملاء وإنشاء بيئات أكثر مرونة.
بدون أتمتة يضطر فريق العمليات لمراقبة الخوادم يدوياً وتشغيل خوادم إضافية عند الازدحام.
مع الأتمتة يرصد Amazon CloudWatch ارتفاع الاستخدام ويشغل Auto Scaling خوادم إضافية تلقائياً ثم يغلقها عند انخفاض الطلب مما يوفر التكاليف.
بدون الأتمتة يضيع الوقت وتكثر الأخطاء ومعها يصبح كل شيء منضبطاً وسريعاً وقابلاً للتوسع لاستقبال آلاف الزبائن يومياً.
- العمليات اليدوية عرضة للأخطاء وغير موثوقة ولا تدعم التوسع.
- المخاطر الرئيسية: عدم قابلية التكرار، غياب التحكم بالإصدارات، غياب سجلات التدقيق، وعدم الاتساق.
- الأتمتة تقلل التدخل البشري وتتيح بيئات قابلة للتكرار وتحسن الإنتاجية وتؤتمت الاختبار والقياس.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Automation | الأتمتة | استخدام الأدوات والخدمات لأداء المهام دون تدخل بشري. |
| Stack | المكدس | مجموعة موارد AWS يمكن إدارتها كوحدة واحدة. |
| Manual process | عملية يدوية | إجراء يتطلب تدخلاً بشرياً مباشراً لتكوين الموارد أو إدارتها. |
| Auto Scaling | القياس التلقائي | خدمة تضبط عدد الموارد تلقائياً بناءً على الطلب. |
| Amazon CloudWatch | مراقبة السحابة | خدمة مراقبة ورصد للموارد والتطبيقات على AWS. |
| Audit trail | سجل التدقيق | سجل زمني لتتبع التغييرات والوصول إلى الموارد. |
| Rollback | التراجع | العودة إلى إصدار سابق من البيئة أو التطبيق. |
1️⃣ IaC Overview — نظرة عامة على البنية التحتية ككود
Infrastructure as Code هي عملية كتابة قالب (template) يعرّف الموارد السحابية ويديرها ويكون مفهوماً لكل من البشر والآلات. باستخدام IaC يمكنك استنساخ البنية التحتية وإعادة نشرها وإعادة استخدامها بشكل موثوق ومتسق. تستخدم المؤسسات IaC للتحكم في التكاليف وتقليل المخاطر والاستجابة بسرعة للفرص التجارية الجديدة.
- يعرّف الحالة المطلوبة للبنية التحتية دون الحاجة لسرد جميع الخطوات للوصول إليها.
- يمكن استنساخ البيئات ونشرها وإعادة استخدامها بثبات واتساق.
- يقلل الوقت والجهد مقارنة بالإدارة اليدوية خاصة عند إدارة التطبيقات على نطاق واسع.
بدلاً من تكوين كل بيئة يدوياً (مع احتمالية الاختلافات) يكتب الفريق قالب CloudFormation واحد.
يستخدم نفس القالب لإنشاء البيئات الثلاث مما يضمن أن سلوك التطبيق في بيئة الاختبار يطابق تماماً سلوكه في الإنتاج.
2️⃣ IaC Benefits — فوائد البنية التحتية ككود
تكمن الفوائد الرئيسية في قابلية إعادة الاستخدام والتكرار والاستدامة. باستخدام قالب واحد (أو مجموعة قوالب) يمكنك بناء نفس البيئات المعقدة مراراً وتكراراً. عند حذف الـ stack يتم حذف جميع موارده المرتبطة تلقائياً.
- نشر سريع للبيئات المعقدة: قالب واحد يبني بيئات متطابقة بسرعة وثبات.
- نشر التغييرات بثبات: تعديل القالب ونفس التغيير ينتشر لكل الـ stacks.
- تنظيف تلقائي: حذف الـ stack يحذف جميع الموارد التي أنشأها.
- قابلية إعادة الاستخدام والتكرار والاستدامة: أعمدة IaC الثلاثة.
بيئة التطوير مرنة للبرمجة والاختبار، بيئة الاختبار تحاكي الإنتاج، وبيئة الإنتاج تخدم المستخدمين النهائيين.
عند تحديث إعدادات أمان قاعدة البيانات في قالب واحد تنطبق على البيئات الثلاث بضمان أن التعديل يطبق باتساق تام.
3️⃣ AWS CloudFormation — تشكيل السحابة من AWS
CloudFormation هي خدمة IaC تتيح لك نمذجة وإنشاء وإدارة مجموعة من موارد AWS باستخدام قالب. تسمى مجموعة الموارد CloudFormation stack. لا توجد رسوم إضافية على استخدام CloudFormation نفسها — أنت تدفع فقط مقابل الموارد التي تنشئها. يمكنك إنشاء الـ stacks وتحديثها وحذفها بطريقة منظمة وقابلة للتنبؤ مع تمكين التحكم في إصدارات نشر AWS.
- يمكنك التعامل مع البنية التحتية ككود: كتابته بأي محرر نصوص وإيداعه في نظام تحكم بالإصدارات مثل GitHub.
- مراجعة القوالب مع أعضاء الفريق قبل النشر.
- التراجع: يمكنك حذف stack والإصدار من إصدار أقدم من القالب لاستعادة حالة سابقة.
بدلاً من إنشاء كل خدمة يدوياً من لوحة التحكم (مهمة تستغرق أياماً) يكتب قالب CloudFormation خلال ساعتين.
ينشر القالب وينشئ كل شيء بدقائق وبنفس الجودة في كل مرة.
4️⃣ AWS IaC Services That Use CloudFormation — خدمات IaC التي تستخدم CloudFormation
تقدم AWS عدة خدمات تساعد في إنشاء البنية التحتية برمجياً، وكلها تستخدم CloudFormation خلف الكواليس لنشر الموارد. يعتمد اختيارك على مستوى الراحة والتحكم الذي تحتاجه ومهارات فريقك.
- AWS Elastic Beanstalk: خدمة مُدارة بالكامل تشغّل البيئة تلقائياً بعد رفع كود التطبيق. تدير تلقائياً سعة التجهيز وموازنة الأحمال والقياس ومراقبة الصحة.
- AWS Quick Starts: بنى مرجعية مؤتمتة مبنية على قوالب CloudFormation من مهندسي حلول AWS وشركائها.
- AWS Serverless Application Model (AWS SAM): امتداد لـ CloudFormation بصيغة مختصرة لبناء البنى بدون خوادم.
- AWS Amplify: إطار تطوير لتطبيقات الويب والجوال الكاملة يتطلب كوداً أقل ومعرفة أقل بتكاملات الواجهة الخلفية.
- AWS Cloud Development Kit (AWS CDK): إطار تطوير مفتوح المصدر لنمذجة الموارد بلغات برمجة مألوفة ثم نشرها عبر CloudFormation.
| الخدمة | الاستخدام الأمثل | مستوى التجريد |
|---|---|---|
| Elastic Beanstalk | رفع التطبيق بسرعة دون القلق بشأن البنية التحتية | عالٍ — تدير الخدمة التفاصيل تلقائياً |
| CloudFormation | تحكم كامل بكل مورد وعلاقاته | منخفض — تحدد كل مورد وخصائصه |
| AWS CDK | تعريف البنية التحتية بلغة برمجة مألوفة (Python, TypeScript, إلخ) | متوسط — يجمع بين التحكم وسهولة البرمجة |
| AWS SAM | تطبيقات بدون خوادم مع صيغة مختصرة | متوسط — مختصر للتطبيقات الـ Serverless |
مهندس معماري يحتاج تحكماً دقيقاً في كل مورد يختار CloudFormation.
فريق يستخدم Python بشكل أساسي قد يختار AWS CDK لكتابة البنية التحتية بنفس لغة التطبيق.
- IaC هو تعريف الموارد السحابية في ملف قالب مفهوم للبشر والآلات.
- الفوائد الرئيسية: نشر سريع، تناسق التهيئة، تنظيف تلقائي، إعادة استخدام موثوقة.
- CloudFormation هي خدمة IaC أساسية في AWS تدعم إنشاء وتحديث وحذف الـ stacks.
- خدمات مثل Elastic Beanstalk وAWS CDK وAWS SAM تبني على CloudFormation لتقديم مستويات مختلفة من التجريد.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Infrastructure as Code (IaC) | البنية التحتية ككود | عملية إدارة الموارد السحابية عبر قوالب قابلة للقراءة آلياً وبشرياً. |
| CloudFormation | تشكيل السحابة | خدمة AWS لنمذجة وإنشاء وإدارة الموارد السحابية عبر القوالب. |
| Template | القالب | ملف JSON أو YAML يصف موارد AWS المراد إنشاؤها. |
| AWS CDK | حزمة تطوير السحابة | إطار مفتوح المصدر لتعريف البنية التحتية بلغات برمجة مألوفة. |
| Elastic Beanstalk | الإطار المرن | خدمة مُدارة تشغّل التطبيقات تلقائياً دون الحاجة لإدارة البنية التحتية. |
| AWS SAM | نموذج التطبيقات بدون خوادم | إطار مبسط لبناء البنى الـ Serverless على CloudFormation. |
| CloudFormation Stack | مكدس CloudFormation | مجموعة موارد AWS تُدار كوحدة واحدة عبر CloudFormation. |
1️⃣ How CloudFormation Works — كيف يعمل CloudFormation
تبدأ العملية بتعريف موارد AWS التي تريد إنشاءها في قالب (template). يمكنك كتابة القالب من الصفر أو استخدام قالب جاهز. ثم ترفع القالب إلى خدمة CloudFormation (أو تخزنه في Amazon S3 وتشير إليه). بعد ذلك تشغّل عملية إنشاء الـ stack فتنشأ الموارد عبر خدمات AWS المتعددة. يحتفظ الـ stack بالسيطرة على الموارد المنشأة ويمكنك لاحقاً تحديثها أو اكتشاف الانحراف أو حذفها.
- تعريف الموارد في قالب CloudFormation (من الصفر أو باستخدام قالب جاهز).
- رفع القالب إلى CloudFormation أو الإشارة إليه من Amazon S3.
- تشغيل أمر إنشاء الـ stack — تنشأ الموارد عبر خدمات متعددة كبيئة تشغيل متكاملة.
- الـ stack يحتفظ بالسيطرة للتحديث أو كشف الانحراف أو الحذف.
يكتب قالباً واحداً يصف هذه الموارد ← يرفعه لـ CloudFormation ← تشغّل الخدمة إنشاء الـ stack ← خلال دقائق تعمل البيئة بكاملها.
إذا احتاج لإضافة ميزة غير مدعومة مباشرة يضيف دالة Lambda تستدعي AWS SDK لتغطية أي واجهة برمجة.
2️⃣ CloudFormation Template Syntax — صيغة قوالب CloudFormation
يمكن كتابة قوالب CloudFormation بإحدى صيغتين: JSON أو YAML. كل صيغة لها مزاياها ويعتمد الاختيار على حالة الاستخدام وخبرة فريقك. يوصى بمعاملة القوالب ككود مصدر وتخزينها في مستودع أكواد.
- YAML: محسّن للقراءة البشرية، أقل كثافة في الكتابة، يدعم التعليقات المدمجة (comments)، تصحيح الأخطاء أسهل.
- JSON: أكثر انتشاراً بين الأنظمة الأخرى (مثل APIs)، أقل تعقيداً في التوليد والتحليل البرمجي.
// YAML example AWSTemplateFormatVersion: 2010-09-09 Resources: awsexamplebucket1: Type: AWS::S3::Bucket // JSON example { "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "awsexamplebucket1": { "Type": "AWS::S3::Bucket" } } }
فريق آخر يعمل بكثافة مع APIs خارجية قد يفضل JSON لتوافقه مع الأنظمة الأخرى.
الاختيار يعتمد على احتياجات الفريق وليس هناك صيغة "أفضل" بشكل مطلق.
3️⃣ Anatomy of a CloudFormation Template — تشريح قالب CloudFormation
يتكون القالب من عدة أقسام اختيارية باستثناء قسم Resources وهو القسم الوحيد الإلزامي. يوصى بترتيب الأقسام بترتيب منطقي لأن القيم في قسم قد تعتمد على قيم من قسم سابق.
- AWSTemplateFormatVersion: إصدار صيغة القالب (يختلف عن إصدار الـ API).
- Description: نص يصف القالب — يجب أن يأتي بعد قسم الإصدار مباشرة.
- Metadata: كائنات توفر معلومات إضافية عن القالب.
- Parameters: قيم تُمرر للقالب وقت التشغيل (عند إنشاء أو تحديث الـ stack).
- Rules: تتحقق من صحة معلمة أو مجموعة معلمات.
- Mappings: تعيين مفاتيح وقيم مرتبطة (مثل خرائط مناطق AWS).
- Conditions: شروط تحدد متى يتم إنشاء مورد أو تكوينه.
- Transform: تحويلات للقالب مثل استخدام AWS SAM.
- Resources: (إلزامي) الموارد المراد إنشاؤها وخصائصها.
- Outputs: قيم تُرجع بعد إنشاء الـ stack (مثل معرف المورد أو عنوان IP).
يستخدم Mappings لاختيار صورة AMI المناسبة حسب المنطقة.
يستخدم Outputs لإرجاع الـ InstanceId وPublicIP بعد الإنشاء.
4️⃣ Resources Template: Create an EC2 Instance — مثال: إنشاء مثيل EC2
يوضح هذا المثال القسمين الأكثر استخداماً: Resources (إلزامي) يحدد الموارد المراد إنشاؤها وخصائصها، وOutputs يحدد القيم المعادة بعد إنشاء الـ stack.
{
"Resources": {
"Ec2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-9d23aeea",
"InstanceType": "m3.medium",
"KeyName": { "Ref": "KeyPair" }
}
}
},
"Outputs": {
"InstanceId": {
"Description": "InstanceId",
"Value": { "Ref": "Ec2Instance" }
}
}
}
بعد إنشاء الـ stack يمكنك رؤية InstanceId في تفاصيل الـ stack في وحدة تحكم CloudFormation أو عبر AWS CLI.
5️⃣ AWS CloudFormation Designer — مصمم CloudFormation
Designer هو أداة رسومية لإنشاء وعرض وتعديل قوالب CloudFormation. يمكنك رسم موارد القالب باستخدام واجهة السحب والإفلات (drag-and-drop) وتعديل تفاصيلها عبر محرر JSON وYAML المدمج. يساعدك على رؤية العلاقات بين موارد القالب بسرعة وتعديل القوالب بسهولة.
- شريط الأدوات: وصول سريع لأوامر فتح وحفظ القوالب والتراجع وإعادة وإنشاء الـ stack والتحقق من صحة القالب.
- لوحة أنواع الموارد: تسرد جميع موارد القالب مصنفة حسب خدمة AWS — تُضاف بسحبها إلى اللوحة الرئيسية.
- لوحة الرسم (Canvas): تعرض موارد القالب كرسم بياني مع إمكانية إضافة وإزالة الموارد وإنشاء العلاقات.
- محرر JSON/YAML المدمج: لتحرير القالب نصياً مع مزامنة فورية مع الرسم البياني.
- أزرار العرض: شاشة كاملة للرسم أو للمحرر أو مقسم بينهما.
يستخدم Designer لفتح القالب فيرى رسماً بيانياً يوضح أن EC2 مرتبط بـ Security Group وكلاهما داخل VPC.
يمكنه تعديل العلاقات بسحب خط بين موردين أو إضافة مورد جديد من اللوحة الجانبية.
6️⃣ Using Conditions — استخدام الشروط
يمكنك استخدام نفس القالب لإنشاء بيئة الإنتاج وبيئة التطوير. يضمن هذا استخدام نفس إصدارات التطبيقات ونفس إصدار Java ونفس إصدار قاعدة البيانات في كلتا البيئتين. لكن باستخدام Conditions يمكن أن تعمل بيئة الإنتاج عبر منطقتي توفر (Availability Zones) بينما تعمل بيئة التطوير في منطقة توفر واحدة فقط.
- قالب واحد ينتج بيئات مختلفة في الحجم والنطاق لكنها متطابقة في التهيئة.
- بيئات اختبار متعددة للاختبار الوظيفي واختبار قبول المستخدم واختبار الأحمال دون المساس ببيانات بعضها البعض.
- الاتساق: إذا تصرفت التطبيقات بشكل جيد في بيئة الاختبار فستتصرف بنفس الطريقة في الإنتاج.
- بيئة إنتاج تعبر منطقتي توفر لضمان التوفر العالي.
- بيئة تطوير تعبر منطقة توفر واحدة لتوفير التكاليف.
- بيئة اختبار أداء تعبر منطقتي توفر بمقياس أصغر.
الشرط (Condition) يتحقق من معامل البيئة (EnvironmentType) ويقرر عدد المناطق بناءً عليه.
7️⃣ CloudFormation Change Sets — مجموعات تغيير CloudFormation
Change Sets تتيح لك معاينة التغييرات قبل تطبيقها. يمكنك رؤية التعديلات التي سينفذها CloudFormation بالضبط والتحقق من توافقها مع توقعاتك قبل الموافقة على التحديث.
- إنشاء Change Set بتقديم التغييرات للـ stack الذي تريد تحديثه.
- عرض Change Set لرؤية إعدادات الـ stack والموارد التي ستتغير.
- تشغيل Change Set لتطبيق التحديثات.
بعد المراجعة والموافقة يشغّل التحديث ويضع DeletionPolicy: Retain على قاعدة البيانات القديمة كنسخة احتياطية.
8️⃣ Drift Detection — كشف الانحراف
تخيّل أن بيئة تطبيق أنشئت عبر CloudFormation stack. ثم قرر شخص ما تعديل إعدادات البيئة المنشأة يدوياً — مثلاً فتح منفذ TCP جديد في Security Group عبر وحدة تحكم EC2. هذا التعديل خارج سياق CloudFormation — هنا يأتي دور Drift Detection ليكشف أن البيئة المنشورة لم تعد تطابق النموذج المعرف في القالب.
- يمكن تشغيله على الـ stack من قائمة Stack actions في وحدة التحكم.
- يظهر ما إذا كان الـ stack قد انحرف عن التهيئة المتوقعة في القالب.
- يعيد معلومات مفصلة عن حالة الانحراف لكل مورد يدعم الكشف.
- عند حذف stack به انحراف قد يفشل الحذف بسبب تبعيات موارد غير محلولة — قد تحتاج لحلها يدوياً.
يشغّل Drift Detection فيكتشف أن Security Group قد انحرف عن القالب الأصلي.
يقوم الفريق بتصحيح الانحراف (إما بإعادة تطبيق القالب أو تعديل القالب ليشمل التغيير المصرح به).
9️⃣ Scoping and Organizing Templates — تنظيم القوالب
مع زيادة استخدام CloudFormation من المهم وضع استراتيجية تنظيمية للقوالب. فكر في تجميع الموارد في قوالب مشابهة لكيفية تنظيم تطبيق مؤسسي كبير إلى أجزاء مختلفة. ضع المكونات الأكثر ترابطاً في نفس القوالب، وفكر في استخدام Nested stacks (stacks متداخلة) لإعادة استخدام الأنماط الشائعة.
| الفئة | نوع القالب | أمثلة الموارد |
|---|---|---|
| الخدمات الأمامية | واجهات الويب والتطبيقات ولوحات التحليل | CloudFront, ALB, واجهات المستخدم |
| الخدمات الخلفية | البحث والمدفوعات والمراجعات والتوصيات | Lambda, DynamoDB, SQS |
| الخدمات المشتركة | قواعد بيانات CRM والمراقبة والتنبيهات | RDS, CloudWatch, SNS |
| الشبكة | الشبكات الخاصة والبوابات والأجهزة الافتراضية | VPC, IGW, NAT |
| الأمان | سياسات IAM والمستخدمين والمجموعات والأدوار | IAM, KMS, WAF |
- قالب شبكة واحد ينشئ VPC والشبكات الفرعية والبوابات.
- قالب أمان ينشئ أدوار IAM وسياسات التشفير.
- قوالب منفصلة لكل تطبيق (أمامي وخلفي) تشير إلى موارد الشبكة والأمان عبر Nested stacks أو معاملات الدخل.
هكذا تنظيم القوالب حسب المجال (شبكة، أمان، خدمات أمامية) يسهل الصيانة وإعادة الاستخدام.
ومثل استخدام الصناديق المتداخلة (مثل دمى الماتريوشكا) الـ Nested stacks تسمح ببناء قوالب معقدة من مكونات أصغر قابلة لإعادة الاستخدام.
- يعمل CloudFormation بأربع خطوات: تعريف الموارد في قالب ← رفعه ← إنشاء الـ stack ← إدارة الموارد.
- القوالب تكتب بـ JSON أو YAML وتحتوي أقساماً أهمها Resources (إلزامي).
- يمكن استخدام Conditions لإنشاء بيئات مختلفة من قالب واحد وChange Sets لمعاينة التغييرات.
- Drift Detection يكشف الانحرافات عن القالب الأصلي.
- تنظيم القوالب حسب المجال (شبكة، أمان، خدمات) يسهل الصيانة وإعادة الاستخدام.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Template section | قسم القالب | جزء من قالب CloudFormation يخدم غرضاً محدداً (مثل Parameters, Resources). |
| Designer | المصمم | أداة رسومية لإنشاء وتحرير قوالب CloudFormation بالسحب والإفلات. |
| Condition | الشرط | تعبير يحدد متى يتم إنشاء أو تكوين مورد معين في القالب. |
| Change Set | مجموعة التغيير | معاينة للتغييرات التي سيطبقها CloudFormation قبل تنفيذها. |
| Drift Detection | كشف الانحراف | ميزة تكتشف إذا انحرفت الموارد المنشأة عن تعريف القالب الأصلي. |
| Nested stack | مكدس متداخل | stack يتم إنشاؤه كجزء من stack آخر لإعادة استخدام الأنماط الشائعة. |
| DeletionPolicy | سياسة الحذف | خاصة تحدد ما يحدث للمورد عند حذف الـ stack (حذف أو حفظ أو نسخ احتياطي). |
1️⃣ AWS Quick Starts Overview — نظرة عامة على AWS Quick Starts
AWS Quick Starts هي قوالب CloudFormation جاهزة لحلول كاملة، بناها مهندسو حلول AWS وشركاؤها. تعكس أفضل ممارسات AWS للأمان والتوفر العالي ويمكن نشرها في حسابك خلال أقل من ساعة — غالباً في دقائق فقط. تساعدك على بناء بيئات اختبار أو إنتاج متقنة في خطوات قليلة.
- نشر معياري ذهبي (gold-standard deployments) مبني على أفضل ممارسات AWS.
- يمكن استخدامها لإنشاء بنى كاملة أو للتجربة بأساليب نشر جديدة.
- يمكن استخدامها كأساس لبنيتك الخاصة — تقترض أجزاء منها وتضمّنها في قوالبك.
بدلاً of كتابة قالب CloudFormation من الصفر تبحث في AWS Quick Starts وتجد حلاً جاهزاً لـ WordPress.
تنشره في دقائق — ثم تخصصه حسب احتياجاتها.
2️⃣ How to Use AWS Quick Starts — كيفية استخدام AWS Quick Starts
يتكون كل Quick Start من قالب CloudFormation ودليل نشر (deployment guide). يقدم الدليل تفاصيل حول خيارات النشر وكيفية تهيئة النشر ليتوافق مع احتياجاتك، بالإضافة إلى معلومات حول اعتبارات الأمان والتكاليف المقدرة. يمكنك تخصيص النشر ثم إنشاء الـ stack — وينتهي النشر في دقائق أو ساعات حسب الموارد المطلوبة.
- Quick Starts: حلول معيارية قابلة للتخصيص قد تستخدم أو لا تستخدم EC2.
- AWS Marketplace AMIs: حلول من بائع واحد تعمل على EC2 instances.
يجد Quick Start لـ "Serverless Image Handler" الذي ينشئ بنية كاملة تشمل CloudFront وAPI Gateway وLambda وS3 وAmazon Rekognition.
ينشر الحل في دقائق ويبدأ فوراً في معالجة الصور مع اكتشاف المحتوى غير الملائم والقص الذكي.
3️⃣ AWS Quick Starts Example — مثال: Serverless Image Handler
هذا الحل ينشئ بنية بدون خوادم (serverless) لمعالجة الصور بتكلفة فعالة مع توصيل ديناميكي للمحتوى وتعديل ذكي للصور باستخدام Amazon Rekognition.
- توزيع CloudFront يوفر طبقة تخزين مؤقت (caching layer) لتقليل تكلفة معالجة الصور وزمن وصول الطلبات اللاحقة.
- Amazon API Gateway يوفر نقاط نهاية ويطلق دوال Lambda.
- دالة Lambda تسحب الصورة من S3 bucket الموجود وتستخدم برنامج معالجة صور مفتوح المصدر لإرجاع نسخة معدلة.
- S3 bucket منفصل لتخزين السجلات.
- إذا فعّلت ميزة توقيع عنوان URL تسترجع الدالة القيمة السرية من AWS Secrets Manager للتحقق من التوقيع.
- Amazon Rekognition يحلل الصورة باستخدام ميزات القطع الذكي (smart crop) واعتدال المحتوى (content moderation).
يحتاج الموقع لقص الصور تلقائياً وضغطها واكتشاف الصور غير اللائقة.
ينشر Quick Start لـ "Serverless Image Handler" ← خلال دقائق تعمل البنية بالكامل ← كل صورة تُرفع تُعالج وتُخزن وتُفحص تلقائياً.
- قوالب CloudFormation جاهزة لحلول كاملة مبنية من قبل خبراء AWS.
- تتكون من قالب CloudFormation ودليل نشر يشرح خيارات التهيئة والتكاليف والأمان.
- يمكن استخدامها كنماذج للتعلّم أو كأساس لبناء حلول مخصصة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| AWS Quick Start | البدء السريع من AWS | قالب مرجعي جاهز لنشر حلول كاملة بأفضل ممارسات AWS. |
| Deployment guide | دليل النشر | وثيقة تشرح خيارات نشر Quick Start واعتبارات الأمان والتكاليف. |
| AWS Marketplace AMI | صورة آلة من سوق AWS | حلول بائع واحد تعمل على EC2 ومتوفرة في سوق AWS. |
| Reference deployment | نشر مرجعي | بنية نموذجية يمكن تخصيصها واستخدامها كأساس للحلول. |
1️⃣ Challenges of Writing IaC — تحديات كتابة البنية التحتية ككود
كتابة الكود قد تكون صعبة خاصة للمبتدئين. حتى المحترفون يواجهون تحديات مثل الأخطاء البشرية، اختلاف مستويات المهارة، حجم القوالب وتعقيدها، والثغرات الأمنية.
- الخطأ البشري (Human error): الأخطاء تحدث حتى في المهام المألوفة وقد يصعب العثور عليها خاصة عندما تكون الإجراءات صحيحة ولكن ليس لتحقيق أهداف البرمجة.
- اختلاف مستويات المهارة (Differing skill levels): المبرمجون الجدد قد يختارون كوداً أكثر تعقيداً من اللازم. الهدف هو إيجاد حل عملي وليس كتابة كود معقد.
- حجم القوالب وتعقيدها (Size and complexity of templates): حتى بنية ثلاثية الطبقات أساسية تصبح معقدة بسرعة عند كتابة قالب يصف كل الموارد بالتفصيل.
- الثغرات الأمنية (Security vulnerabilities): التركيز على كود خالٍ من الأخطاء بدلاً من التحقق من أمانه قد يؤدي لثغرات غير مقصودة.
هذا خطأ أمني شائع لدى المبتدئين — يركزون على جعل القالب يعمل وينسى تكوين إعدادات الأمان.
Amazon Q Developer يمكنه اكتشاف مثل هذه الثغرات واقتراح التصحيح فوراً.
2️⃣ Amazon Q Developer — مساعد التطوير بالذكاء الاصطناعي
Amazon Q Developer هو مساعد برمجي مدعوم بالذكاء الاصطناعي التوليدي (Generative AI) مصمم للمطورين ومتخصصي IT. دُرّب على سنوات من أمثلة AWS عالية الجودة ووثائقها، ويمكن تدريبه أيضاً على كود شركتك وأنظمتها. يوفر اقتراحات كود في الوقت الفعلي، ويولّد كوداً جديداً، ويفحص كودك بحثاً عن الثغرات الأمنية، ويساعد في ترقية الكود وتحسينه.
- الدردشة حول الكود والحصول على إرشادات سياقية.
- تلقي اقتراحات كود في المحرر (IDE) بلغات برمجة متعددة.
- توليد اختبارات الوحدات (unit tests) تلقائياً.
- فحص الكود بحثاً عن ثغرات أمنية والحصول على اقتراحات للإصلاح.
- تحويل الكود وتحديثه إلى إصدارات أحدث.
المطور لا يحتاج لكتابة كل سطر بنفسه مما يسرع التطوير بشكل كبير ويقلل الأخطاء.
3️⃣ Amazon Q Developer Across the SDLC — Amazon Q Developer عبر دورة حياة تطوير البرمجيات
يدعم Amazon Q Developer المطورين عبر جميع مراحل دورة حياة تطوير البرمجيات (SDLC) بدءاً من التخطيط وصولاً إلى الصيانة والتحسين.
| المرحلة | الإجراءات |
|---|---|
| التخطيط (Plan) | طرح أسئلة والحصول على إرشادات سياقية وموثقة — شرح الكود بمحادثة تفاعلية. |
| الإنشاء (Create) | اقتراحات كود مباشرة في الـ IDE بعدة لغات — تنفيذ الميزات عبر التعليقات أو الأوامر النصية — محادثة في الـ IDE. |
| الاختبار والأمان (Test & Secure) | توليد اختبارات وحدات — فحص الكود للثغرات الأمنية واقتراح الإصلاحات. |
| التشغيل (Operate) | تشخيص الأخطاء — استكشاف اتصالات الشبكة عبر VPC Reachability Analyzer. |
| الصيانة والتحديث (Maintain & Modernize) | تحديث الكود تلقائياً عبر Amazon Q Developer Agent for code transformation. |
يحصل على شرح مع أمثلة كود لاستخدام Amazon DynamoDB مع Lambda.
في مرحلة الإنشاء يكتب تعليقاً "// create DynamoDB table for user sessions" ويقترح Amazon Q الكود المناسب.
4️⃣ Example: Using Amazon Q Developer with CloudFormation — مثال: استخدام Amazon Q مع CloudFormation
عند تعديل قالب CloudFormation يمكنك استخدام Amazon Q Developer لكتابة أو تعديل أو حذف الكود. يولد Amazon Q اقتراحات بصيغة YAML أو JSON تتناسب بسلاسة مع قالبك الحالي. يساعد أيضاً في كتابة دوال Lambda داخل الـ CloudFormation stack عند تفعيله في محرر Lambda.
- يكتب المطور بداية المورد المطلوب داخل ملف YAML.
- يقترح Amazon Q Developer إكمال الكود.
- يقبل المطور الاقتراح فيُضاف الكود تلقائياً إلى القالب.
MyS3Bucket:يقترح Amazon Q Developer فوراً:
Type: AWS::S3::Bucket
Properties:
BucketName: my-unique-bucket-nameيقبل المهندس الاقتراح ويستمر في كتابة باقي القالب بسرعة.
وكما يستخدم الخطاط الجديد قالباً للحروف ليكتب بخط جميل فإن المطور الجديد يستخدم Amazon Q لتسريع تعلمه وكتابة كود أفضل.
- كتابة IaC تواجه تحديات: خطأ بشري، اختلاف المهارات، تعقيد القوالب، ثغرات أمنية.
- Amazon Q Developer هو مساعد AI يولّد ويقترح ويفحص الكود في الوقت الفعلي.
- يدعم جميع مراحل SDLC من التخطيط إلى الصيانة، ويساعد في كتابة قوالب CloudFormation ودوال Lambda.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Amazon Q Developer | مطور Amazon Q | مساعد برمجي بالذكاء الاصطناعي التوليدي من AWS. |
| Generative AI | الذكاء الاصطناعي التوليدي | تقنية تنتج محتوى جديداً (كود، نصوص، صور) بناءً على تدريبها على بيانات سابقة. |
| SDLC | دورة حياة تطوير البرمجيات | المراحل المتتابعة لتطوير البرمجيات من التخطيط إلى الصيانة. |
| IDE | بيئة التطوير المتكاملة | تطبيق برمجي يوفّر أدوات متكاملة للمطورين لكتابة واختبار الكود. |
| Code recommendation | اقتراح الكود | توليد أجزاء من الكود تلقائياً بناءً على السياق الحالي. |
| Security vulnerability | ثغرة أمنية | ضعف في الكود يمكن استغلاله لخرق أمان النظام. |
1️⃣ Prepare — Design for Operations — الإعداد — التصميم للتشغيل
تعد أتمتة العمليات ممارسة أساسية ضمن ركيزة التميز التشغيلي (Operational Excellence). تعلّمت في هذه الوحدة أن الأتمتة باستخدام IaC تحسن تدفق التطوير وتحافظ على الاتساق عند نشر التغييرات في الإنتاج. في AWS يمكنك رؤية عبء العمل بأكمله (التطبيقات والبنية التحتية والسياسات والحوكمة والعمليات) ككود.
- تنفيذ العمليات ككود (Perform operations as code): طبق نفس الانضباط الهندسي الذي تستخدمه لكود التطبيق على بيئتك بالكامل. يمكنك برمجة إجراءات التشغيل وأتمتة تشغيلها استجابة للأحداث.
- إجراء تغييرات متكررة وصغيرة وقابلة للعكس (Make frequent, small, reversible changes): صمم عبء العمل لتمكين التحديثات المنتظمة للمكونات. التغييرات الصغيرة التي يمكن عكسها تساعد في تصحيح الأخطاء بشكل أسرع وتقليل المخاطر.
- الأتمتة الكاملة للتكامل والنشر (Fully automate integration and deployment): استخدم أدوات الأتمتة لتسليم الكود ونقله إلى الإنتاج بأقل تدخل بشري.
كل تغيير في الكود يُختبر تلقائياً ← يُنشر في بيئة اختبار ← بعد الموافقة يُنشر في الإنتاج.
إذا فشل التحديث تتم استعادة الإصدار السابق تلقائياً — كل هذا بدون تدخل يدوي.
2️⃣ Security — Automate Security Best Practices — الأمان — أتمتة أفضل ممارسات الأمان
تصف ركيزة الأمان (Security pillar) كيفية استخدام تقنيات السحابة لحماية البيانات والأنظمة والأصول بطريقة تحسن وضعك الأمني. يمكنك أتمتة ممارسات الأمان على مستويات متعددة. آليات الأمان البرمجية المؤتمتة تحسن قدرتك على التوسع بأمان وبسرعة وبتكلفة فعالة. ساعدك هذا في إنشاء بنى آمنة تتضمن ضوابط تُعرّف وتُدار ككود في قوالب محكومة بالإصدارات.
- أتمتة تحديد الموارد وتصنيفها لتطبيق الضوابط الصحيحة.
- استخدام الأتمتة بدلاً من الوصول البشري المباشر يقلل خطر الخطأ البشري والتعرض للثغرات.
- عند نشر قوالب CloudFormation تأكد من مراعاة الأمان في كل خطوة.
يتضمن القالب أيضاً قواعد IAM تمنح أقل صلاحية ممكنة (least privilege) لكل خدمة.
إذا حاول أحدهم تعديل إعدادات الأمان لاحقاً عبر لوحة التحكم يكتشف Drift Detection الانحراف ويُعلم فريق الأمان.
3️⃣ Change Management — Implement Change — إدارة التغيير — تنفيذ التغيير
تتعلق ركيزة الموثوقية (Reliability pillar) بقدرة النظام على أداء وظيفته بشكل صحيح ومتسق. إجراء تغييرات على أنظمة الإنتاج هو أحد أكبر مجالات المخاطر للعديد من المؤسسات. تعلّمت في هذه الوحدة أن استخدام IaC يمنحك القدرة على نشر التغييرات بالأتمتة وتقليل فرص الخطأ البشري.
- نشر التغييرات بالأتمتة (Deploy changes with automation): تجنب الأساليب اليدوية — استخدم الأتمتة حيثما أمكن للاختبار والنشر وإضافة أو إزالة السعة وترحيل البيانات.
- استخدام الأتمتة عند الحصول على الموارد أو توسعتها (Use automation when obtaining or scaling resources): استخدم الخدمات المُدارة مثل Amazon S3 وCloudFront وAWS Auto Scaling وLambda وDynamoDB لأتمتة عملية استبدال الموارد المعطلة أو توسيع نطاق عبء العمل.
بدلاً من إيقاف الخدمة يدوياً وتحديث كل خادم على حدة يعدّلون قالب CloudFormation ← يشغّلون تحديث الـ stack ← تنطبق التغييرات على جميع الموارد بترتيب محدد وباتساق تام ← إذا حدث خطأ يمكن التراجع بسهولة باستخدام إصدار سابق من القالب.
4️⃣ Optimize Over Time — Automating Operations — التحسين مع الوقت — أتمتة العمليات
تحسين التكلفة (Cost Optimization) هو عملية مستمرة من التحسين طوال دورة حياة عبء العمل. أتمتة العمليات تقلل الوقت والجهد المبذولين في المهام الإدارية والنشر والعمليات الأخرى. ابدأ بتحديد أولويات العمليات بناءً على الجهد المطلوب من خلال النظر في إجمالي تكلفة العمليات في السحابة.
- قم بأتمتة العمليات التشغيلية لتقليل التكلفة وزيادة العائد على الاستثمار.
- انظر إلى التكلفة الإجمالية للإجراءات البشرية (total cost of human actions) بعامل تكلفة العمليات والإدارة.
- أعط الأولوية لأتمتة المهام الإدارية المتكررة وعالية القيمة والتي تنطوي على مخاطر عالية للأخطاء البشرية.
- حرّر موارد البنية التحتية من المهام التشغيلية اليدوية لاستخدامها في مهام ذات قيمة أعلى والابتكار.
يقومون بأتمتة هذه العملية باستخدام AWS Systems Manager وCloudFormation.
بعد الأتمتة تستغرق نفس العملية 5 دقائق — يوفر الفريق 9 ساعات أسبوعياً للتركيز على تحسين التطبيقات وتطوير ميزات جديدة.
ومثل الطاهي الرئيسي الذي يكتب وصفات دقيقة ← مساعدوه يطبقونها بنفس الطريقة في كل مرة — لا مجال للخطأ أو الاجتهاد الشخصي.
- التميز التشغيلي: نفذ العمليات ككود، اجعل التغييرات صغيرة ومتكررة وقابلة للعكس، وأتمت التكامل والنشر بالكامل.
- الأمان: أتمت أفضل ممارسات الأمان باستخدام ضوابط مُدارة ككود في قوالب محكومة بالإصدارات.
- الموثوقية: انشر التغييرات بالأتمتة واستخدم الأتمتة عند الحصول على الموارد أو توسعتها.
- تحسين التكلفة: أتمت العمليات التشغيلية لتقليل الجهد البشري والتركيز على المهام عالية القيمة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Operational Excellence | التميز التشغيلي | ركيزة تركز على تشغيل ومراقبة الأنظمة وتحسين العمليات باستمرار. |
| Operations as code | العمليات ككود | تطبيق مبادئ هندسة البرمجيات على إجراءات التشغيل والبنية التحتية. |
| Reversible changes | تغييرات قابلة للعكس | تحديثات يمكن التراجع عنها بسهولة في حال عدم نجاحها. |
| CI/CD | التكامل والنشر المستمران | ممارسة أتمتة بناء واختبار ونشر التطبيقات بشكل مستمر. |
| Least privilege | أقل صلاحية ممكنة | مبدأ أمني يمنح المستخدمين والخدمات الحد الأدنى من الصلاحيات اللازمة فقط. |
| Cost Optimization | تحسين التكلفة | ركيزة تركز على تحقيق أقصى قيمة بأقل تكلفة ممكنة. |
| Drift | الانحراف | حيث تختلف الموارد المنشأة فعلياً عن تعريفها في قالب CloudFormation. |
1️⃣ The Evolving Café Architecture: Version 7 — تطور بنية المقهى: الإصدار 7
يستمر نشاط المقهى في الازدياد. سلمى وخالد أصبحا صديقين لزبائن المقهى من مستشاري AWS. ليلى، مهندسة حلول AWS، حددت حاجة المقهى الإلكتروني للتوسع. يتطلب التوسع خوادم إضافية لتشغيل تطبيق الطلب الإلكتروني لكن حجم الشبكة الفرعية الحالي صغير جداً ولا يدعم هذا النمو — لذلك يحتاجون لإعادة تصميم جوانب من الشبكة التي يعمل عليها التطبيق. اكتشفت ليلى أيضاً ثغرة: منفذ TCP المستخدم لإدارة خادم التطبيق متاح للإنترنت. نصحتهم بإعداد bastion host لتقليل الوصول العام للخادم.
| الإصدار | سبب التحديث التجاري | التحديث المعماري |
|---|---|---|
| V1 | إنشاء موقع ثابت لمشروع صغير | استضافة الموقع على Amazon S3 |
| V2 | إضافة طلبات إلكترونية | نشر تطبيق الويب وقاعدة البيانات على EC2 |
| V3 | تقليل جهد صيانة قاعدة البيانات وتأمينها | فصل طبقات الويب وقاعدة البيانات. نقل قاعدة البيانات إلى Amazon RDS على شبكة فرعية خاصة. |
| V4 | تعزيز أمان تطبيق الويب | استخدام ميزات Amazon VPC لتهيئة وتأمين الشبكات الفرعية العامة والخاصة. |
| V5 | إنشاء آليات وصول منفصلة حسب الدور | إضافة مجموعات IAM وربط سياسات الموارد — إضافة مستخدمين IAM حسب الدور. |
| V6 | ضمان قدرة الموقع على التعامل مع الزيادة المتوقعة في الحركة | إضافة موازن تحميل — تطبيق القياس التلقائي على EC2 — توزيع الحوسبة وقواعد البيانات عبر منطقتي توفر. |
| V7 | نشر الموقع بطريقة قابلة للتكرار | استخدام AWS CloudFormation لأتمتة نشر البنية التحتية. |
في الإصدار 7 أصبح كل شيء معرفاً في قالب CloudFormation ← يمكن نسخ البنية إلى منطقة أخرى بنقرة واحدة ← إذا تلفت البيئة تعاد إنشاؤها تلقائياً من القالب.
2️⃣ Café Deployment Lab Tasks — مهام معمل نشر المقهى
في هذا المعمل ستقوم بنشر طبقة شبكة VPC باستخدام قالب CloudFormation، ثم نشر طبقة التطبيق باستخدام قالب آخر يشير إلى طبقة الشبكة. ستستخدم Git لاستدعاء AWS CodePipeline وإنشاء أو تحديث الـ stacks من القوالب المخزنة في مستودع الأكواد. ستستخدم أيضاً CloudFormation لبناء بنى مختلفة بناءً على متغيرات البيئة (conditions).
- نشر طبقة شبكة VPC باستخدام قالب AWS CloudFormation.
- نشر طبقة تطبيق باستخدام قالب CloudFormation آخر يشير إلى طبقة الشبكة.
- استخدام Git لاستدعاء AWS CodePipeline وإنشاء أو تحديث الـ stacks من القوالب المخزنة في مستودع الأكواد.
- استخدام AWS CloudFormation لبناء بنى مختلفة بناءً على متغيرات البيئة (Conditions).
يستخدم Git لدفع القوالب إلى المستودع ← CodePipeline يكتشف التغيير وينشر الـ stack تلقائياً في منطقة Oregon وOhio.
البيئة في كل منطقة متطابقة تماماً — هذا هو هدف الأتمتة.
هذا ما يفعله CloudFormation للمقهى — يكتب وصفة البنية التحتية ← أي مطبخ (منطقة AWS) ينتج نفس البيئة بنفس الجودة.
- الإصدار 7 من بنية المقهى يركز على قابلية التكرار عبر CloudFormation.
- المعمل يشمل نشر طبقة شبكة وطبقة تطبيق باستخدام قوالب منفصلة.
- يستخدم Git وCodePipeline لأتمتة النشر عبر مناطق متعددة.
- يستخدم Conditions لبناء بنى مختلفة حسب متغيرات البيئة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Bastion host | مضيف الحصن | خادم وسيط آمن للوصول إلى الخوادم في الشبكات الخاصة. |
| AWS CodePipeline | خط أنابيب الأكواد | خدمة CI/CD لأتمتة بناء واختبار ونشر التطبيقات. |
| Code repository | مستودع الأكواد | مخزن مركزي لإدارة إصدارات الكود مثل GitHub. |
| Environment variable | متغير البيئة | قيمة يمكن تغييرها لتعديل سلوك البيئة دون تعديل الكود. |
🚀 الخاتمة
في هذه الوحدة تعرفت على أهمية أتمتة البنية التحتية السحابية والمخاطر التي تسببها العمليات اليدوية مثل عدم قابلية التكرار وغياب التحكم بالإصدارات وسجلات التدقيق. استعرضنا مفهوم Infrastructure as Code (IaC) وكيف يساعد في نشر البيئات بسرعة وثبات باستخدام قوالب موحدة قابلة لإعادة الاستخدام. تعمقنا في خدمة AWS CloudFormation — من كتابة القوالب بصيغة JSON وYAML إلى استخدام Conditions وChange Sets وDrift Detection — وكيفية تنظيم القوالب حسب المجالات المختلفة. تعرفنا أيضاً على AWS Quick Starts كحلول جاهزة للنشر السريع، وAmazon Q Developer كمساعد AI يسرع كتابة القوالب ويحسن جودتها. وأخيراً طبقنا مبادئ AWS Well-Architected Framework على استراتيجيات الأتمتة عبر الركائز الست لضمان بنية مؤتمتة وآمنة وموثوقة وفعالة من حيث التكلفة.
