دليلك الشامل لاجتياز اختبار AWS Developer Associate: دورة مجانية مدتها 16 ساعة
مقدمة إلى شهادة AWS Developer Associate المجانية
كما وعدناكم، نقدم لكم الدورة التدريبية المجانية الثالثة من ExamPro لشهادات AWS. هذه الدورة مصممة خصيصًا لإعدادك للحصول على شهادة AWS Developer Associate المرموقة. نعم، لقد قرأت ذلك بشكل صحيح! إنها دورة فيديو كاملة مدتها 16 ساعة، متاحة مجانًا على قناة freeCodeCamp على YouTube.
الآن، لدينا دورات مجانية لثلاث من أصل 12 شهادة AWS:
AWS Certified Cloud PractitionerAWS Solutions Architect AssociateAWS Developer Associate(رابط الدورة الكاملة موجود في نهاية هذا المقال، لكن نأمل أن تقرأ المقال أولاً!)
وإليكم بعض الشهادات القادمة قريباً:
AWS SysOps Administrator Associate(قريباً)AWS Solutions Architect Professional(قريباً)AWS DevOps Engineer Professional(قريباً)AWS Machine Learning Speciality(قريباً)AWS Security Speciality(قريباً)AWS Advanced Networking Speciality(قريباً)AWS Alexa Skill Builder Specialty(قريباً)AWS Data Analytics Specialty(قريباً)AWS Databases Specialty(قريباً)
ما هي شهادة AWS Developer Associate؟
تقدم خدمات الويب من أمازون (AWS) ثلاث شهادات على مستوى الـ Associate:
Solutions Architect(الأكثر شيوعاً)SysOps Administrator(الأكثر تقنية)Developer(الأكثر عملية)

