الجزء 1 من سلسلة تعلّم AWS من الصفر

ما هي AWS؟ البنية العالمية من المناطق إلى مواقع الحافة

وش هي الحوسبة السحابية، وكيف تتوزع AWS حول العالم في مناطق ومناطق توفر ومواقع حافة، وكيف تختار المنطقة المناسبة، ومين مسؤول عن وش.

في هذا المقال
  1. الحوسبة السحابية باختصار
  2. البنية العالمية لـ AWS
  3. خدمات عالمية وخدمات إقليمية
  4. كيف تختار المنطقة المناسبة؟
  5. نموذج المسؤولية المشتركة
  6. كيف تتعامل مع AWS؟
  7. قبل ما تكمل: احمِ حسابك وفاتورتك
  8. الخلاصة
  9. اختبر نفسك

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

ما تحتاج خبرة سابقة في AWS. يكفي إنك تعرف أساسيات الكمبيوتر والإنترنت.

الحوسبة السحابية باختصار

بدل ما تشتري سيرفرات وتحطها في غرفة عندك وتدفع قيمتها مقدماً، تستأجر من مزوّد سحابي اللي تحتاجه وقت ما تحتاجه، وتدفع على قد استخدامك. AWS (اختصار Amazon Web Services) من أكبر المزوّدين السحابيين في العالم، وبدأت تقدّم خدماتها للعامة سنة 2006.

اللي يميّز السحابة عن السيرفر اللي في غرفتك:

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

نماذج الخدمة

مو كل خدمات السحابة تعطيك نفس المستوى من التحكم. كل ما ارتفعت في الجدول، قلّ اللي تديره بنفسك:

النموذج وش تديره أنت مثال في AWS
IaaS: بنية تحتية كخدمة نظام التشغيل، والبرامج، والبيانات EC2 (سيرفرات افتراضية)
PaaS: منصة كخدمة الكود والبيانات فقط Elastic Beanstalk
FaaS: دوال بدون سيرفرات الدالة نفسها فقط Lambda
SaaS: برنامج كخدمة استخدامك للبرنامج فقط أي تطبيق جاهز تفتحه من المتصفح

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

البنية العالمية لـ AWS

AWS مو مركز بيانات واحد. هي شبكة ضخمة موزّعة على ثلاث طبقات، ولازم تفهمها قبل أي خدمة: المناطق، ومناطق التوفر، ومواقع الحافة.

المنطقة (Region)

المنطقة موقع جغرافي فيه مجموعة مراكز بيانات تابعة لـ AWS. لكل منطقة اسم ورمز تستخدمه في كل مكان:

  • us-east-1: فرجينيا الشمالية (أمريكا)
  • eu-central-1: فرانكفورت (ألمانيا)
  • me-south-1: البحرين
  • me-central-1: الإمارات

كل منطقة مستقلة عن غيرها. لما تنشئ سيرفر في منطقة، يبقى فيها، وبياناتك ما تطلع منها إلا إذا أنت نقلتها. وأغلب خدمات AWS إقليمية، يعني تختار المنطقة قبل ما تنشئ أي شي.

منطقة التوفر (Availability Zone)

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

مناطق التوفر بعيدة عن بعضها بمسافة تكفي إن الكارثة في وحدة (حريق، انقطاع كهرباء، فيضان) ما توصل للثانية، وقريبة كفاية إنها مربوطة بشبكة سريعة جداً. واسمها رمز المنطقة متبوع بحرف: me-central-1a وme-central-1b وme-central-1c.

المنطقة (Region) منطقة التوفر 1 me-central-1a مركز بيانات مركز بيانات منطقة التوفر 2 me-central-1b مركز بيانات مركز بيانات منطقة التوفر 3 me-central-1c مركز بيانات شبكة سريعة ومنخفضة التأخير تربط مناطق التوفر ببعض
منطقة واحدة فيها ثلاث مناطق توفر معزولة عن بعض، وكل منطقة توفر فيها مركز بيانات أو أكثر.

الفكرة الأهم هنا: لو شغّلت تطبيقك في أكثر من منطقة توفر، تعطّل وحدة منها ما يوقف تطبيقك. هذا أساس "التوفر العالي" (High Availability) اللي بنرجع له كثير في السلسلة.

مواقع الحافة (Edge Locations)

