Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣАз ҷониби sophiagworld ГУМ карданд

Ин мақола дорои якчанд намунаҳои маъмулест, ки ба муҳандисон дар кор бо хидматҳои калонҳаҷм, ки миллионҳо корбарон дастрасанд, кӯмак мекунанд. 

Дар таҷрибаи муаллиф, ин рӯйхати мукаммал нест, балки воқеан самаранок маслиҳат. Пас, биёед оғоз кунем.

Бо дастгирӣ тарҷума шудааст Mail.ru ҳалли абрӣ.

Сатҳи аввал

Тадбирҳои дар зер овардашуда нисбатан соддаанд, аммо таъсири баланд доранд. Агар шумо онҳоро қаблан санҷида бошед, шумо аз беҳбудиҳои назаррас ҳайрон хоҳед шуд.

Инфрасохтор ҳамчун код

Қисми якуми маслиҳат татбиқи инфрасохтор ҳамчун код мебошад. Ин маънои онро дорад, ки шумо бояд як роҳи барномавӣ барои ҷойгиркунии тамоми инфрасохтор дошта бошед. Ин мушкил ба назар мерасад, аммо мо воқеан дар бораи рамзи зерин гап мезанем:

Ҷойгиркунии 100 мошини виртуалӣ

  • бо Ubuntu
  • Ҳар як 2 ГБ RAM
  • онҳо рамзи зерин доранд
  • бо ин параметрҳо

Шумо метавонед тағиротро дар инфрасохтори худ пайгирӣ кунед ва бо истифода аз назорати версия зуд ба онҳо баргардед.

Модернист дар ман мегӯяд, ки шумо метавонед Kubernetes/Docker-ро барои иҷрои ҳама чизҳои дар боло зикршуда истифода баред ва ӯ дуруст аст.

Илова бар ин, шумо метавонед бо истифода аз Chef, Puppet ё Terraform автоматизатсияро таъмин кунед.

Интегратсия ва интиқоли доимӣ

Барои эҷоди хидмати миқёспазир, муҳим аст, ки лӯлаи сохтан ва озмоишӣ барои ҳар як дархости кашидан. Ҳатто агар санҷиш хеле содда бошад ҳам, он ҳадди аққал кафолат медиҳад, ки рамзи ҷойгиркардаи шумо тартиб дода мешавад.

Ҳар дафъа дар ин марҳила шумо ба савол ҷавоб медиҳед: маҷлиси ман санҷишҳоро тартиб медиҳад ва мегузарад, оё он дуруст аст? Ин метавонад як сатри паст ба назар расад, аммо он бисёр мушкилотро ҳал мекунад.

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Чизе зеботар аз дидани ин канаҳо нест

Барои ин технология шумо метавонед Github, CircleCI ё Ҷенкинсро арзёбӣ кунед.

Тавозуни сарборӣ

Ҳамин тавр, мо мехоҳем як мувозинати сарборӣ барои интиқоли трафик ва таъмини сарбории баробар дар ҳама гиреҳҳо ё хидмат дар ҳолати нокомӣ идома ёбад:

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Тавозуни сарборӣ одатан кори хуби тақсими трафикро иҷро мекунад. Таҷрибаи беҳтарин ин аст, ки аз ҳад зиёд мувозинат кунед, то як нуқтаи нокомӣ надошта бошед.

Одатан, тавозуни сарборӣ дар абре, ки шумо истифода мебаред, танзим карда мешавад.

RayID, ID коррелятсия ё UUID барои дархостҳо

Оё шумо ягон бор бо хатогии барнома бо чунин паём дучор шудаед: "Чизе хато рафт. Ин ID-ро захира кунед ва ба дастаи дастгирии мо фиристед"?

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Идентификатори беназир, ID коррелятсия, RayID ё ҳар кадоме аз вариантҳо, идентификатори беназирест, ки ба шумо имкон медиҳад дархостро дар тӯли давраи ҳаёташ пайгирӣ кунед. Ин ба шумо имкон медиҳад, ки тамоми роҳи дархостро дар гузоришҳо пайгирӣ кунед.

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Истифодабаранда ба системаи А дархост пешниҳод мекунад, пас A тамоси B, ки бо C тамос мегирад, онро дар X нигоҳ медорад ва сипас дархост ба A баргардонида мешавад.

Агар шумо аз фосилаи дур ба мошинҳои виртуалӣ пайваст шавед ва кӯшиш кунед, ки роҳи дархостро пайгирӣ кунед (ва ба таври дастӣ мувофиқат кунед, ки кадом зангҳо анҷом дода мешаванд), шумо девона мешавед. Доштани идентификатори беназир ҳаётро хеле осон мекунад. Ин яке аз осонтарин корҳоест, ки шумо метавонед вақтро сарфа кунед, зеро хидмати шумо афзоиш меёбад.

Миёна сатҳи

