نقل خدمة الويب إلى Yandex.Cloud مع AWS

مرحبا بالجميع! اسمي فيتالي دافيدوف ، أنا مؤسس Poteha Labs.

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

نظرة عامة على Yandex.Clouds

هناك طريقتان لنشر خدمة الويب أو تطبيق الهاتف المحمول. دعونا نلقي نظرة على مثال لقاعدة بيانات (كأحد أجزاء خدمة الويب):

  • تتم إدارته ذاتيًا - استئجار سيارة ونشر PostgreSQL الخاص بك عليها. يتمتع postgres بإيجابيات وسلبيات: إذا كانت الأحمال صغيرة ، فسيكون مثل هذا الحل كافيًا. ولكن كلما كانت وحدات التخزين أكبر ، كانت هناك حاجة إلى مزيد من الصيانة ، وفي مرحلة ما ، ستحتاج إلى مهندس DevOps منفصل.
  • تتم إدارته بالكامل - اختر موفر خدمة السحاب واستخدام PostgreSQL كخدمة. في هذه الحالة ، يفترض الموفر السحابي دعم البنية التحتية بالكامل ويضمن أن كل شيء سوف يعمل وفقًا لاتفاقية مستوى الخدمة (الاتفاق على مستوى توفير الخدمة ، والذي يحد من وقت عدم التوافر الأقصى ، الحد الأقصى لوقت عدم التيسر الإجمالي لفترة ). لا توجد مشاكل مع دعم البنية التحتية.

أولئك الذين يختارون الخيار السحابي معتادون على أهم ثلاثة مزودين للخدمات: Microsoft Azure و Amazon Web Services (AWS) و Google Cloud . إنها توفر عددًا غير محدود من الأجهزة الافتراضية وعشرات الخدمات المريحة ، ومن ثلاثة خيارات يمكنك اختيار الحل المناسب للسعر. عادة ما نعمل مع AWS ، التي تعرضت مؤخرًا للعديد من المضايقات عند استخدامها في روسيا.

ترتبط الميزة الأولى لـ AWS في روسيا بأقفال ILV النشطة ، والتي عانت منها العديد من الخدمات في عام 2018 ، من الشركات الناشئة إلى الأنظمة المصرفية ( Viber و Skyeng وغيرها ).

بالإضافة إلى ذلك ، منذ بداية عام 2019 ، بدأت أمازون في فرض ضريبة القيمة المضافة (20٪ من السعر) من الشركات الروسية على استخدام حلول السحابة الخاصة بها. لا يقتصر الأمر على Amazon: يتم بالفعل جمع ضريبة القيمة المضافة بواسطة Microsoft و Google وشركات الإنترنت الأجنبية الأخرى ، ومع ذلك ، على أي حال ، هذه زيادة غير سارة في أسعار الشركات لمجموعة الخدمات المعتادة.

بالإضافة إلى الشركات العالمية المعروفة ، هناك أيضًا السوق الروسي للأنظمة السحابية: منصة Mail.Ru Cloud Solutions و Selectel وبعض اللاعبين الأصغر. في حين أن الكثير منهم يوفرون استئجار الحديد فقط ، والذي لا يساوي الحوسبة السحابية. توفر السحابة الكاملة ليس فقط تأجير السيارات ، ولكن أيضًا مجموعة من الخدمات المصاحبة لتبسيط البنية التحتية (على سبيل المثال ، قواعد البيانات المدارة).

السوق الروسي


في روسيا ، الحلول السحابية الكاملة قليلة (أي اثنين): MCS من mail.ru و Yandex التي تم إطلاقها مؤخرًا.

تعالج Yandex مسألة توفير الخدمات من أجل استئجار النظام البيئي للخدمات. لا تقدم السحابة خارج الصندوق أكبر عدد من الخدمات كما في AWS: أجهزة الكمبيوتر ، تخزين البيانات ، قواعد البيانات ، موازن التحميل (alpha) ، تزامن الحاوية (alpha) ، تخطط لإضافة نظام أساسي بدون خادم. تتيح لك مجموعة الخدمات المقترحة تصميم وتوسيع نطاق عدد كبير من حلول الأعمال بشكل أسرع من البنية الأساسية الخاصة بك ، كما أن عدد الخدمات يتزايد باستمرار. يوجد في Cloud ثلاثة مراكز بيانات ، بحيث يمكنك إنشاء أنظمة موزعة جغرافيا.

في نهاية عام 2018 ، أطلقت السحابة علنًا وفتحت أولاً برنامج اتصال شراكة ( أصبحنا فيه من أوائل الشركاء) ، ومنذ 7 ديسمبر 2018 أصبح متاحًا للجميع. عند الاتصال الآن ، تمنح Cloud للمستخدمين منحة للتعارف - 4000 روبل لمدة شهرين . بفضل الوصول المبكر ، نظرنا في الفرص والتعريفات وقمنا بإجراء حسابات لنقل إحدى خدماتنا من AWS إلى السحابة.

العمارة


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

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

- الخلفية . تطبيق django الذي يتم تشغيله في حاويات الإرساء على الأجهزة الظاهرية المرنة للحوسبة (EC2). تتم إدارة الآلات بواسطة خدمة الحاوية المرنة (ECS ، أخصائي حاويات مجاني) ، لقواعد البيانات التي نستخدمها بوستجرس في خدمة قواعد البيانات العلائقية (RDS). لموازنة الحمل - موازن التحميل المرن (ELB). AWS العمارة الخلفية
نقوم بنشر التطبيق من خلال GitLab CI ، باستخدام AWS CLI لتحديث الخدمة على ECS والإحصائيات في S3.

