Kubernetes və avtomatlaşdırma sayəsində iki saat ərzində buluda necə köçmək olar

Kubernetes və avtomatlaşdırma sayəsində iki saat ərzində buluda necə köçmək olar

URUS şirkəti Kubernetes-i müxtəlif formalarda sınaqdan keçirdi: çılpaq metal üzərində müstəqil yerləşdirmə, Google Cloud-da və sonra platformasını Mail.ru Bulud Həlləri (MCS) buluduna köçürdü. İqor Şişkin yeni bulud provayderini necə seçdiklərini və rekord iki saat ərzində ona necə köçməyi bacardıqlarını izah edir (t3ran), URUS-da baş sistem inzibatçısı.

URUS nə edir?

Şəhər mühitinin keyfiyyətini yüksəltməyin bir çox yolu var və onlardan biri də onu ekoloji cəhətdən təmiz etməkdir. URUS - Smart Digital Services şirkəti məhz bunun üzərində işləyir. Burada onlar müəssisələrə mühüm ekoloji göstəriciləri izləməyə və onların ətraf mühitə mənfi təsirini azaltmağa kömək edən həllər tətbiq edirlər. Sensorlar havanın tərkibi, səs-küyün səviyyəsi və digər parametrlər haqqında məlumatları toplayır, sonra onları təhlil və tövsiyələr vermək üçün vahid URUS-Ekomon platformasına göndərir.

URUS içəridən necə işləyir

URUS-un tipik müştərisi yaşayış massivində və ya yaxınlığında yerləşən şirkətdir. Bu zavod, liman, dəmir yolu deposu və ya hər hansı digər obyekt ola bilər. Əgər müştərimiz artıq xəbərdarlıq alıbsa, ətraf mühitin çirklənməsinə görə cərimələnibsə və ya daha az səs-küy salmaq, zərərli tullantıların miqdarını azaltmaq istəyirsə, o, bizə müraciət edir və biz artıq ona ekoloji monitorinq üçün hazır həll təklif edirik.

Kubernetes və avtomatlaşdırma sayəsində iki saat ərzində buluda necə köçmək olar
H2S konsentrasiyası monitorinqi qrafiki yaxınlıqdakı zavoddan müntəzəm gecə emissiyalarını göstərir

URUS-da istifadə etdiyimiz cihazlar ekoloji vəziyyəti qiymətləndirmək üçün müəyyən qazların tərkibi, səs-küy səviyyələri və digər məlumatlar haqqında məlumat toplayan bir neçə sensordan ibarətdir. Sensorların dəqiq sayı həmişə xüsusi tapşırıqla müəyyən edilir.

Kubernetes və avtomatlaşdırma sayəsində iki saat ərzində buluda necə köçmək olar
Ölçmələrin xüsusiyyətlərindən asılı olaraq, sensorlar olan qurğular binaların divarlarında, dirəklərdə və digər ixtiyari yerlərdə yerləşdirilə bilər. Hər bir belə qurğu məlumatı toplayır, birləşdirir və məlumatları qəbul edən şlüzə göndərir. Orada məlumatları uzunmüddətli saxlama üçün saxlayırıq və sonrakı təhlil üçün əvvəlcədən emal edirik. Təhlil nəticəsində əldə etdiyimiz şeyin ən sadə nümunəsi AQI olaraq da bilinən hava keyfiyyəti indeksidir.

Paralel olaraq, platformamızda bir çox digər xidmətlər fəaliyyət göstərir, lakin onlar əsasən xidmət xarakteri daşıyır. Məsələn, monitorinq edilən parametrlərdən hər hansı biri (məsələn, CO2 tərkibi) icazə verilən dəyərdən artıq olarsa, bildiriş xidməti müştərilərə bildirişlər göndərir.

Məlumatları necə saxlayırıq. Çılpaq metal üzərində Kubernetes hekayəsi

