عزز إنتاجيتك مع Amazon Web Services

نشرت: 2022-03-11

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

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

زيادة إنتاجيتك

يمكن أن تعزز Amazon Web Services (AWS) إنتاجيتك ، بالمعنى الحرفي للكلمة ، في غضون دقائق.
سقسقة

خلفية AWS

تم إطلاق Amazon Web Services رسميًا في عام 2006. كان الكثير من الناس قد سمعوا عنها ، لكن ربما لا يعرفون ما الذي يمكن أن تقدمه. إذن ، السؤال الأول هو: ما هي AWS؟

Amazon Web Services (AWS) ، عبارة عن مجموعة من خدمات الحوسبة السحابية ، وتسمى أيضًا خدمات الويب ، والتي تشكل نظامًا أساسيًا للحوسبة السحابية يقدمه Amazon.com.

ويكيبيديا

من هذا التعريف ، نعرف شيئين: تستند AWS إلى السحابة ، و AWS عبارة عن مجموعة من الخدمات ، بدلاً من خدمة واحدة. نظرًا لأن هذا لا يخبرك كثيرًا ، في رأيي ، فمن الأفضل للمبتدئين فهم AWS على النحو التالي:

  • AWS عبارة عن مجموعة من الخدمات في السحابة ، كما يقول التعريف.
  • توفر AWS موارد حوسبة سريعة عبر الإنترنت (على سبيل المثال ، تحتاج إلى 10 دقائق لإعداد خادم Linux).
  • تقدم AWS رسومًا معقولة.
  • توفر AWS خدمات سهلة الاستخدام ، مما يوفر الكثير من الوقت يدويًا في إعداد قاعدة بيانات وذاكرة التخزين المؤقت والتخزين والشبكة وخدمات البنية التحتية الأخرى.
  • AWS متاح دائمًا وقابل للتطوير بدرجة كبيرة.

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

أنشئ حساب AWS مجانًا

لبدء استخدام أي خدمة ، يجب أن يكون لديك حساب. يجب ألا يستغرق إنشاء حساب لـ AWS أكثر من خمس دقائق. تأكد من أن لديك المعلومات التالية في متناول اليد:

  • عنوان بريد إلكتروني يتم استخدامه لتلقي بريد إلكتروني للتأكيد.
  • بطاقة ائتمان ، لن يتم إصدار فاتورة بها لأن عملية الإعداد مجانية دائمًا.
  • رقم هاتف ، والذي سيتلقى مكالمة نظام آلية لتحديد هوية المستخدم

هذا هو. بمجرد أن تصبح المعلومات المدرجة أعلاه جاهزة ، قم بزيارة صفحة الويب الخاصة بـ AWS ، وأنشئ حسابًا باتباع الإرشادات سهلة الاتباع.

لاحظ ما يلي:

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

احصل على أول إعداد لخادم EC2

تتمثل إحدى مزايا الخدمة السحابية في القدرة على الحصول على الموارد المشتركة عند الطلب. قدمت أمازون أربعة مستويات من الخدمة للمستخدم للوصول إلى خدماتها ، مدرجة بترتيب السهولة:

  • وحدة إدارة،
  • أداة سطر الأوامر ،
  • SDK ،
  • RESTful API.

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

إعداد أول خادم EC2 في AWS

هناك مجالان يجب ملاحظتهما:

  • في الزاوية العلوية اليمنى ، ستجد محدد المنطقة. تقدم AWS خدمات في 11 منطقة مختلفة حول العالم ، ولا تزال تنمو. اختر منطقة حسب اختيارك ، أو اتركها لشرق الولايات المتحدة (شمال فرجينيا) كإعداد افتراضي. قد تختلف المناطق المختلفة في الأسعار ، والتي يجب أن تضعها في اعتبارك مع نمو استخدامك.
  • تمتلئ معظم الشاشة بقائمة من الخدمات. سنغطي EC2 في هذا القسم. ألق نظرة سريعة على ما تقدمه AWS. لا تقلق إذا لم تكن منطقية ، فستعمل جميع الخدمات بمفردها. ومع ذلك ، ستحصل على إنتاجية أكبر باستخدام مزيج منها.