كيف ستبدو بنية الخدمة على Yandex.Cloud:

- الواجهة الأمامية . بدلاً من S3 ، يتم استخدام تخزين كائنات Yandex ، حيث يمكنك أيضًا توزيع احصائيات الموقع. الهندسة المعمارية الواجهة على Yandex.Cloud

- الخلفية . بدلاً من EC2 ، يتم استخدام Yandex Compute Cloud ، وهو مشابه في الهيكل: يوجد أيضًا تخزين بلوك ، موجود بشكل منفصل عن الأجهزة. لا تحتوي خدمة Cloud على مثيل ECS جاهز للاستخدام الآن (ولكن في إصدار ألفا ، توجد مجموعات مجموعات Yandex ، والتي يعدون على أساسها بتقديم خدمة حاوية مُدارة). لذلك ، في الوقت الحالي ، بدلاً من ECS ، تحتاج إلى استخدام Kubernetes أو Rancher ، والتي تحتاج إلى نشرها بنفسك. يوجد Yandex Load Balancer في السحاب أيضًا في alpha ، لذلك في الوقت الحالي ، يمكنك استخدام nginx ، مرفوع على جهاز منفصل ، مثل balancer. بالنسبة لـ PostgreSQL ، تمتلك Cloud خدمة Yandex المدارة لـ PostgreSQL. الخلفية الهندسة المعمارية على Yandex.Cloud

تقدير التكلفة


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

ماذاكم ، فرك. ($) / شهر
أوسياندكس كلاود
تحميل موازن
(1 كمبيوتر. ، ذاكرة وصول عشوائي 1 جيجا بايت ، 1vCPU 100٪ ، 10 جيجابايت SSD)
1300 (20)630 (10)
مثيلات التطبيق
(جهازي كمبيوتر ، ذاكرة وصول عشوائي (RAM) سعة 4 جيجا بايت ، 1 وحدة معالجة فيزيائية 100٪ ، 20 جيجابايت محرك أقراص صلبة
7400 (115)2350 (36)
مثيل للحاوية ORE
(رانشر)
-630 (10)
قواعد البيانات
(2 قطعة ، ذاكرة وصول عشوائي سعتها 4 جيجابايت ، 1vCPU 100٪ ، 100 جيجابايت SSD)
12800 (198)630 (10)
تخزين الأشياء
(10 غيغابايت ، 1،000،000 PUT ، 10،000،000 GET)
585 (9)470 (7)
IP العام
(2 قطعة. AWS ، 4 قطع. ياندكس. سحابة)
470 (7)380 (6)
حركة المرور الصادرة
(500 جيجابايت)
2 925 (45)635 (10)
المجموع25 480 فرك. (392 دولار)9 695 فرك. (149 دولار)

لمعلماتنا ، كانت السحابة أرخص بـ2.2 مرة من AWS. يعد تمويل الانتقال إلى السحابة للخدمة مربحًا بالتأكيد ( الحسابات التفصيلية للسحابة ، يمكنك استخدام الحاسبة عبر الإنترنت لـ AWS).

ميزات خدمات Yandex.Cloud


  • يختلف Yandex Compute Cloud عن EC2 في أنه في EC2 ، يمكنك زيادة طاقة الجهاز بواسطة ذاكرة الوصول العشوائي (RAM) ووحدة المعالجة المركزية (CPU) فقط في نفس الوقت ، وفي السحابة يكونون مستقلين (لكل وحدة vCPU يمكنك الاختيار من 1 إلى 8 جيجابايت من ذاكرة الوصول العشوائي) ، مما يوفر مرونة أكبر.
  • Yandex Object Storage متوافق مع S3 API. من السلبيات ، لا يمكن بعد تكوين شهادة https على نطاقك. يتم حل المشكلة باستخدام شهادة Cloudflare ، ثم سيتم حماية حركة المرور من المستخدم إلى طبقة API الخارجية. هذا خيار سريع وسهل. يمكنك أيضًا تكوين العرض من جانب الخادم ، لذلك نحن في انتظار السحابة لإضافة هذه الميزة.
  • لا يتوفر لدى Cloud خدمة لجمع السجلات المركزية غير المتزامنة (تناظرية لـ AWS CloudWatch) ، وبالتالي ، لجمع السجلات وتحليلها ، تحتاج إلى توصيل حلول الجهة الخارجية.
  • التحكم في الوصول إلى الموارد: في AWS ، يتم ذلك من خلال الأدوار التي يتم إنشاؤها في خدمة إدارة الهوية والوصول (IAM) ويتم تعيينها تلقائيًا لجميع الحالات داخل مجموعة ECS. تحتوي السحابة أيضًا على IAM الخاص بها ، ولكن الحقوق المحببة كما في AWS ليست متوفرة بعد.
  • بينما لا توجد آلات GPU للحوسبة.

الخاتمة


في الختام ، نسلط الضوء على أسباب تجربة Yandex Cloud:

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

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

شكرا لاهتمامكم ، سأجيب على الأسئلة في التعليقات.

بفضل الزوجة ( pruzhinkina ) وكيريل ( kpotehin ) لمساعدتهما في إعداد المراجعة .

Source: https://habr.com/ru/post/ar440054/


All Articles