مواقع الحافة نقاط تابعة لـ AWS في مدن كثيرة حول العالم، وعددها أكبر بكثير من عدد المناطق. ما تشغّل فيها سيرفراتك. تستخدمها خدمات مثل CloudFront (شبكة توصيل المحتوى) وRoute 53 (نظام أسماء النطاقات DNS)، عشان تخدم المستخدم من أقرب نقطة له، فيوصله المحتوى أسرع.

مثال: موقعك مستضاف في فرانكفورت، والزائر في الرياض. بدل ما كل صورة تقطع المسافة كاملة، CloudFront يحفظ نسخة منها في أقرب موقع حافة للزائر ويرسلها له من هناك.

أقرب من كذا: Local Zones وWavelength وOutposts

بعض التطبيقات تحتاج تشتغل أقرب للمستخدمين من أي منطقة. وعند AWS ثلاث طرق لهذا:

الخيار وين يشتغل يناسب
Local Zones مواقع AWS في مدن كبيرة، تتبع منطقة زمن استجابة قليل جداً لمستخدمي هذي المدينة
Wavelength Zones داخل شبكات 5G عند شركات الاتصالات زمن استجابة قليل جداً للجوالات وأجهزة 5G
AWS Outposts أجهزة AWS في مركز بياناتك بيانات أو أنظمة لازم تبقى عندك

خدمات عالمية وخدمات إقليمية

لأن أغلب الخدمات إقليمية، لازم تعرف أي خدمة مربوطة بمنطقة وأي وحدة لا:

النوع أمثلة وش يعني لك
عالمية IAM، Route 53، CloudFront نفس الإعدادات تنطبق على كل المناطق
إقليمية EC2، Lambda، RDS، وأغلب الخدمات تختار المنطقة، والمورد يعيش فيها فقط

S3 حالة خاصة: الحاوية (Bucket) تنشأ في منطقة محددة وبياناتها تبقى فيها، لكن اسمها لازم يكون فريد على مستوى AWS كلها.

كيف تختار المنطقة المناسبة؟

لما تبدأ مشروع جديد، أربعة أشياء تحدد المنطقة:

  1. الأنظمة والامتثال: بعض الجهات والقوانين تشترط إن البيانات تبقى داخل دولة أو منطقة معينة.
  2. القرب من المستخدمين: كل ما كانت المنطقة أقرب لمستخدمينك، قلّ التأخير (Latency) وصار التطبيق أسرع.
  3. توفر الخدمات: مو كل الخدمات والميزات موجودة في كل منطقة. الخدمات الجديدة عادة تنزل في مناطق معينة أول.
  4. التكلفة: أسعار نفس الخدمة تختلف من منطقة لمنطقة.

لو مستخدمينك في الخليج، me-central-1 (الإمارات) أو me-south-1 (البحرين) تعطيك أقل تأخير، بس تأكد إن الخدمات اللي تحتاجها متوفرة فيها. وللتعلّم والتجارب، كثير يستخدمون us-east-1، لأن فيها أغلب الخدمات وأسعارها غالباً من الأرخص.

نموذج المسؤولية المشتركة

الأمان في AWS مسؤولية مقسومة بينك وبينهم. باختصار: AWS تحمي السحابة نفسها، وأنت تحمي اللي تحطه داخلها.

AWS مسؤولة عن أنت مسؤول عن
المباني ومراكز البيانات وحراستها بياناتك ومين يقدر يوصل لها
الأجهزة والشبكة العالمية المستخدمين والصلاحيات (IAM)
طبقة التشغيل الافتراضي للسيرفرات نظام التشغيل في سيرفرك وتحديثاته (في EC2)
تشغيل الخدمات المُدارة نفسها إعدادات الشبكة والجدار الناري والتشفير

وكل ما كانت الخدمة مُدارة أكثر، قلّت مسؤوليتك. في EC2 أنت مسؤول عن نظام التشغيل كامل، وتقدر تشوف وش يعني هذا عملياً في شرح إعداد خادم لينكس آمن من الصفر. أما في خدمة مثل Lambda، فـ AWS تتكفّل بالسيرفر ونظام التشغيل، وأنت تهتم بالكود والصلاحيات.

كيف تتعامل مع AWS؟