إن الحاجة الأساسية لمورد السحابة هي الخادم الافتراضي. EC2 ، أو Elastic Compute Cloud ، هو الاسم الذي اختارته Amazon لخدمة الخادم الافتراضي. دعنا نلقي نظرة على مدى سهولة الحصول على خادم Linux عبر الإنترنت.

  • في وحدة تحكم إدارة EC2 ، ابدأ عملية الإطلاق كما يلي:

إعداد أول خادم EC2 في AWS

  • اختر صورة آلة (اختصار AMI) لتبدأ. هذا هو نظام التشغيل الذي سيُشغل جهازك. اختر أي نظام تفضله. أوصيك بالبدء باستخدام Amazon Linux ، والذي يستخدم yum لإدارة الحزم:

إعداد أول خادم EC2 في AWS

  • بعد ذلك ، حدد نوع المثيل. يمكنك فهم هذا على أنه مواصفات الأجهزة الخاصة بك للخادم الظاهري. يمكنك البدء بـ t2.micro ، لأنك ستحصل على 750 ساعة من الاستخدام المجاني كل شهر مع هذا المثال للسنة الأولى. لاحظ أن هذا صالح فقط في السنة الأولى من تاريخ التسجيل ، وفقط لمثيل t2.micro . إنها صفقة جيدة إذا كنت تريد فقط تذوق AWS.

إعداد أول خادم EC2 في AWS

  • مع القدرة على تكوين الخادم بمزيد من التفاصيل ، يمكنك تشغيل الخادم. في المرة الأولى التي تستخدم فيها EC2 ، سترى شاشة مشابهة للشاشة أدناه. يخبرنا التحذير بشأن الأمان إلى أي مدى تؤكد Amazon على جانب الأمان. ومع ذلك ، يمكننا تجاهل هذا التحذير حتى نقوم بزيارة القسم الخاص بالخدمات المدارة.

إعداد أول خادم EC2 في AWS

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

إعداد أول خادم EC2 في AWS

  • بمجرد أن يصبح المثيل جاهزًا ، يمكنك تسجيل الدخول إلى النظام كمستخدم افتراضي ec2-user ، باستخدام مفتاح الخصوصية الخاص بك. ec2-user هو الإعداد الافتراضي لـ AWS والذي يمتلك أيضًا قدرة sudo. على الرغم من أنه لا يمكن تغيير اسم المستخدم الافتراضي ، إلا أنه يمكنك إنشاء أي مستخدم وتعيين الامتيازات المناسبة وفقًا لتفضيلاتك. يمكن العثور على عنوان الخادم الخاص بك هنا:

إعداد أول خادم EC2 في AWS

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

الفواتير عند الطلب

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

يمكننا إيقاف مثيل بسرعة من خلال:

إعداد أول خادم EC2 في AWS

عندما تقوم بإيقاف مثيل EC2 ، تتوقف فاتورتك عن النمو أيضًا. إنها مفيدة بشكل خاص في السيناريوهات التالية:

  • عندما تريد تجربة شيء جديد ، يكون الأمر أكثر ملاءمة إذا كنت تحتاج فقط إلى الدفع لبضع ساعات ، وربما لن تتجاوز المستوى المجاني لبعض الخدمات.
  • عندما تكون احتياجك الحاسوبي في مقاييس بيئة الإنتاج. على سبيل المثال ، في الماضي ، كنت بحاجة إلى الاحتفاظ بموارد الحوسبة التي تزيد بنسبة 30-50 في المائة عن ذروة الاستخدام. باستخدام AWS ، يمكنني توفير الموارد بطريقة أكثر مرونة:

إعداد أول خادم EC2 في AWS

معلومات التسعير الخاصة بـ AWS متاحة عبر الإنترنت. بعد إجراء بعض الحسابات ، قد تطرح السؤال التالي: هل AWS أرخص بالفعل؟ بضرب سعر الساعة لمدة شهر ، يبدو أنه ليس منافسًا على الإطلاق. الجواب هو نعم ولا.

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

إعداد أول خادم EC2 في AWS

