أصبح Yandex.Cloud اليوم
متاحًا للجميع. الآن يمكن لأي مستخدم الانتقال إلى السحابة ونشر الموارد التي يحتاجها ، للوصول إلى تقنيات ياندكس. على سبيل المثال ، للترجمة الآلية والتعرف على الكلام والتوليف.
اليوم أريد أن أعرض لكم Yandex.Cloud وأقول كيف يتم ترتيب ذلك في الداخل. تحت القص ، سوف تتعلم قليلاً عن التاريخ والفريق والهندسة المعمارية لمنصتنا.
قليلا من التاريخ
على الرغم من حقيقة أن منصة سحابة Yandex تم عرضها لأول مرة علنًا منذ وقت ليس ببعيد ، إلا أن المشروع ظل قيد التطوير داخل الشركة لفترة طويلة وتمكن من البقاء على قيد الحياة لعدة مراحل ، والعديد من التقنيات التي شكلت أساسه اجتازت اختبار الزمن في البنية التحتية الداخلية لـ Yandex. بدأت التطوير العام الماضي ، وبدأ أول مستخدمين خارجيين في اختبار النظام الأساسي في أبريل 2018. لقد كان وضعًا مغلقًا ، شاركت فيه حوالي 100 شركة - خدمات الويب من مختلف الأحجام ومطوري SaaS والشركات. في سبتمبر ، افتتحنا موقعًا عامًا ، لكن لا يمكنك الدخول إلى السحابة نفسها إلا من خلال قائمة الانتظار ، والآن ، في ديسمبر ، أصبح الوصول مفتوحًا للجميع.
في البداية ، عند صياغة خطة تطوير المنتج ، كان من الضروري اتخاذ العديد من القرارات الإستراتيجية حول الخصائص التي يجب أن تتمتع بها السحابة والتكنولوجيات التي ينبغي أن تستند إليها: ما هي الحلول مفتوحة المصدر التي سيكون من المستحسن استخدامها ، والتي يمكن اتخاذها من حزمة التكنولوجيا الداخلية Yandex Yandex ، و ما يجب تطويره خصيصًا للمنصة العامة. واحدة من أهم القضايا كانت مرتبطة بـ OpenStack.

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

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

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

خدمة
Yandex Compute Cloud مبنية على أعلى المتجر. يتيح لك إدارة الأجهزة الظاهرية التي يستخدمها كل من المستخدمين الخارجيين والمكونات الداخلية للنظام الأساسي. المشرف هو
KVM ، والمضاهاة هي
QEMU . نتيجة لذلك ، تم اختيار
برامج تشغيل VirtIO للمحاكاة الافتراضية للأجهزة. يعد برنامج "المجدول" جزءًا مهمًا من مزيج الأجهزة الظاهرية والبنية الأساسية للأجهزة. هو الذي يحدد على أي خادم فعلي سيتم نشر الجهاز الظاهري التالي.

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

المستوى الأعلى هو خدمات النظام الأساسي ، التي يمكن الوصول إليها في معظمها لجميع مستخدمي Yandex.Cloud. هذه هي خدمات لإدارة قواعد البيانات في السحابة ، والتي يتم نشر مجموعات منها على الأجهزة الافتراضية (ClickHouse ، قواعد البيانات المدارة ل MongoDB و PostgreSQL) ؛
تخزين كائن متوافق S3 وكذلك خدمات
الترجمة والتوليف والتعرف على الكلام .
هناك نوعان من الخدمات الهامة الأخرى التي تغطي جميع طبقات السحابة. هذه هي
الفواتير وإدارة
الهوية والوصول (IAM). الأول هو المسؤول عن جميع العمليات مع شحن ودفع الموارد المستهلكة. يقوم الثاني بتنفيذ التحكم في الوصول المستند إلى الدور:
الوصول إلى الموارد : يمكن تعيين كل مستخدم دورًا أو آخر يصف العمليات المسموح بها. على سبيل المثال ، يتيح لك دور المحرر إنشاء الموارد وحذفها وتعديلها ، لكنه لا يسمح لك بالتحكم في الوصول إليها.
هذا وصف عام إلى حد ما لجهاز Yandex.Cloud ، لكنه يسمح لك بفهم كيفية تفاعل الأجزاء المختلفة من النظام الأساسي الكبير مع بعضها البعض. إذا كنت ترغب في الخوض في بنية النظام الأساسي بشكل أعمق ، أنصحك بالاطلاع على
: تسجيل المؤتمرات
السحابية . تم إيلاء اهتمام خاص في هذا الحدث إلى الشبكات وقاعدة بيانات ياندكس.
الفريق
وأخيرا - بضع كلمات عن الفريق. على مدار العام الماضي ، زاد بشكل كبير
ويستمر في النمو . الآن يتكون بالفعل من أكثر من 150 شخصًا ، دون حساب العدد الكبير من المجموعات التي لا تشكل جزءًا مباشرًا من Yandex.Cloud ، ولكن يتم استخدام إنجازاتها أيضًا في النظام الأساسي. جزء كبير من المتخصصين ، بطبيعة الحال ، المطورين. وهي مقسمة إلى وحدات تعمل في مجال واحد أو آخر: الأجهزة الظاهرية ، وقواعد البيانات السحابية ، والفواتير ، والشبكات ، وما إلى ذلك. هناك مجموعة منفصلة متخصصة في قضايا الأمن السحابي وكل ما يتم تخزينه فيه. حسنًا ، وبالطبع ، دعم ، جاهز للإجابة بسرعة على الأسئلة التي طرحها المستخدمون.
هذا كل شيء بالنسبة لي. في المستقبل القريب ، سنقوم بنشر العديد من المقالات حول تفاصيل العمل مع خدمات مختلفة من منصتنا. في غضون ذلك ، يمكنك
التعرف على Yandex.Cloud مجانًا. سيتلقى كل مستخدم جديد 4000 روبل للتعرف على المنصة. هذا المبلغ يكفي لوضع مشروع ويب متوسط الحجم في السحابة في غضون شهر واحد على أساس حزمة LAMP قياسية مع تخزين ملف كائن من 1 تيرابايت ؛ أو لترجمة مجموعة من البيانات أكبر من 9 ملايين حرف من خلال ربط الترجمة الآلية بتطبيق هاتفك المحمول أو موقع الويب الخاص بك.