Маслиҳат дар ин ҷо нисбат ба маслиҳатҳои қаблӣ мураккабтар аст, аммо асбобҳои дуруст вазифаро осонтар мекунанд ва ҳатто барои ширкатҳои хурд ва миёна баргардонидани сармоягузориро таъмин мекунанд.

Сабти марказонидашуда

Табрик мекунем! Шумо 100 мошини виртуалиро ҷойгир кардед. Рӯзи дигар, директори генералӣ меояд ва аз хатогие, ки ҳангоми санҷиши хидмат гирифта шудааст, шикоят мекунад. Он дар бораи идентификатсияи мувофиқе, ки мо дар боло гуфта будем, гузориш медиҳад, аммо шумо бояд сабтҳои 100 мошинро аз назар гузаронед, то мошинеро, ки боиси садама гардид, пайдо кунед. Ва он бояд пеш аз муаррифии фардо пайдо шавад.

Гарчанде ки ин як саёҳати шавқовар ба назар мерасад, беҳтараш боварӣ ҳосил кунед, ки шумо қобилияти ҷустуҷӯи тамоми маҷаллаҳои худро дар як ҷо доред. Ман масъалаи мутамарказкунии гузоришҳоро бо истифода аз функсияи дарунсохтаи стеки ELK ҳал кардам: он ҷамъоварии гузоришҳои ҷустуҷӯшавандаро дастгирӣ мекунад. Ин воқеан ба ҳалли мушкилоти дарёфти журнали мушаххас кӯмак мекунад. Ҳамчун бонус, шумо метавонед диаграммаҳо ва дигар чизҳои шавқоварро ба монанди ин созед.

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Функсияи стек ELK

Агентҳои мониторинг

Ҳоло, ки хидмати шумо фаъол аст, шумо бояд боварӣ ҳосил кунед, ки он бемаънӣ кор мекунад. Роҳи беҳтарини иҷрои ин кор ин аст, ки якчанд агентхо, ки дар баробари кор мекунанд ва тафтиш мекунанд, ки он кор мекунад ва амалиётҳои асосӣ иҷро карда мешаванд.

Дар ин лаҳза шумо инро тафтиш мекунед сохтори иҷрошаванда худро хуб ҳис мекунад ва хуб кор мекунад.

Барои лоиҳаҳои хурд ва миёна, ман Postman-ро барои мониторинг ва ҳуҷҷатгузории API тавсия медиҳам. Аммо дар маҷмӯъ, шумо танҳо мехоҳед боварӣ ҳосил кунед, ки шумо як роҳи бидонед, ки кай қатъ шудааст ва сари вақт огоҳ карда мешавад.

Миқёси худкор вобаста ба сарборӣ

Ин хеле содда аст. Агар шумо дархостҳои хидматрасонии VM дошта бошед ва он ба 80% истифодаи хотира наздик шуда бошад, шумо метавонед захираҳои онро зиёд кунед ё ба кластер VMҳои бештар илова кунед. Иҷрои худкори ин амалиётҳо барои тағирёбии қувваи чандирӣ дар зери бори аъло аст. Аммо шумо бояд ҳамеша эҳтиёт бошед, ки чӣ қадар пул сарф мекунед ва маҳдудиятҳои оқилона муқаррар кунед.

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Бо аксари хидматҳои абрӣ, шумо метавонед онро бо истифода аз серверҳои бештар ё серверҳои пуриқтидор ба таври худкор танзим кунед.

Системаи таҷрибавӣ

Як роҳи хуби бехатар паҳн кардани навсозиҳо ин аст, ки қобилияти санҷиши чизе барои 1% корбарон дар тӯли як соат аст. Шумо, албатта, чунин механизмхоро дар амал дидаед. Масалан, Facebook қисматҳои аудиторияро ранги дигар нишон медиҳад ё андозаи ҳуруфро тағир медиҳад, то бубинад, ки корбарон тағиротро чӣ гуна қабул мекунанд. Ин санҷиши A/B номида мешавад.

Ҳатто баровардани як хусусияти навро метавон ҳамчун таҷриба оғоз кард ва сипас муайян кард, ки чӣ гуна онро озод кардан мумкин аст. Шумо инчунин қобилияти "дар хотир доштан" ё тағир додани конфигуратсияро дар парвоз дар асоси функсияе пайдо мекунед, ки боиси таназзули хидмати шумо мегардад.

Сатҳи пешрафта

Дар ин ҷо маслиҳатҳое ҳастанд, ки татбиқи онҳо хеле душвор аст. Эҳтимол ба шумо захираҳои каме бештар лозим аст, аз ин рӯ як ширкати хурд ё миёна дар идоракунии ин мушкилӣ хоҳад дошт.

Ҷойгиркунии кабуд-сабз