بالنسبة للحد الأدنى من متطلبات الموارد ، يمكننا تحقيق خصم بنسبة 30 إلى 70 بالمائة باستخدام المثيل المحجوز ، جنبًا إلى جنب مع الموارد المتنوعة الأخرى التي يتم إصدار فواتير بها كمثيل عند الطلب. في الممارسة العملية ، سيكون هذا أرخص بنسبة 30 إلى 40 في المائة مع التزام لمدة عام واحد ، وأكثر من ذلك مع التزام لمدة ثلاث سنوات باستخدام المثيلات المحجوزة. لهذا السبب سأصوت بـ "نعم" على السؤال أعلاه. كما أن AWS أرخص إذا قمت بتضمين مزايا الأمان والمراقبة.

الخدمات المدارة

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

  • مجموعة أمان AWS ،
  • IAM ، إدارة الوصول إلى الهوية ،
  • CloudWatch ،
  • وقائمة بخدمات النشر التلقائي مثل OpsWorks (والتي لن يتم تناولها في هذه المقالة).

مجموعة أمان AWS

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

إعداد أول خادم EC2 في AWS

يمكننا أن نقرر ما يمكن أن يأتي وما يمكن أن يخرج من خلال تكوين قواعد واردة / صادرة. يتم دعم قواعد TCP و UDP و ICMP بواسطة خدمة EC2. تعمل مجموعة الأمان مثل جدار حماية خارجي على مستوى الأجهزة ، ولا نحتاج أبدًا إلى التفكير في تصحيحها.

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

إدارة الهوية والوصول

توفر AWS طريقة أخرى للتعامل مع التحكم في الوصول باستخدام IAM. هذا هو عنصر تحكم أمان على مستوى التطبيق عندما تحتاج إلى الوصول إلى واجهات RESTful. يجب توقيع كل طلب REST حتى تعرف AWS على من يقوم بالوصول إلى الخدمة. أيضًا ، من خلال التحقق من قائمة السياسات المكونة مسبقًا ، ستحدد AWS ما إذا كان يجب رفض الإجراء أو السماح به.

لن نغطي IAM بالتفصيل في هذه المقالة. ومع ذلك ، لاحظ أن AWS تضع الكثير من التفكير في الأمان بحيث يمكنك التأكد من عدم تمكن أي زائر غير مصرح له من الوصول إلى بياناتك السرية.

كلاود ووتش

CloudWatch هي خدمة تقدمها AWS لتجميع وتتبع جميع أنواع المقاييس من موارد AWS الخاصة بك. إنه أقوى بسبب قدرته على الاستجابة لأحداث معينة (أو إنذارات). بمساعدة CloudWatch ، يمكننا مراقبة صحة مثيل EC2 المنشأ حديثًا.

  • يمكننا إضافة إنذارات إلى مثيل EC2 الخاص بنا بسرعة:

إعداد أول خادم EC2 في AWS

  • يمكن إنشاء الإنذارات عن طريق تحديد المعايير للعديد من الأغراض المختلفة:

إعداد أول خادم EC2 في AWS

ملاحظة : SNS هي خدمة قائمة على الموضوع تقدمها AWS لإرسال الإخطارات. يمكن إرسال الإخطارات عبر البريد الإلكتروني والرسائل القصيرة وإشعارات الدفع لنظامي التشغيل iOS / Android والعديد من التنسيقات الأخرى.

من المراقبة إلى الإخطار ، تحاول CloudWatch أتمتة احتياجات المراقبة ببضع نقرات. هناك الكثير من المقاييس المحددة مسبقًا لخدمات AWS المتنوعة. بالنسبة للمستخدم المتقدم ، يمكنك حتى إنشاء مقاييس مخصصة لتطبيقك.

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

خدمات تطبيق خالية من المتاعب