عندك أربع طرق، وكلها توصل لنفس الخدمات:

  • لوحة التحكم (Management Console): واجهة في المتصفح، أسهل بداية.
  • سطر الأوامر (AWS CLI): أوامر في الطرفية، مناسبة للأتمتة والسكربتات.
  • حزم البرمجة (SDKs): مكتبات للغات مثل Python وJavaScript وJava وGo، تستخدمها داخل تطبيقك.
  • CloudShell: طرفية داخل لوحة التحكم، فيها CLI جاهز ومسجّل دخول بحسابك. أسرع طريقة تجرّب فيها الأوامر بدون أي إعداد.

جرّب الحين. افتح CloudShell من أيقونة الطرفية في أعلى لوحة التحكم، ونفّذ:

Bash
# مين أنا؟ يعرض رقم الحساب والهوية اللي تستخدمها
aws sts get-caller-identity

# المناطق المفعّلة في حسابك
aws ec2 describe-regions --query "Regions[].RegionName" --output table

# مناطق التوفر في منطقة فرانكفورت، مع معرّف كل وحدة
aws ec2 describe-availability-zones --region eu-central-1 \
  --query "AvailabilityZones[].[ZoneName,ZoneId]" --output table

الأمر الأخير يطلع لك جدول فيه اسم كل منطقة توفر (eu-central-1a…) ومعرّفها (euc1-az2…)، وهذا اللي شرحناه فوق عن الفرق بين الاسم والمعرّف.

قبل ما تكمل: احمِ حسابك وفاتورتك

أخطر شي على حساب AWS جديد مو الاختراق بس، بل كمان فاتورة ما توقعتها. سوِّ هذي الخطوات من أول يوم:

AWS تعطي الحسابات الجديدة استخداماً مجانياً محدوداً، لكن شروطه تتغيّر مع الوقت. راجع صفحة الاستخدام المجاني الرسمية قبل ما تشغّل أي خدمة، ولا تترك موارد شغّالة بعد ما تخلص تجربتك.

الخلاصة

  • السحابة = موارد حسب الطلب، تدفع على قد استخدامك، وتكبر وتصغر حسب حاجتك.
  • المنطقة موقع جغرافي مستقل، وأغلب الخدمات تعيش داخل منطقة وحدة.
  • منطقة التوفر مركز بيانات أو أكثر معزول. التوزيع على أكثر من وحدة يحمي تطبيقك من الأعطال.
  • مواقع الحافة تقرّب المحتوى للمستخدم عن طريق CloudFront وRoute 53.
  • تختار المنطقة حسب الأنظمة، والقرب، وتوفر الخدمات، والتكلفة.
  • AWS تحمي السحابة، وأنت تحمي اللي داخلها.

اختبر نفسك

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

السؤال 1 من 6

عيادة تشغّل تطبيق الحجوزات على سيرفر EC2 واحد في me-central-1a. انقطعت الكهرباء عن مركز البيانات، فوقف التطبيق ساعات. تبي العيادة إن التطبيق ينجو لو طاح مركز بيانات واحد، وما تحتاج حماية من سقوط منطقة كاملة. أي تصميم يحقق هذا بأقل تكلفة؟

اعرض الجواب

الجواب الصحيح: C

مناطق التوفر معزولة عن بعض، فعطل وحدة ما يوصل للثانية، وموزع الحمل يوجه الزوار للسيرفر السليم. وهذا أرخص خيار يحقق المطلوب.

  • A: السيرفر الأكبر يبقى في نفس المكان، فيوقف مع نفس العطل.
  • B: يحمي من سقوط منطقة كاملة، وهذا أكثر من حاجة العيادة وأغلى.
  • D: CloudFront يخزن المحتوى مؤقتاً، بس إتمام الحجز لسا يحتاج السيرفر.

للمراجعة: منطقة التوفر في هذا الجزء، وRegions and Zones في وثائق AWS.

السؤال 2 من 6

شركة تأمين ألمانية ملزمة بالقانون تبقي بيانات عملائها داخل الاتحاد الأوروبي، وأغلب عملائها في ألمانيا. مطور يقترح us-east-1 لأنها أرخص وفيها خدمة جديدة يبي الفريق يجربها. وش لازم تسوي الشركة؟

اعرض الجواب

الجواب الصحيح: A