URUS ətraf mühitin monitorinqi layihəsi bir neçə məlumat anbarına malikdir. Birində biz "xam" məlumatları saxlayırıq - birbaşa cihazların özündən aldığımız məlumatları. Bu saxlama köhnə kaset lentlərində olduğu kimi bütün göstəricilərin tarixi olan "maqnit" lentidir. İkinci növ saxlama əvvəlcədən işlənmiş məlumatlar üçün istifadə olunur - sensorlar arasındakı əlaqə və cihazların oxunuşları, təşkilatlarla əlaqə, yerlər və s. haqqında metadata ilə zənginləşdirilmiş cihazlardan alınan məlumatlar. Bu məlumat müəyyən bir göstəricinin necə olduğunu dinamik şəkildə qiymətləndirməyə imkan verir. müəyyən bir müddət ərzində dəyişdi. Biz “xam” məlumat yaddaşından başqa şeylərlə yanaşı, ehtiyat nüsxə kimi və belə bir ehtiyac yaranarsa, əvvəlcədən işlənmiş məlumatların bərpası üçün istifadə edirik.

Bir neçə il əvvəl yaddaş problemimizi həll etməyə çalışarkən iki platforma seçimimiz var idi: Kubernetes və OpenStack. Ancaq sonuncu olduqca dəhşətli göründüyü üçün (bununla əmin olmaq üçün onun arxitekturasına baxmaq kifayətdir), biz Kubernetesdə yerləşdik. Onun xeyrinə başqa bir arqument nisbətən sadə proqram nəzarəti, resurslara uyğun olaraq hətta aparat qovşaqlarını daha çevik şəkildə kəsmək imkanı idi.

Kubernetes-in özünü mənimsəməklə paralel olaraq, məlumatların saxlanması yollarını da öyrəndik, Kubernetes-də bütün yaddaşımızı öz aparatımızda saxlayarkən, əla təcrübə əldə etdik. Sonra Kubernetes-də yaşadığımız hər şey: tam saxlama, monitorinq sistemi, CI/CD. Kubernetes bizim üçün hamısı bir platformaya çevrildi.

Ancaq biz Kubernetes ilə bir xidmət olaraq işləmək, onun dəstəyi və inkişafı ilə məşğul olmamaq istədik. Üstəlik, onu çılpaq metal üzərində saxlamaq bizə nə qədər baha başa gəldiyini bəyənmədik və daim inkişafa ehtiyacımız var idi! Məsələn, ilk vəzifələrdən biri Kubernetes Ingress nəzarətçilərini təşkilatımızın şəbəkə infrastrukturuna inteqrasiya etmək idi. Bu, xüsusilə nəzərə alsaq ki, o zaman DNS qeydləri və ya IP ünvanlarının ayrılması kimi proqramlı resursların idarə edilməsi üçün heç bir şey hazır deyildi. Daha sonra biz xarici məlumatların saxlanması ilə təcrübə aparmağa başladıq. Biz heç vaxt PVC nəzarət cihazını tətbiq etməyə getmədik, lakin o zaman belə aydın oldu ki, bu, xüsusi mütəxəssislər tələb edən böyük bir iş sahəsidir.

Google Bulud Platformasına keçid müvəqqəti həll yoludur

Bunun davam edə bilməyəcəyini başa düşdük və məlumatlarımızı çılpaq metaldan Google Bulud Platformasına köçürdük. Əslində, o dövrdə bir Rusiya şirkəti üçün çox maraqlı variantlar yox idi: Google Cloud Platform-dan başqa, yalnız Amazon oxşar bir xidmət təklif etdi, lakin biz hələ də Google-dan həll yolu ilə qərarlaşdıq. Sonra bizə iqtisadi cəhətdən daha sərfəli, Upstream-ə daha yaxın göründü, Google-un özünün İstehsalda bir növ PoC Kubernetes olduğunu qeyd etməmək.

Müştəri bazamız artdıqca ilk böyük problem üfüqdə göründü. Şəxsi məlumatların saxlanmasına ehtiyac yarananda qarşımızda seçim qarşısında qaldıq: ya biz Google ilə işləyirik və Rusiya qanunlarını pozuruq, ya da Rusiya Federasiyasında alternativ axtarırıq. Seçim, ümumilikdə, proqnozlaşdırıla bilən idi. 🙂

