هل ستبدأ مشروعًا جديدًا أو ربما أنت على وشك تطوير بعض الميزات الجديدة؟ قبل البدء في تنفيذ أي إجراءات، من المفيد أن تعرف قدر الإمكان عن الأدوات الخارجية المختلفة التي قد تكون مفيدة لك.
خدمتان أساسيتان وربما أكثر خدمات AWS شيوعًا هما EC2 و S3. وباختصار: مع EC2 يمكنك إعداد المشروع وإظهارها للعالم، بينما يتم استخدام S3 لتخزين البيانات من أي نوع. ومع ذلك، أود في هذه المقالة أن ألقي نظرة في هذه المقالة على أدوات AWS الأخرى الأكثر أو الأقل شيوعًا التي نستخدمها عادةً هنا في Codest.
كلاودفرونت
إنها أداة تم إنشاؤها خصيصًا لتقديم موارد سريعة جدًا للعديد من المستخدمين. والكثير لا يعني مئات أو آلاف بل ملايين الطلبات لمورد واحد. على سبيل المثال، تريد أن تسمح بوضع رسوماتك أو css أو html أو جافا سكريبت الملف على أي صفحة. كما أنك تريد أن يكون لك تأثير كامل على المحتويات التي يوفرها المورد - تحتاج إلى تغيير شيء ما وتريد أن يحدث هذا التغيير على جميع الصفحات التي تحتوي على ملفك. وهنا تأتي AWS Cloudfront، بكل إمكانياتها، والتي ستجعل المستخدم النهائي يتلقى المورد الخاص بك في أقرب وقت ممكن.
تقدم Cloudfront أيضًا عددًا من الإحصائيات. على سبيل المثال - الصفحات التي تم طلبها أكثر من غيرها، والأجهزة التي تم طلب المورد بها، وحالات http، وما إلى ذلك.
بالطبع، هذه الأداة مكلفة للغاية، ولكن كلما زاد عدد الطلبات على Cloudfront، كلما قل ما تدفعه مقابل الخدمة. لذلك، يجب عليك التفكير في هذا الحل في حالة رغبتك في وضع المورد على مواقع الويب ذات حركة المرور الكبيرة أو حتى الضخمة.
الدفعة
لتبسيط الأمر، إنها خدمة تسمح بتنفيذ عدد كبير من المهام مباشرةً على AWS. كل ما عليك إعداده هو برنامج نصي للتنفيذ وصورة docker، بينما ستقوم AWS Batch بالباقي. ستقوم Batch بإنشاء مثيلات على EC2 بشكل ديناميكي وتخصيص مكان مناسب للمهام وتشغيلها في نفس الوقت. لا داعي للقلق من نفاد مساحة أو ذاكرة مثيل EC2 الخاص بك، أو أن عليك التفكير باستمرار في وقت وكيفية بدء المهمة. للاتصال بين البرنامج النصي في صورة docker وخدمتك، يمكنك فقط إنشاء واجهة برمجة التطبيقات (API) وها أنت ذا. إذا كنت ترغب في استخدام Batch، يجب عليك أيضًا إعداد مستودع docker الخاص بك في خدمة Amazon Elastic Container Registry (ECR).
وتجدر الإشارة أيضًا إلى خدمة أخرى، والتي تستفيد من حاويات docker. تسمى خدمة الحاويات المرنة (ECS). يتمثل الاختلاف الرئيسي بينها وبين Batch في أنه يتعين عليك إعداد مثيل EC2 وتوسيع نطاقه بنفسك بينما تقوم Batch بكل المهمة نيابة عنك. تعتمد تكاليف الدُفعات على مثيلات EC2 المسموح باستخدامها، حيث أنك في هذه الحالة تدفع فقط مقابل تشغيل المثيلات.
لامبدا
تقوم AWS Batch بالعمل عن طريق تشغيل صور docker، بينما تتيح لك الخدمة التالية - AWS Lambda - تشغيل البرنامج النصي مباشرةً. لا تحتاج إلى إعداد أي خادم، فخدمة الكود افتراضيًا، والأفضل من ذلك، يمكنك أيضًا إرجاع بعض القيمة بالطريقة التي تريدها.
متى يمكن استخدامه؟ لنفترض أنك تريد إجراء بعض العمليات الحسابية على موقعنا الإلكتروني بناءً على معلمات من المتصفح، وربما، بالإضافة إلى ذلك، تتطلب هذه العمليات الحسابية بعض الاستعلامات الإضافية إلى أماكن أخرى على الويب. في هذه الحالة، كل ما عليك القيام به هو إنشاء نقطة نهاية في Lambda، وإضافة البرنامج النصي الخاص بك واستخدام نقطة النهاية هذه على الموقع الإلكتروني. الأمر سهل للغاية.
يتم احتساب تكاليف Lambda فقط عندما يكون البرنامج النصي قيد التشغيل، وعندما لا يتم استخدام نقطة النهاية، لا تدفع شيئاً.
SNS
خدمة الإشعارات البسيطة، كما يوحي الاسم، هي أداة تم تطويرها خصيصًا لإرسال الإشعارات. يمكن استخدامها بسهولة للاتصال بين خدمات AWS المختلفة. على سبيل المثال، لديك مجموعة من الخدمات المصغرة وتريد أن تقود إحداها الخدمات الأخرى - بدء تشغيل بعضها أو تشغيل بعض الإجراءات. في هذه الحالة بالتحديد، يمكنك إرسال إشعار من الخدمة الرئيسية والتعامل مع تلقي الرسائل في خدمات مصغرة أخرى تفضلها. بالمناسبة، تجدر الإشارة أيضًا إلى خدمة قائمة انتظار أمازون البسيطة (SQS)، والتي يمكن أن تنشئ اتصالًا مثيرًا للاهتمام للغاية مع SNS.
في حالة SNS (وكذلك SQS)، يتم توفير الدفع فقط للطلبات المنفذة: إرسال الرسائل إلى SNS، وإرسال الرسائل من SNS إلى خدمات أخرى وطلبات إضافية أخرى من مجموعة واجهة برمجة تطبيقات SNS.
RDS
خدمة قاعدة بيانات أمازون العلائقية هي مجرد قاعدة بيانات خارجية. مع هذه الخدمة تتيح AWS سهولة إعداد واستخدام وتوسيع نطاق قاعدة البيانات العلائقية. على سبيل المثال، إذا كنت تتوقع أن يكون حجم قاعدة البيانات الخاصة بك كبيراً جداً وستنمو أكثر فأكثر كل يوم، وتخطط لإجراء عمليات أكثر أو أقل تعقيداً بانتظام باستخدامها، مثل معالجة البيانات ونسخها إلى قاعدة بيانات أخرى، فإن هذا الحل يستحق التفكير فيه. تتضمن محركات قواعد البيانات المتاحة PostgreSQL و MySQL و MariaDB.
من السهل تخمين أن تكاليف RDS مرتبطة بحجم قاعدة البيانات واستخدامها، لذلك من الصعب تحديد ما إذا كانت ستكون مكلفة للغاية أم لا.
الملخص
تتغير AWS باستمرار، سواء كان ذلك من خلال تحسين الخدمات الحالية أو إنشاء شيء جديد. لا يفضل فقط أن تكون على اطلاع دائم بابتكاراتهم التكنولوجية، ولكن أيضًا التعرف على الأشياء الموجودة بالفعل.
روابط مفيدة