دليل AWS الشامل: أهم 5 أساسيات يجب إتقانها عند بدء رحلتك في خدمات أمازون الويب

دقائق القراءة: 8

لقد اجتاحت خدمات أمازون الويب (AWS) عالم التقنية بقوة، وباتت تُعرف كواحدة من أكثر مزودي الخدمات السحابية موثوقية، مقدمةً قائمة شاملة من الخدمات التي تتراوح بين تخزين الكائنات (Object Storage) والتعلم الآلي (Machine Learning). ومع ذلك، قد تبدو هذه المنصة معقدة ومربكة للمبتدئين في عالم الحوسبة السحابية. فمن أين يجب أن تبدأ رحلتك لتعلم AWS؟

في هذا الدليل، سنستعرض أهم خمسة محاور أساسية ينبغي عليك التركيز عليها في بداية مسيرتك مع AWS:

  • تخزين الكائنات باستخدام AWS S3
  • استضافة ونشر المواقع الثابتة باستخدام AWS S3 و CloudFront
  • إنشاء دوال بلا خادم (Serverless Functions) باستخدام AWS Lambda
  • تشغيل خادم مُدار باستخدام AWS EC2
  • فهم اختصارات AWS (هذا أمر بالغ الأهمية!)

1. تخزين الكائنات بكفاءة مع AWS S3: أساسيات التخزين السحابي

تُعد Amazon S3 (خدمة التخزين البسيط) الحل الأمثل من AWS لتخزين الكائنات (Object Storage). بتبسيط شديد، يمكن اعتبار “حاويات S3” (S3 buckets) بمثابة قرص صلب سحابي مخصص للملفات الثابتة. هذا يعني أنه بينما يمكنك تحميل أي نوع من الملفات تقريباً إلى S3، فإنك لا تستطيع تنفيذها مباشرةً بعد رفعها، بل يقتصر التعامل معها على التنزيل أو الكتابة فوقها.

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

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

موارد إضافية لتعلم Amazon S3:

2. استضافة ونشر المواقع الثابتة بكفاءة باستخدام AWS S3 و CloudFront

بالبناء على ما تعلمناه للتو عن AWS S3، وبما أن المتصفحات تقوم في النهاية بتنزيل الملفات لاستخدامها، يمكننا الاستفادة من S3 لاستضافة المواقع الثابتة بمجرد تفعيل خيار بسيط! توفر S3 إعداداً يسمح لنا بتقديم موقع ويب مباشرةً من حاوية بسيطة. يقوم هذا الإعداد بتهيئة الحاوية للسماح بطلبات HTTP التي يمكن للمتصفح التعرف عليها، مما يجعل تطبيقات Gatsby المجمعة حديثاً أو حتى ملف HTML واحداً مرشحاً مثالياً للاستضافة على S3.

تأتي خدمة CloudFront لتكمل هذه العملية، حيث توفر شبكة توصيل المحتوى (CDN) لموقعنا. فبينما تسمح لنا S3 باستضافة الموقع في حاوية، تعمل CloudFront كطبقة شبكة موزعة ومخزنة مؤقتاً (cached distributed network layer) تقع أمام الحاوية، مما يضمن وصول موقعنا إلى متصفحات الزوار بشكل أسرع بكثير مما لو تم الوصول إليه مباشرةً من S3.

موارد إضافية لتعلم Amazon S3 و CloudFront:

3. بناء دوال بلا خادم (Serverless Functions) بفعالية باستخدام AWS Lambda

إذا كنت حديث العهد بعالم الحوسبة بلا خادم (Serverless)، فالفكرة لا تعني غياب الخوادم تماماً، بل تعني أنك كعميل لست بحاجة لإدارة تلك الخوادم. يقدم معظم مزودي الخدمات السحابية حلولاً متنوعة للخدمات بلا خادم، ولكن أحد أكثرها شيوعاً هو استخدام دوال Lambda من AWS.