كمطورين ، من المحتمل أننا واجهنا السيناريوهات التالية:

  • يحتاج تطبيقنا إلى مكون قاعدة بيانات ، مما يعني أنه يتعين علينا:
    • احصل على خادم لقاعدة البيانات.
    • قم بتثبيت برنامج قاعدة البيانات.
    • تكوين شاشات للخادم وقاعدة البيانات.
    • خطط مخططات النسخ الاحتياطي.
    • تصحيح البرنامج حسب الحاجة.
    • والعديد من الآخرين غير المدرجة هنا.
  • يحتاج تطبيقنا إلى تخزين ملفات موزع ، مما يعني أنه يتعين علينا:
    • ابحث عن حلول مفتوحة المصدر (أو تجارية) موجودة لتخزين الملفات الموزعة.
    • تجهيز الخوادم المطلوبة.
    • قم بتثبيت وتكوين الحل المختار ، والذي عادة ما يكون غير مباشر.
    • تكوين شاشات للخادم وقاعدة البيانات
    • والعديد من الآخرين غير المدرجة هنا
  • تطبيقنا يحتاج إلى ذاكرة تخزين مؤقت.
  • يحتاج تطبيقنا إلى قائمة انتظار الرسائل.
  • والعديد من المشكلات الأخرى التي يتعين حلها ، بالإضافة إلى أننا نحتاج إلى القيام بأعمال التكوين المسبق وبعد المراقبة.

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

دعنا نغطي بعضها لنقدم لك صورة سريعة.

RDS ، قاعدة بيانات مُدارة من أجلك ولكن ليس بواسطتك

تم اعتماد قواعد البيانات العلائقية (RDBMS) على نطاق واسع في الكثير من التطبيقات. في بيئة الإنتاج ، هناك حاجة دائمًا إلى اهتمام خاص عند نشر التطبيقات باستخدام RDBMS ، بدءًا بكيفية إعداد قاعدة البيانات وتكوينها ، متبوعًا بوقت وكيفية إجراء النسخ الاحتياطية واستعادتها.

في فريقنا ، اعتاد مسؤول قاعدة البيانات (DBA) لدينا على قضاء 30 بالمائة على الأقل من وقته في كتابة البرامج النصية للإعداد والصيانة. مع تقديم AWS RDS ، حصل DBA الخاص بنا على مزيد من الوقت للقيام بضبط أداء SQL ، وهو المجال المفضل لاستثمار DBA الخاص بك فيه.

إذن ، ماذا يقدم لك RDS؟ بالمختصر:

  • يوفر RDS الدعم لمعظم محركات قواعد البيانات الشائعة ، بما في ذلك MySQL و SQLServer و PostgreSQL.
  • يمكن إنشاء قاعدة بيانات ، إما عقدة أو مجموعة ، ببضع نقرات.
  • يوفر RDS دعمًا مدمجًا لمعلمات قاعدة البيانات المشتركة ، ضمن الخدمة المسماة "Parameter Group".
  • يوفر RDS دعمًا مدمجًا لإدارة الوصول بمساعدة Security Group ، وهو مشابه تمامًا لتلك التي قمنا بتغطيتها لـ EC2.
  • تقدم RDS خدمات إضافية عن طريق تمكين Multi-AZ بنقرة واحدة. تتم جميع عمليات تبديل المراقبة والاستعداد وتجاوز الفشل تلقائيًا.
  • الصيانة والنسخ الاحتياطي لـ RDS مؤتمتة.

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

Dynamo DB ، وهو تخزين ذو قيمة رئيسية يتسع لمليارات من السجلات