İdeal bulud xidmətini necə gördük

Axtarışın əvvəlində biz gələcək bulud provayderindən nə almaq istədiyimizi artıq bilirdik. Hansı xidməti axtarırdıq:

  • Sürətli və çevik. İstənilən vaxt tez bir zamanda yeni bir node əlavə edə və ya bir şey yerləşdirə bilərik.
  • Ucuz. Resurslarımız məhdud olduğundan maliyyə məsələsi bizi çox narahat edirdi. Kubernetes ilə işləmək istədiyimizi artıq bilirdik və indi vəzifə bu həlldən istifadənin səmərəliliyini artırmaq və ya heç olmasa saxlamaq üçün onun dəyərini minimuma endirmək idi.
  • avtomatlaşdırılmış. Menecerlər və telefon zəngləri və ya fövqəladə rejimdə bir neçə onlarla qovşağı əl ilə qaldırmalı olduğumuz vəziyyətlər olmadan API vasitəsilə xidmətlə işləməyi planlaşdırdıq. Proseslərimizin əksəriyyəti avtomatlaşdırıldığı üçün bulud xidmətindən də eyni şeyi gözləyirdik.
  • Rusiya Federasiyasındakı serverlərlə. Əlbəttə ki, biz Rusiya qanunvericiliyinə və həmin 152-FZ-yə riayət etməyi planlaşdırdıq.

O dövrdə Rusiyada Kubernetes aaS provayderləri az idi və provayder seçərkən bizim üçün prioritetlərimizdən güzəştə getməmək vacib idi. İşləməyə başladığımız və hələ də əməkdaşlıq etdiyimiz Mail.ru Bulud Həlləri komandası bizə tam avtomatlaşdırılmış xidmət, API dəstəyi və Horizon daxil olan rahat idarəetmə paneli ilə təmin etdi - bununla biz tez bir zamanda ixtiyari sayda qovşaqları qaldıra bildik.

İki saat ərzində MCS-ə necə köçməyi bacardıq

Bu cür hərəkətlərdə bir çox şirkətlər çətinliklər və uğursuzluqlarla üzləşirlər, amma bizim vəziyyətimizdə heç biri yox idi. Bəxtimiz gətirdi: miqrasiya başlamazdan əvvəl artıq Kubernetes üzərində işlədiyimiz üçün sadəcə üç faylı düzəltdik və xidmətlərimizi yeni bulud platforması MCS-də işə saldıq. Nəzərinizə çatdırım ki, o vaxta qədər biz nəhayət çılpaq metaldan ayrılmışdıq və Google Bulud Platformasında yaşayırdıq. Buna görə də, hərəkətin özü iki saatdan çox çəkmədi, üstəlik bir az daha çox vaxt (təxminən bir saat) cihazlarımızdan məlumatların kopyalanmasına sərf olundu. O vaxt biz artıq Spinnakerdən (Davamlı Çatdırılma təmin etmək üçün çoxlu buludlu CD xidməti) istifadə edirdik. Biz də onu tez bir zamanda yeni klasterə əlavə etdik və həmişəki kimi işləməyə davam etdik.

İnkişaf proseslərinin və CI/CD-nin avtomatlaşdırılması sayəsində URUS-da Kubernetes bir mütəxəssis tərəfindən idarə olunur (və bu mənəm). Bəzi mərhələdə başqa bir sistem inzibatçısı mənimlə işlədi, lakin sonra məlum oldu ki, biz artıq bütün əsas işləri avtomatlaşdırmışıq və əsas məhsulumuzun üzərinə getdikcə daha çox tapşırıq var və resursları buna yönəltməyin mənası var.

Biz illüziyalar olmadan əməkdaşlığa başladığımız üçün bulud provayderindən gözlədiyimizi aldıq. Hər hansı bir hadisə baş vermişsə, onlar əsasən texniki xarakter daşıyırdı və xidmətin nisbi təzəliyi ilə asanlıqla izah oluna bilənlər idi. Əsas odur ki, MCS komandası çatışmazlıqları tez aradan qaldırır və messencerlərdə verilən suallara operativ cavab verir.