دوال Lambda هي ببساطة دوال برمجية، لكنها تعمل في السحابة. لا داعي للقلق بشأن الموارد التي تشغل هذه الدوال، بل كل ما عليك هو التركيز على بيئة التطوير التي تفضلها، مثل Node.js أو Python. هذه التقنية قوية وفعالة من حيث التكلفة! فهي تساعد على تجريد المنطق البرمجي في دالة واحدة تعمل في السحابة، ويمكن توسيع نطاقها (scale) بقدر ما تشاء (مع الأخذ في الاعتبار قدرة أي خدمات طرف ثالث تتفاعل معها على التوسع بنفس القدر).

ما الذي يمكنك فعله باستخدام Lambda؟

إليك بعض الأمثلة:

  • قراءة وكتابة البيانات إلى S3 أو قاعدة بيانات.
  • معالجة البيانات بمنطق معقد.
  • إنشاء تطبيقات ويب باستخدام Express.js.

هناك إمكانيات هائلة يمكن أن تفتحها لك المعرفة بـ AWS Lambda!

موارد إضافية لتعلم AWS Lambda:

4. تشغيل خوادم مُدارة بمرونة باستخدام AWS EC2

إحدى أبرز نقاط قوة AWS هي القدرة على إجراء جميع عمليات الحوسبة الخاصة بك داخل السحابة، وهذا ينطبق على أي متطلب تقريباً! في صميم AWS تقع خدمة Amazon EC2 (Elastic Compute Cloud) التي تُعد ببساطة خادماً في السحابة.

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

أمثلة على استخدامات AWS EC2:

  • تشغيل نسخة جديدة من WordPress أو نظام إدارة المحتوى (CMS) المفضل لديك.
  • إدارة خادم ويب مخصص.
  • معالجة البيانات العلمية التي تتطلب قوة حوسبة عالية.

موارد إضافية لتعلم Amazon EC2:

5. إتقان اختصارات AWS: مفتاح التواصل الفعال في السحابة

بجدية تامة، كمهندس واجهة أمامية (Front-end Engineer) أمضى وقتاً طويلاً في بناء مواقع الويب، كان أحد أهم الأمور التي ساعدتني على أن أكون منتجاً وفعالاً مع فريقي هو تعلم اختصارات خدمات AWS المختلفة. S3؟ EC2؟ CF؟ يمكنني أن أتوصل إلى الكثير من الإجابات الخاطئة من هذه الاختصارات، ولكن مجرد معرفة ما تعنيه هذه المصطلحات يجعلني قادراً على مواكبة المحادثات التقنية.

حتى لو كان تركيزي الأساسي على الواجهة الأمامية، يجب أن يكون لدي فهم للمفاهيم المتعلقة بمكان تخزين واستضافة تطبيقاتنا الثابتة. هذا يعني أنني يجب أن أعرف أن S3 هي اختصار لـ Simple Storage Service وأنها تعمل بشكل أساسي كقرص صلب في السحابة للملفات الثابتة.

ومع ذلك، فإن تعلم الاختصارات لا يعني بالضرورة أنك يجب أن تعرف كيفية عمل الخدمات بالتفصيل. فبينما الأمور التي ذكرتها أعلاه رائعة للمعرفة العملية، إذا كنت تركز فقط على الواجهة الأمامية لتطبيق ما، فلا يُتوقع منك أن تفهم كيفية عمل خدمات مثل ELB (Elastic Load Balancer) أو EMR (Elastic MapReduce). لكن القدرة على معرفة “ما هي” هذه الخدمات مفيدة للغاية أثناء عملك مع بقية فريقك.

موارد لتعلم اختصارات AWS:

هناك العديد من الطرق لتعلم الاختصارات. يمكنك ببساطة زيارة موقع AWS وقراءة قائمة بجميع الخدمات، ولكن قد لا تكون هذه هي الطريقة الأكثر كفاءة. هناك الكثير من الموارد المتاحة لتعلم أساسيات AWS، بما في ذلك دورة مجانية مدتها 4 ساعات لشهادة AWS Certified Cloud Practitioner Course من freecodecamp.org. على الرغم من أنك لست مضطراً لإجراء الاختبار لتعلم المادة، إلا أنه يمثل ميزة إضافية بالتأكيد إذا كنت ترغب في الاستثمار، حيث إنه شيء آخر يمكنك إضافته إلى سيرتك الذاتية مما يجعلك أكثر قيمة في سوق العمل. ولكن ابدأ بالتركيز على الخدمات التي تسمع عنها غالباً أو تلك التي يستخدمها فريقك. سيقطع هذا شوطاً طويلاً في مساعدتك على أن تصبح أكثر فعالية كجزء من فريقك.