لما تخضع البيانات لأنظمة محلية، الالتزام بها يجي قبل زمن الاستجابة والتكلفة والخدمات المتوفرة. وبعدها تقارن بين المناطق اللي تبقى.

  • B: CloudFront يسرع التوصيل، بس البيانات نفسها تبقى في أمريكا.
  • C: بيانات الإنتاج لسا خارج الاتحاد الأوروبي، والنسخة الاحتياطية ما تغير هذا.
  • D: التشفير يحمي البيانات، بس ما يغير مكانها.

للمراجعة: كيف تختار المنطقة المناسبة؟ في هذا الجزء، وWhat to consider when selecting a Region في مدونة AWS.

السؤال 3 من 6

موقع دورات يشتغل على سيرفر في eu-central-1. صوره وفيديوهاته بطيئة على الطلاب في الرياض وجاكرتا، والمراقبة تبين إن معالج السيرفر وذاكرته بعيدين عن الحد. أي حل يحسن التوصيل لهؤلاء الطلاب بأقل جهد تشغيلي؟

اعرض الجواب

الجواب الصحيح: D

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

  • A: السيرفر مو تحت ضغط، والمسافة تبقى نفسها.
  • B: يحسن التوفر، بس الطلاب يبقون على نفس البعد.
  • C: ينفع، بس فيه أكثر شغل في التجهيز والمزامنة والتكلفة.

للمراجعة: مواقع الحافة في هذا الجزء، وWhat is Amazon CloudFront? في وثائق AWS.

السؤال 4 من 6

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

اعرض الجواب

الجواب الصحيح: B + E

في EC2، نظام التشغيل داخل السيرفر وقواعد الجدار الناري حوله عليك. وكل شي من المضيف وطبقة الأجهزة الافتراضية نزولاً للمبنى على AWS.

  • A: العتاد على AWS.
  • C: طبقة الأجهزة الافتراضية على AWS.
  • D: الأمان الفعلي على AWS.

للمراجعة: نموذج المسؤولية المشتركة في هذا الجزء، وصفحة AWS عن النموذج.

السؤال 5 من 6

حسابين AWS في نفس الشركة، وكل واحد عنده Subnet في us-east-1a. يبي الفريق يعرف هل الـ Subnet في الحسابين بنفس المكان الفعلي، عشان تبقى البيانات الكثيرة بينهم داخل منطقة توفر وحدة. وش لازم يقارن؟

اعرض الجواب

الجواب الصحيح: B

AWS تربط أسماء مناطق التوفر بالأماكن الفعلية بشكل مختلف لكل حساب. أما المعرّف مثل use1-az1 فيعني نفس المكان في كل الحسابات.

  • A: us-east-1a في حساب ممكن ما يكون نفس مكان us-east-1a في حساب ثاني.
  • C: يأكد إنها نفس المنطقة بس، وهذا معروف أصلاً.
  • D: مواقع الحافة تقدم المحتوى للمستخدمين، وما تحدد مكان الـ Subnet.

للمراجعة: منطقة التوفر في هذا الجزء، وAvailability Zone IDs في وثائق AWS.

السؤال 6 من 6

شركة تبني تطبيق ألعاب سحابية للجوالات على شبكات 5G، وكل ملي ثانية بين الجوال والسيرفر تفرق. وين تشغّل السيرفرات؟

اعرض الجواب

الجواب الصحيح: C

Wavelength Zones تقعد داخل شبكات 5G عند شركات الاتصالات، فيبقى زمن الاستجابة للجوالات قليل جداً.

  • A: هذي أبعد عن الجوال من شبكة شركة الاتصالات نفسها.
  • B: هذا يحط أجهزة AWS في موقعك، وهو مو قريب من جوالات اللاعبين.
  • D: ما تشغّل فيها سيرفراتك، وهي تقدم محتوى محفوظ.

للمراجعة: أقرب من كذا: Local Zones وWavelength وOutposts في هذا الجزء، وRegions and Zones في وثائق AWS.

إذا تبي تشوف هذي المفاهيم على أرض الواقع، عندنا شرح عملي: كيف تنشئ سيرفر على AWS.

في الجزء الثاني ندخل في الهوية والصلاحيات (IAM): المستخدمين والمجموعات والسياسات، وكيف تأمّن حسابك فعلياً.