Təcrübəmi Google Bulud Platforması ilə müqayisə etsəm, onların vəziyyətində rəy düyməsinin harada olduğunu belə bilmirdim, çünki buna sadəcə ehtiyac yox idi. Və hər hansı problem yaranarsa, Google özü birtərəfli qaydada bildirişlər göndərir. Amma MCS məsələsində məncə, böyük üstünlük onların rus müştərilərinə mümkün qədər yaxın olmasıdır - həm coğrafi, həm də mental olaraq.

Gələcəkdə buludlarla işləməyi necə görürük

İndi işimiz Kubernetes ilə sıx bağlıdır və o, infrastruktur vəzifələri baxımından bizə tamamilə uyğundur. Ona görə də biz ondan heç bir yerə köçməyi planlaşdırmırıq, baxmayaraq ki, biz müntəzəm olaraq gündəlik tapşırıqları sadələşdirmək və yenilərini avtomatlaşdırmaq, xidmətlərin sabitliyini və etibarlılığını artırmaq üçün yeni təcrübə və xidmətlər təqdim edirik... Biz indi Chaos Monkey xidmətini işə salırıq (xüsusilə , biz chaoskube istifadə edirik, lakin bu konsepsiyanı dəyişmir: ), ilk olaraq Netflix tərəfindən yaradılmışdır. Chaos Monkey sadə bir şey edir: təsadüfi bir zamanda təsadüfi bir Kubernetes podunu silir. Bu, xidmətimizin n–1 misalların sayı ilə normal yaşaması üçün lazımdır, ona görə də biz özümüzü hər hansı problemə hazır olmağa öyrədirik.

İndi mən üçüncü tərəf həllərindən - eyni bulud platformalarından istifadəni gənc şirkətlər üçün yeganə düzgün şey kimi görürəm. Adətən, səyahətlərinin əvvəlində onlar həm insan, həm də maliyyə resurslarında məhduddurlar və öz bulud və ya məlumat mərkəzini qurmaq və saxlamaq çox bahalı və əmək tutumlu olur. Bulud provayderləri sizə bu xərcləri minimuma endirməyə imkan verir, siz onlardan xidmətlərin burada və indi işləməsi üçün lazım olan resursları tez əldə edə və faktdan sonra bu resursları ödəyə bilərsiniz. URUS şirkətinə gəlincə, biz hələlik buludda Kubernetes-ə sadiq qalacağıq. Amma kim bilir, ola bilər ki, biz coğrafi olaraq genişlənməli və ya bəzi xüsusi avadanlıq əsasında həllər həyata keçirməli ola bilərik. Və ya bəlkə də istehlak edilən resursların miqdarı köhnə günlərdə olduğu kimi çılpaq metal üzərində öz Kubernetlərini əsaslandıracaq. 🙂

Bulud xidmətləri ilə işləməkdən nə öyrəndik

Biz Kubernetes-i çılpaq metal üzərində istifadə etməyə başladıq və hətta orada da özünəməxsus şəkildə yaxşı idi. Lakin onun güclü tərəfləri buludda aaS komponenti kimi dəqiq aşkar edilmişdir. Əgər qarşınıza məqsəd qoysanız və hər şeyi mümkün qədər avtomatlaşdırsanız, satıcıların bağlanmasından qaça biləcəksiniz və bulud provayderləri arasında hərəkət bir neçə saat çəkəcək və sinir hüceyrələri bizimlə qalacaq. Biz digər şirkətlərə məsləhət verə bilərik: məhdud resurslara və inkişaf üçün maksimum sürətə malik olan öz (bulud) xidmətinizi işə salmaq istəyirsinizsə, bulud resurslarını icarəyə götürməklə başlayın və Forbes sizin haqqınızda yazdıqdan sonra məlumat mərkəzinizi qurun.

Mənbə: www.habr.com

Добавить комментарий