أدوات إضافية لتبسيط إدارة خدمات AWS

بينما يمكنك بالتأكيد تحقيق الإنتاجية بالعمل مع كل خدمة من خدمات AWS على حدة، إلا أن هناك العديد من الأدوات التي يمكن أن تجعل التعامل مع هذه الخدمات أسهل وأكثر كفاءة.

AWS SDK (مجموعة تطوير البرامج)

مجموعة تطوير البرامج (SDK) تأتي مباشرةً من AWS، وهي متوفرة بعدة لغات برمجة، مثل AWS SDK for JavaScript التي يمكنك استخدامها عبر npm. باستخدام SDK، يمكنك التفاعل مع خدمات AWS مباشرةً من داخل تطبيقك.

Serverless Framework

لا تزال أدوات عالم الحوسبة بلا خادم (Serverless) حديثة نسبياً، ولكن Serverless Framework هي إحدى الأدوات التي صمدت طويلاً للمساعدة في بناء تطبيقات بلا خادم. هذه الأداة، التي لا يجب الخلط بينها وبين مفهوم “بلا خادم” نفسه، ستساعدك على تشغيل تطبيقات الويب عن طريق إدارة نشر خدمات AWS التي تحتاجها.

AWS Lightsail

بينما يمكنك تشغيل مثيل EC2 (EC2 instance) للقيام بما يحلو لك، فإن AWS Lightsail يمكن أن يتولى عنك بعض المهام الثقيلة. توفر Lightsail خدمات “النقر والتشغيل” (click-and-launch) مثل تشغيل خادم WordPress جديد أو بيئة LAMP.

AWS Amplify

إذا كنت تبحث عن أداة لإدارة خدماتك وتسهيل الإنتاجية، فإن AWS Amplify يمكن أن يساعدك في بناء تطبيقات الويب والجوال بسرعة باستخدام مجموعة متنوعة من الخدمات. يشمل ذلك المصادقة (authentication)، تخزين البيانات (data storage)، التحليلات (analytics)، التعلم الآلي (machine learning)، وغيرها الكثير.

الخلاصة التقنية

تُظهر خدمات AWS مدى التطور الذي وصلت إليه الحوسبة السحابية، مقدمةً حلولاً شاملة من التخزين إلى الحوسبة بلا خادم. للمبتدئين، التركيز على خدمات مثل S3 للتخزين، CloudFront لتسريع المحتوى، Lambda للدوال بلا خادم، و EC2 للخوادم الافتراضية، بالإضافة إلى فهم المصطلحات، يمثل حجر الزاوية لانطلاقة قوية. هذه الخدمات لا توفر فقط بنية تحتية قوية ومرنة، بل تفتح أيضاً آفاقاً واسعة للمطورين لبناء تطبيقات قابلة للتوسع وفعالة من حيث التكلفة. الاستثمار في تعلم هذه الأساسيات سيعزز من قدرتك على الابتكار والتفاعل بفعالية ضمن أي فريق تقني.

هل عملت سابقاً في AWS؟ ما هي خدمتك المفضلة؟ شاركنا رأيك!

صورة ملخص لخدمات AWS مع دعوة للمتابعة على وسائل التواصل الاجتماعي

يمكنك متابعة الكاتب Colby Fayock، مدير هندسة تجربة المطورين في Cloudinary، لمزيد من المحتوى حول JavaScript، تجربة المستخدم (UX)، ومواضيع تقنية أخرى شيقة.

هل وصلت إلى هنا؟ شكراً لك على اهتمامك! يمكنك دعم الكاتب بالضغط على “Say Thanks”.

تعلم البرمجة مجاناً: لقد ساعد منهج freeCodeCamp مفتوح المصدر أكثر من 40,000 شخص في الحصول على وظائف كمطورين. ابدأ الآن.

اترك تعليقاً

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