أصبح NoSQL موضوعًا مفضلًا في السنوات الأخيرة. نظرًا لأن العديد من مشاريع الحياة الواقعية لا تحتاج إلى دعم من أنظمة DBMS العلائقية المختلفة ، فقد تم تقديم قائمة بقواعد بيانات NoSQL إلى السوق. أمازون ليست متأخرة في هذا. DynamoDB (https://aws.amazon.com/dynamodb) هو المتجر ذو القيمة الرئيسية الذي أعلنته أمازون في عام 2012 ، والمساهم الأساسي في هذه الخدمة هو Werner Vogels ، CTO في Amazon ، وهو أحد أفضل الخبراء في العالم في Ultra- أنظمة قابلة للتطوير.

ليس سراً أن أمازون تتعامل مع حركة مرور ضخمة. يُشتق DynamoDB من Dynamo ، الذي كان محرك التخزين الداخلي للعديد من شركات Amazon ، بما في ذلك خدمة عربة التسوق التي تخدم مليارات الطلبات كل عيد الميلاد. DynamoDB ليس له حدود في التوسع.

علاوة على ذلك ، عند مقارنتها بحلول NoSQL الأخرى ، مثل Cassandra أو MongoDB ، هناك ميزة اقتصادية هائلة لـ DynamoDB ؛ يتم احتسابها بوحدة الإنتاجية المحجوزة (عدد الكتابة / القراءة المسموح بها في الثانية) ، والتي يمكن زيادتها أو تقليلها في الوقت الفعلي. يوجد أدناه جدول مقارنة التكلفة بين DynamoDB وحل NoSQL المستقل الآخر:

احتياج العمل خدمة DynamoDB تكلفة DynamoDB استخدام خدمة أخرى التكلفة عند استخدام خدمة أخرى
أعمال صغيرة
(أقل من 1000 DAU ، 16 جيجابايت من البيانات)
10 وحدة كتابة
10 وحدة قراءة
9.07 دولارات أمريكية / شهريًا • t1.micro ••
16 غيغابايت EBS •••
14.64 دولار في الشهر
الأعمال المتوسطة
(أقل من 100 ألف DAU ، 160 جيجابايت من البيانات)
100 وحدة كتابة
100 وحدة قراءة
101.62 دولار في الشهر m4.xlarge
160 جيجا بايت EBS
190.95 دولار في الشهر
شركة كبيرة
(حتى 1 مليون DAU ، 1 تيرابايت من البيانات)
1000 وحدة كتابة
1000 وحدة قراءة
852.58 دولار في الشهر مجمعة c4.4xlarge • 512 جيجابايت EBS • 1329.24 دولار / شهر

• لكي نكون منصفين ، يتم حساب السعر باستخدام التسعير حسب الطلب في منطقة شرق الولايات المتحدة
•• يتم تحديد مثيلات AWS EC2 لاستضافة خدمات NoSQL الأخرى
••• EBS هي خدمة التخزين الدائمة التي تقدمها AWS

كما يمكننا أن نقرأ من الجدول ، يوفر DynamoDB خدمته خارج الصندوق ، وعادةً بسعر أقل مقارنةً ببناء تخزين ذي قيمة المفتاح الخاص بك. هذا لأنه ما لم تصل إلى أقصى سعة لمجموعة MongoDB / Cassandra ، فإنك تدفع أكثر مقابل شيء لا تستخدمه أبدًا.

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

SQS ، خدمة الطابور الموزعة

عند العمل بكميات كبيرة من البيانات ، غالبًا ما نوزع العمليات الحسابية على العديد من عقد الحوسبة. عند ممارسة الأعمال التجارية على مستوى العالم ، غالبًا ما نحتاج إلى خط أنابيب لمعالجة البيانات التي تم جمعها من العقد الموزعة في نطاق واسع جغرافيًا. للمساعدة في تلبية متطلبات مثل هذه الأحداث ، تقدم AWS خدمة SQS ، Simple Queue Service. مثل العديد من خدمات قائمة الانتظار المعترف بها ، يوفر SQS طريقة لتمرير الرسائل / المهام بين المكونات المنطقية المختلفة ، بطريقة مستمرة.

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

  • الاحتفاظ بالرسائل لمدة تصل إلى 14 يومًا.
  • آلية الرؤية لتجنب فقدان الرسالة في حدث الفشل.
  • تأخير التسليم لكل رسالة.
  • سياسة Redrive للتعامل مع الرسائل الفاشلة (ما يسمى بالحروف المهملة).

لا ينبغي أن تكون خدمات قائمة الانتظار معقدة للغاية. قد تتساءل لماذا يستحق استخدام قسم كامل فقط لتقديم SQS. ربما تكون قد خمنت السبب بالفعل ؛ مثل خدمات AWS الأخرى ، فإن SQS هي خدمة مُدارة بالكامل ، مما يعني:

  • قائمة الانتظار قابلة للتطوير بدرجة كبيرة ؛ يمكن أن تكون عشرات الرسائل التي تمر من خلالها أو ملايين في الثانية ، لذلك يتوسع SQS بسرعة.
  • قائمة الانتظار ثابتة وموزعة ، مما يعني أن البيانات الهامة لن تضيع ما لم تنتهي صلاحيتها.
  • لا تحتاج إلى إعداد خادم لنشر برنامج قائمة الانتظار. وبالطبع ، لا تحتاج إلى إعداد مراقبة معقدة للخدمة أيضًا

S3 ، تخزين الملفات ، ولكن ليس فقط تخزين الملفات

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

يعتبر S3 بسيطًا للمستخدم ، ولكنه يأتي أيضًا بالعديد من الميزات المتقدمة. لقد أصبحت I S3 معيارًا صناعيًا ، خاصة للتطبيقات التي تستخدم خدمات AWS الأخرى. ويرجع ذلك أساسًا إلى سهولة دمج S3 بحيث أصبحت وجهة تخزين خارجية شائعة لمعظم خدمات AWS. أيضًا ، تستخدم العديد من الخدمات ، مثل DynamoDB و SQS وما إلى ذلك ، استخدامًا مكثفًا لـ S3 داخليًا.

يجب أن يؤدي فهم S3 إلى تضخيم فوائد استخدام خدمات AWS الأخرى المُدارة. هذا لأن معظم الخدمات تخزن نسخها الاحتياطية على S3. أيضًا ، S3 هي وجهة التصدير / الاستيراد الشائعة للخدمات بما في ذلك ، على سبيل المثال لا الحصر ، DynamoDB و RDS و Redshift.

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

المزيد من الخدمات المتقدمة و SDK

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

  • الانزياح الأحمر: قاعدة بيانات قائمة على الأعمدة يمكن استخدامها لمعالجة تريليونات البيانات بطريقة سريعة للغاية. يجب أن تجربها إذا كنت مسؤولاً عن ETL لكمية كبيرة من البيانات.
  • خط أنابيب البيانات: I يسمح لك بنقل البيانات بسرعة بين خدمات AWS ، كما يتيح لك المعالجة الدورية للبيانات في جزء أصغر.
  • ElastiCache: خادم Memcache مُدار ، بسيط ولكنه يقوم بالمهمة على أكمل وجه.
  • لامدا: الجيل القادم من الحوسبة السحابية. تقوم Lambda بتشغيل جزء من الكود تم تحميله بأسلوب يحركه الحدث ويفتح بابًا جديدًا لتصميم التطبيقات الموزعة.
  • Route53: حل DNS قوي بدعم من الاستجابة الموزونة والاستجابة القائمة على تحديد الموقع الجغرافي بالإضافة إلى حلول DNS القياسية الصناعية الأخرى.
  • SNS: خدمة إعلام سهلة الاستخدام ، مصممة بنمط المشترك / الناشر.
  • اكثر كثير.

أعتقد أنه من الجيد التحقق من AWS عندما تقدم بعض المكونات الجديدة لتطبيقك. في أغلب الأحيان ، ستمنحك AWS مفاجأة جميلة حيث سيكون لديها بديل SaaS جاهز لتقديمه.

علاوة على ذلك ، لتسهيل الوصول إلى واجهات RESTful ، قدمت Amazon مجموعات SDK في جميع لغات البرمجة الشائعة تقريبًا. يجب ألا تواجه مشكلة في العثور على SDK المفضل لديك.

ملخص

لقد قمنا بتغطية بعض خدمات AWS الأكثر استخدامًا في هذه المقالة. من المؤكد أن هناك بعض المجالات التي ستساعدها AWS في عملك. قد تختار ترحيل مكون خدمة موجود إلى مكافئ AWS الخاص به ، مثل قاعدة بيانات MySQL إلى RDS ، على سبيل المثال. قد تجد نفسك تسأل عما إذا كانت هناك أي خدمات AWS لهذا المكون من برنامجي؟ لذا ، احصل على حساب AWS اليوم ، واحصل على زيادة إنتاجيتك في دقائق.


مزيد من القراءة على مدونة Toptal Engineering:

  • التطوير من أجل السحابة في السحابة: تطوير البيانات الضخمة باستخدام Docker في AWS
  • قم بواجبك: 7 نصائح لاختبار المهندس المعماري للحلول المعتمدة من AWS
  • تسجيل SSH وإدارة الجلسة باستخدام AWS SSM
  • العمل مع دعم TypeScript و Jest: برنامج تعليمي لـ AWS SAM