Ин аст он чизеро, ки ман "Эрланг"-и ривоҷёбӣ меномам. Вақте ки ширкатҳои телефонӣ пайдо шуданд, Эрланг васеъ истифода мешуд. Барои интиқоли зангҳои телефонӣ нармафзори нармафзор истифода мешуданд. Мақсади асосии нармафзор дар ин коммутаторҳо аз он иборат буд, ки ҳангоми навсозии система занг назананд. Erlang як роҳи хуби боркунии модули навро бидуни шикасти модули қаблӣ дорад.

Ин қадам аз мавҷудияти мувозинати сарборӣ вобаста аст. Биёед тасаввур кунем, ки шумо версияи N нармафзори худро доред ва он гоҳ шумо мехоҳед версияи N+1-ро ҷойгир кунед. 

Вы мо бояд танҳо хидматро қатъ кунед ва версияи навбатиро дар вақте, ки барои корбарони шумо кор мекунад, паҳн кунед ва каме бекорӣ гиред. Аммо фарз кунед, ки шумо доред дар ҳақиқат шартҳои қатъии SLA. Ҳамин тавр, SLA 99,99% маънои онро дорад, ки шумо метавонед офлайн равед танҳо 52 дақиқа дар як сол.

Агар шумо воқеан хоҳед, ки ба чунин нишондиҳандаҳо ноил шавед, ба шумо дар як вақт ду ҷойгиркунӣ лозим аст: 

  • он ки ҳоло аст (N);
  • версияи навбатӣ (N+1). 

Шумо ба тавозуни сарборӣ мегӯед, ки фоизи трафикро ба версияи нав (N+1) равона кунад, дар ҳоле ки шумо регрессияҳоро фаъолона назорат мекунед.

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Дар ин ҷо мо ҷойгиркунии сабзи N дорем, ки хуб кор мекунад. Мо кӯшиш мекунем, ки ба версияи навбатии ин ҷойгиркунӣ гузарем

Аввалан мо як санҷиши воқеан хурд мефиристем, то бубинем, ки густариши N+1 мо бо миқдори ками трафик кор мекунад:

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Ниҳоят, мо як қатор санҷишҳои автоматӣ дорем, ки мо дар ниҳоят то анҷоми ҷойгиркунии мо кор мекунем. Агар ту хеле хеле Эҳтиёт бошед, шумо инчунин метавонед ҷойгиркунии N-и худро то абад барои бозгашти зуд дар ҳолати регрессияи бад нигоҳ доред:

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Агар шумо хоҳед, ки ба сатҳи боз ҳам пешрафта биравед, бигзор ҳама чиз дар густариши кабуд-сабз ба таври худкор иҷро шавад.

Муайян кардани аномалия ва сабуккунии автоматӣ

Бо назардошти он, ки шумо ба қайдгирии мутамарказ ва ҷамъоварии хуби гузоришҳо доред, шумо аллакай метавонед ҳадафҳои баландтар гузоред. Масалан, пешгӯии нокомиҳо. Функсияҳо дар мониторҳо ва гузоришҳо пайгирӣ карда мешаванд ва диаграммаҳои гуногун сохта мешаванд - ва шумо метавонед пешакӣ пешгӯӣ кунед, ки чӣ хато хоҳад шуд:

Вақте ки шумо хидмати абр доред, чӣ гуна бояд хуб хоб кунед: маслиҳатҳои асосии меъморӣ
Пас аз ошкор шудани аномалияҳо, шумо ба тафтиш кардани баъзе маслиҳатҳое, ки хидмат пешкаш мекунад, оғоз мекунед. Масалан, афзоиши сарбории CPU метавонад нишон диҳад, ки диски сахт ноком аст, дар ҳоле ки афзоиши дархостҳо метавонад нишон диҳад, ки шумо бояд миқёси онро афзоиш диҳед. Ин гуна маълумоти оморӣ ба шумо имкон медиҳад, ки хидматро фаъол созед.

Бо ин фаҳмишҳо, шумо метавонед дар ҳама гуна андозагирӣ васеъ кунед ва хусусиятҳои мошинҳо, пойгоҳи додаҳо, пайвастҳо ва дигар захираҳоро ба таври фаъол ва реактивӣ тағир диҳед.

Ҳамааш ҳамин!

Ин рӯйхати афзалиятҳо ба шумо мушкилоти зиёдеро наҷот медиҳад, агар шумо хидмати абриро баланд бардоред.

Муаллифи мақолаи аслӣ хонандагонро даъват мекунад, ки шарҳҳои худро гузоранд ва тағирот ворид кунанд. Мақола ҳамчун сарчашмаи кушода паҳн карда мешавад, дархостҳои муаллифро кашед дар Github қабул мекунад.

Дар ин мавзӯъ боз чӣ хондан мумкин аст:

  1. Бирав ва кэшҳои CPU
  2. Кубернетес дар рӯҳияи роҳзанӣ бо қолаби амалӣ
  3. Канали мо дар атрофи Kubernetes дар Telegram

Манбаъ: will.com

Илова Эзоҳ