تُعتبر شهادة AWS Developer Associate على نطاق واسع الأصعب بين شهادات الـ Associate. يرجع ذلك إلى أن أسئلة الاختبار تستند إلى المعرفة العملية بتنفيذ ونشر وتأمين تطبيقات الويب. خلال رحلتك في هذه الدورة، ستكتسب معرفة عملية للمطورين في أهم ثلاث معماريات سحابية شائعة:
- التقليدية (
Virtual Machines) - الحاويات / الخدمات المصغرة (
Containers / Microservices) (Docker) - اللامركزية (
Serverless) (AWS Lambda)
إذا كنت محتارًا بشأن شهادة AWS التي يجب أن تختارها، فإن شهادة AWS Solutions Architect Associate هي الخيار الأمثل. إنها واسعة النطاق وتوفر أكبر عدد من الأدوار الوظيفية السحابية المتاحة لك. ومع ذلك، إذا كنت تسعى للحصول على أعلى فرصة للحصول على وظيفة، فإن شهادة AWS Developer Associate هي الأفضل بلا شك. إنها تثبت أن لديك معرفة عملية، مما يطمئن أصحاب العمل بأنك جاهز للعمل في البيئة السحابية.
لمن صُممت شهادة AWS Developer Associate؟
شهادة AWS Developer Associate مناسبة لك إذا كنت:
- ترغب في إثبات امتلاكك لمعرفة عملية بخدمات
AWS. - مطور ويب بالفعل وترغب في إظهار معرفتك بالحوسبة السحابية.
- تستمتع بكتابة الأكواد وبناء التطبيقات.
- ترغب في إتقان كيفية نشر تطبيقات الويب في بيئة الإنتاج.
- تسعى للحصول على أعلى فرصة للحصول على وظيفة كمطور مبتدئ.
ما هو مهندس السحابة (Cloud Engineer)؟
مهندس السحابة هو مطور ويب متكامل (Full Stack Web Developer) يمتلك المعرفة والمهارات اللازمة لاستخدام السحابة بفعالية. يمكن القول إن كل مهندس سحابة هو مطور ويب، ولكن ليس كل مطور ويب هو مهندس سحابة. دعنا نقارن بين هذين الدورين لنرى كيف تتغير المسؤوليات عند استخدام السحابة:
| مطور الويب (Web Developer) | مهندس السحابة (Cloud Engineer) |
|---|---|
يتطلب إعداد بيئة الإنتاج معرفة عميقة بنظام Linux وتكوين حزم نظام التشغيل. (يتجنب بعض المطورين الحاجة إلى معرفة النشر تمامًا باستخدام منصات كخدمة مثل Heroku). |
لدى مهندس السحابة العديد من خيارات النشر المتاحة بناءً على المعمارية التي يستخدمها. تدير العديد من الخدمات السحابية التعقيد نيابة عنك، وبمجرد إتقانك لأدوات السحابة، يمكنك إدارة النشر مباشرة بنفسك. |
| ليس من السهل على مطوري الويب الاستفادة من التعلم الآلي، التخزين السحابي، التحليلات، أو الواقع الافتراضي، لأن أدواتهم غالبًا ما تكون مدمجة مباشرة في التطبيق على خادم واحد. | يمكن لمهندسي السحابة الاستفادة من الخدمات السحابية لإضافة التعلم الآلي، التخزين السحابي، التحليلات، الواقع الافتراضي، الوقت الفعلي، والمزيد بسهولة. |
| مع نمو تعقيد تطبيق ويب واحد، يصبح من الصعب إضافة المزيد من مطوري الويب لأن التطبيق يصبح أكثر صعوبة في التعلم والتكوين والصيانة. | من الأسهل تنمية فريق من مهندسي السحابة، حيث يشجع استخدام الخدمات السحابية على عزل التطبيقات والحفاظ على التطبيقات صغيرة وسهلة الصيانة. |
| يواجهون تحديات في جعل تطبيقاتهم عالية التوفر، متينة، وقابلة للتوسع بشكل فعال. | مهندسو السحابة مجهزون بشكل أفضل لجعل تطبيقاتهم عالية التوفر، متينة، وقابلة للتوسع. لديهم معماريات متعددة للاختيار من بينها مثل الخدمات المصغرة (Microservices)، اللامركزية (Serverless)، أو التقليدية. |
خدمات AWS التي يجب أن توليها اهتمامًا خاصًا
تركز معظم شهادات AWS على خدمات معينة. من المهم أن تولي هذه الخدمات اهتمامًا خاصًا في دراساتك. نسلط الضوء هنا على أهم 8 خدمات AWS لشهادة AWS Developer Associate ونشرح سبب أهميتها:
1. DynamoDB
DynamoDB هو قاعدة بيانات NoSQL تتيح لك التوسع إلى أي حجم. كل ما عليك فعله هو تحديد عدد عمليات القراءة والكتابة في الثانية، وستحصل على ضمان للأداء. DynamoDB هي خدمة بلا خادم (serverless)، مما يعني أنها تتوسع تلقائيًا ويمكنك اختيار الدفع حسب الطلب.
أكثر حالات الاستخدام الفورية التي أجدها في عملي اليومي هي عندما أحتاج إلى إنشاء تطبيق صغير مدعوم بقاعدة بيانات. إذا كان عليك استخدام قاعدة بيانات علائقية مثل MySQL أو Postgres، يمكنك استخدام RDS. ومع ذلك، فإن التكلفة الأولية ستكون حوالي 15 دولارًا شهريًا لـ t2.db.micro. يمكنك إعداد خادم Postgres الخاص بك على t2.nano والذي سيكلف حوالي 5 دولارات شهريًا، ولكن سيتعين عليك تكوين هذا الخادم ونسخه احتياطيًا وإدارته.
ربما تعتقد أنه يمكنك استخدام Aurora Serverless، ولكن في تجربتي، لم يكن فعالاً من حيث التكلفة مثل DynamoDB، حيث كان الفرق بين دفع الدولارات ودفع بضع بنسات. كمهندس سحابة، ترغب في إنشاء تطبيقات معزولة بدلاً من تطبيقات كبيرة تقوم بكل شيء على خادم واحد. هذا الأخير يُعرف ببناء monolith. مستقبل معمارية التطبيقات يتجه نحو الخدمات المصغرة (micro-services). ولفصل خدماتك بشكل كامل، يجب أن تمتلك كل خدمة قاعدة بياناتها الخاصة، وهذا ما يوفره DynamoDB.
لذا، في دورة AWS Developer Associate المجانية، بذلنا جهودًا كبيرة لضمان فهمك لـ DynamoDB من الداخل والخارج. ورقة الغش (Cheatsheet) الخاصة به تتكون من 7 صفحات! في الواقع، نشرناها مجانًا على freeCodeCamp حتى تتمكن من طباعتها يوم الامتحان.
2. Elastic Beanstalk
Elastic Beanstalk (EB) هو أسرع طريقة لنشر المعمارية التقليدية على AWS. المعمارية التقليدية هي عندما تستخدم أجهزة افتراضية (Virtual Machines) مهيأة لإطار عمل ويب. إذا كنت تستخدم أطر عمل ويب تقليدية مثل Ruby on Rails، Laravel، ExpressJS، Django، أو Spring، فأنت تستخدم معمارية تقليدية.
عند استخدام الخدمات المصغرة (micro-services) أو المعمارية بلا خادم (serverless architecture)، يتم تقسيم الكود الخاص بك إلى أجزاء أصغر. يتم نقل العديد من مسؤوليات إطار عمل الويب التقليدي الخاص بك إلى خدمات AWS لتكامل التطبيقات. ومع ذلك، تستخدم غالبية شركات التكنولوجيا المعمارية التقليدية لأنها ما يعرفونه، ويستغرق الأمر وقتًا للشركات لتبني الخدمات المصغرة واللامركزية.
عندما ترغب في نشر تطبيق ويب تقليدي، يجب عليك:
- تكوين صورة جهاز افتراضي عن طريق تثبيت المكتبات والتطبيقات الصحيحة.
- إعداد موازن تحميل (
load balancer) ومجموعات التوسع التلقائي (auto-scaling groups). - إعداد قاعدة بيانات علائقية وتكوين اتصال آمن.
- تكوين شبكتك السحابية مثل مجموعات الأمان (
Security groups). - إعداد خط أنابيب للنشر (
deployment pipeline).
Elastic Beanstalk سيقوم بإعداد كل ما سبق لك. كل ما عليك فعله هو اختيار البيئة التي تريدها وتحميل الكود الخاص بك. يدير Elastic Beanstalk البنية التحتية ولكنه لا يخفيها تمامًا، لذا يمكنك استكشاف جميع الخدمات التي يقوم بإعدادها لك. في النهاية، عندما تصبح مألوفًا مع جميع البنى التحتية الأساسية، يمكنك إدارة هذه الموارد مباشرة. أحب أن أفكر في Elastic Beanstalk كعجلات تدريب للنشر. إنها أفضل طريقة للبدء في AWS إذا كنت مطورًا، ونعرض لك كيفية نشر مجموعة متنوعة من الطرق المختلفة باستخدام EB.
3. AWS CLI و SDK، و 4. CloudFormation
يمكن الوصول إلى جميع خدمات AWS تقريبًا برمجيًا عبر AWS API. يتيح لك هذا كتابة الكود لأتمتة إنشاء وحذف وتكوين أي خدمات وموارد AWS داخل حسابك. يستخدم AWS CloudFormation (CFN) أيضًا لأتمتة إنشاء وتكوين البنية التحتية.
بينما من المهم للمطورين معرفة CFN، فإن AWS CLI و SDK أكثر أهمية لشهادة Developer Associate لأنهما يتيحان تحكمًا دقيقًا أكبر في الخدمات برمجيًا. عندما تواجه موقفًا لا يمكن فيه إنجاز شيء باستخدام CFN، يمكنك التأكد من أنه يمكنك القيام بذلك باستخدام CLI أو SDK.
للوصول إلى AWS API، يمكنك إما استخدام واجهة سطر الأوامر الخاصة بـ AWS (AWS CLI) أو حزمة تطوير البرامج الخاصة بـ AWS (SDK). توفر AWS CLI على المطورين الوقت من تسجيل الدخول إلى وحدة تحكم AWS والتنقل في واجهة المستخدم الرسومية. AWS SDK هي الطريقة الأساسية التي تدمج بها خدمات AWS في تطبيقات الويب الخاصة بك. يتوفر SDK أيضًا في معظم لغات البرمجة الشائعة.
في دورة AWS Developer Associate المجانية هذه، ننتهز كل فرصة لاستخدام CLI و SDK، وأضفنا شرائح إضافية توضح أوامر CLI للخدمات المختلفة. ستحتاج إلى معرفة أوامر CLI للاختبار، وجميعها مهمة لمعرفتها كمهندس سحابة.
5 / 6. ECS و Fargate
تُسهل خدمة الحاويات المرنة Elastic Container Service (ECS) و ECS Fargate تشغيل تطبيقات الحاويات الفردية أو المتعددة. أصبح تشغيل تطبيقات الويب الخاصة بك في حاويات أكثر شيوعًا لأنه يتيح لك تجميع تكوين الخادم الخاص بك مع الكود، مما يمنحك قابلية نقل أكبر للتطبيقات.
7. X-Ray
مع معمارية الخدمات المصغرة (microservice architecture)، لديك العديد من الخدمات المعزولة التي تعمل معًا. قد يكون من الصعب مراقبة الأداء أو تحديد الأعطال، لذا فإن X-Ray هي خدمة تتيح لك تتبع مسار طلبات HTTPS عبر الخدمات المختلفة.
8. Step Functions
تتيح لك دوال Lambda الدفع لكل 100 مللي ثانية من وقت الحوسبة – ما عليك سوى تحميل الكود الخاص بك وتكون AWS مسؤولة عن الباقي. التحدي هو كيفية تنظيم جميع دوال Lambda هذه في تطبيقات حقيقية بلا خادم (serverless applications). Step Functions هي آلة حالة (state machine) تتيح لك تحديد شيء يشبه المخطط الانسيابي حتى تتمكن من بناء تطبيقات بلا خادم.
9. CodeCommit، 10. CodeBuild، 11. CodeDeploy، و 12. CodePipeline
يأتي Elastic Beanstalk (EB) مع خط أنابيب نشر بسيط. عندما تتخرج من استخدام EB، سيتعين عليك بناء خط أنابيب النشر الخاص بك. لذلك نحتاج إلى معرفة كيفية استخدام جميع خدمات AWS الخاصة بالتكامل المستمر/النشر المستمر (CI/CD).
المحتوى المتداخل من شهادة Solutions Architect Associate
عندما تدرس لأكثر من شهادة AWS Associate واحدة، ستلاحظ تداخلًا في المحتوى. 40% من محتوى شهادة AWS Solutions Architect ضروري لاجتياز شهادة Developer Associate. لذلك، قمنا بدمج هذا الـ 40% في دورة Developer Associate المجانية هذه.
وبالتالي، هناك 6 ساعات من المحتوى مأخوذة من دورة AWS Solutions Architect Associate المجانية مع بعض التصحيحات الطفيفة، وهناك 10 ساعات من المحتوى الجديد الخاص بـ Developer Associate. لقد قمنا بوضع علامة ? في جدول المحتويات للإشارة إلى المحتوى المكرر. لذلك إذا كنت قد شاهدت بالفعل دورتنا المجانية لـ AWS Solutions Architect Associate، يمكنك تخطي هذه الفيديوهات.
تحدي #AWSCertified
لتحقيق أقصى استفادة من تجربة دراستك، أوصي بالانضمام إلى تحدي #AWSCertified حتى لا تضطر إلى الدراسة بمفردك. شكر خاص لـ Jose Talancha على إدارته لخادم Discord الخاص بـ #AWSCertifiedChallenge وتطوعه بوقته لدعم الآخرين في دراستهم.
موارد إضافية مجانية موصى بها
هناك موارد تعليمية مجانية إضافية أرغب في التوصية بها لك للأسباب التالية:
- لم يتوفر لدينا الوقت لإدراجها في هذه الدورة المجانية.
- إنها أساسية لكونك مهندس سحابة ولكنها ليست جزءًا من الاختبار حاليًا.
- تشرح بعض المفاهيم الصعبة بطريقة بديلة.
What The Cloud? بواسطة Alejandra Quetzalli و Jonathan Dion
What The Cloud? هو مشروع شخصي لـ Alejandra Quetzalli (AWS Developer Advocate في AWS) و Jonathan Dion (AWS Developer Advocate في AWS) لجعل المعرفة السحابية متاحة للجميع. يحققون ذلك بوسائل متعددة مثل:
- ترجمة فيديوهاتهم إلى الفرنسية والإسبانية.
- جميع فيديوهاتهم تحتوي على ترجمات نصية (
Closed Captioning). - يأخذون الوقت الكافي لشرح مفاهيم السحابة بدقة مع الرسوم التوضيحية.
محتواهم للجميع. على سبيل المثال، في دوراتي المجانية لـ AWS، أغطي البنية التحتية العالمية لـ AWS Global Infrastructure، لكنني لم أغطي أبدًا نقاط التواجد (Points of Presence - PoPs) لأنني بصراحة لم أكن أعرف ما هي. يتم ذكرها، ولكن لا يتم شرحها أبدًا في وثائق AWS. لذلك عندما شاهدت What the Cloud?، تفاجأت بمعرفة أنني فاتني مثل هذه المعرفة الأساسية. Ale و Jon لا يتركان أي حجر دون تقليب، وأوصي بفيديوهاتهم لملء أي فجوات في المعرفة قد تكون خجلت من السؤال عنها.
AWS Identity & Access Management (IAM) بواسطة Bart Castle
AWS IAM هي معرفة مطلوبة لجميع شهادات AWS. ما يبدو خدمة بسيطة يصبح معقدًا جدًا بسرعة. ليس كل ما يفعله IAM موجودًا في وحدة تحكم AWS، ومن المهم أن تفهم الوظائف الأساسية. أوصي بشدة بمشاهدة قائمة تشغيل IAM الخاصة بـ Bart Castle (Cloud Technical Trainer في CBT Nuggets) للحصول على تفسيرات بديلة لضمان معرفة شاملة بهذه الخدمة المعقدة من AWS.
AWS Amplify بواسطة Nader Dabit
كنت أرغب حقًا في تضمين AWS Amplify في دورة شهادة AWS Developer المجانية هذه، لكن الوقت لم يسعفنا. لا يظهر AWS Amplify حاليًا في الاختبار، لكنك سترى ذلك في الاختبارات المستقبلية. السبب الذي يجعلني أرغب في حصولك على خبرة عملية مع AWS Amplify هو أنها أقوى خدمة لمهندسي السحابة لتعلمها.
AWS Amplify هو إطار عمل حديث بلا خادم (serverless framework) لبناء تطبيقات الويب أو الجوال. يحتوي على مكونات إضافية للعديد من خدمات AWS حتى تتمكن من إضافة التحليلات، التعلم الآلي، الواقع المعزز، الواقع الافتراضي، المصادقة اللامركزية، الإشعارات، روبوتات الدردشة، والمزيد بسرعة! من خلال تعلم AWS Amplify، تكتسب ميزة تنافسية لأنه، إذا أتقنت هذا الإطار، يمكنك تطوير التطبيقات بسرعة مما سيثير إعجاب أصحاب العمل بالتأكيد. لذلك أوصي بالاطلاع على قناة YouTube الخاصة بـ Nader Dabit (Senior Developer Advocate في AWS) والتي تحتوي على العديد من دروس AWS Amplify التعليمية.
Amazon EventBridge بواسطة James Beswick
نغطي EventBridge بإيجاز فقط في دورة AWS Developer Associate المجانية لأنه لا يظهر كثيرًا في الاختبار حاليًا. EventBridge هي خدمة أريدك أن تعرفها لأنها تغير بشكل أساسي طريقة تصميم تطبيقات بلا خادم (serverless applications).
كانت EventBridge تُسمى سابقًا CloudWatch Events، لكن AWS أضافت بعض الوظائف الإضافية لإنشاء حافلات أحداث متعددة والقدرة على ربط خدمات الطرف الثالث والخدمات متعددة الحسابات. من الصعب وصفها، لذلك أقول للناس عمومًا إنها مثل Zapier، ولكنها في الواقع أقرب إلى IFTTT. للحصول على فهم جيد لـ EventBridge والبقاء على اطلاع بأحدث معماريات بلا خادم، أوصي بالاطلاع على محتوى James Beswick (Senior Developer Advocate في AWS):
Introduction to EventBridgeAmazon EventBridge: Integrating with ZendeskSetting Up A Custom Event BusHow Amazon EventBridge transforms serverless development
كلمات أخيرة
العالم بحاجة إلى مهندسي السحابة (مطورين الويب + مهارات سحابية) الآن أكثر من أي وقت مضى. لقد أجبر وباء 2020 الجميع على الانفتاح على الفرص عن بعد وخلق طلبًا على المواهب السحابية. لذا، هذه هي أفضل فرصتك لدخول صناعة تطوير السحابة والويب. لقد قمت بدوري بجعل هذه الدورة مجانية لك – الأمر متروك لك لإكمال الرحلة.
يمكنك مشاهدة الدورة هنا: رابط الدورة التدريبية المجانية لشهادة AWS Developer Associate. لاحظ أن YouTube لم يسمح لنا بتحميل جميع الساعات الـ 16 كفيديو واحد، لذا فإن الفيديو الأول مدته 12 ساعة. الساعات الأربع الأخيرة من الدورة موجودة في فيديو ثانٍ، مرتبط من وصف الفيديو الأول.
أتمنى لك كل التوفيق في التحضير للاختبار.
الخلاصة التقنية
تُعد شهادة AWS Developer Associate حجر الزاوية للمطورين الطموحين الذين يسعون لترسيخ أقدامهم في عالم الحوسبة السحابية المتسارع. لا تقتصر قيمتها على إثبات المعرفة النظرية، بل تتعداها لتؤكد القدرة العملية على بناء ونشر وتأمين التطبيقات السحابية بكفاءة. التركيز على خدمات مثل DynamoDB، Elastic Beanstalk، وأدوات CI/CD من AWS، يوفر للمطورين مجموعة أدوات قوية لمواجهة تحديات التطوير الحديثة. كما أن فهم الفروقات بين معمارية الخدمات المصغرة واللامركزية يضع المطور في طليعة الابتكار. هذه الدورة المجانية تمثل فرصة ذهبية ليس فقط لاجتياز الاختبار، بل لاكتساب مهارات حقيقية تفتح أبوابًا وظيفية واسعة في سوق العمل الذي يتزايد فيه الطلب على مهندسي السحابة.