4 инженер, 7000 сервер, дэлхийн нэг тахал

Хөөе Хабр! Би нийтлэлийн орчуулгыг та бүхэнд толилуулж байна "4 инженер, 7000 сервер, дэлхийн нэг тахал" Адиб Дав.

Хэрэв энэ гарчиг таны нуруунд бага зэрэг чичрэхгүй бол та дараагийн догол мөр рүү шилжих эсвэл манай хуудсанд зочилно уу. компани дахь карьер - Бид ярилцмаар байна.

Бид хэн бэ

Бид код бичих, техник хангамжтай ажиллах дуртай 4 оцон шувууны баг юм. Бид чөлөөт цагаараа АНУ даяар 7000 өөр дата төвд тархсан Linux үйлдлийн системтэй 3 гаруй физик серверийн флотыг байршуулах, засвар үйлчилгээ хийх, ажиллуулах үүрэгтэй.

Газар дундын тэнгисийн наран шарлагын газраас богино зайд байрладаг өөрийн оффисоос 10 км-ийн зайд үүнийг хийх боломж бас олдсон.

Хэмжээний асуудал

Анхны хөрөнгө оруулалт харьцангуй бага тул стартапууд дэд бүтцээ үүлэн сүлжээнд байршуулж эхлэх нь утга учиртай ч Outbrain-д бид өөрсдийн серверээ ашиглахаар шийдсэн. Үүлний дэд бүтцийн зардал нь тодорхой түвшинд хөгжүүлсний дараа дата төвүүдэд байрладаг өөрсдийн тоног төхөөрөмжийг ажиллуулах зардлаас хамаагүй давсан тул бид үүнийг хийсэн. Нэмж дурдахад таны сервер хамгийн дээд түвшний хяналт, алдааг олж засварлах боломжийг олгодог.

Биднийг хөгжихийн хэрээр асуудал үргэлж ойрхон байдаг. Түүнээс гадна тэд ихэвчлэн бүлгээрээ ирдэг. Серверийн амьдралын мөчлөгийн менежмент нь серверийн тоо хурдацтай нэмэгдэж байгаа нөхцөлд зөв ажиллах чадвартай байхын тулд өөрийгөө байнга сайжруулах шаардлагатай байдаг. Мэдээллийн төв дэх серверийн бүлгүүдийг удирдах програм хангамжийн аргууд нь маш хурдан төвөгтэй болдог. QoS стандартыг хангахын зэрэгцээ алдаа дутагдлыг илрүүлэх, арилгах, арилгах нь маш олон төрлийн техник хангамж, янз бүрийн ажлын ачаалал, шинэчлэх эцсийн хугацаа болон хэний ч санаа зовохыг хүсдэггүй бусад сайхан зүйлсийн асуудал болж хувирдаг.

Домэйнуудаа эзэмш

Эдгээр олон асуудлыг шийдэхийн тулд бид Outbrain дахь серверийн амьдралын мөчлөгийг үндсэн бүрэлдэхүүн хэсгүүдэд нь хувааж, домэйн гэж нэрлэсэн. Жишээлбэл, нэг домэйн нь тоног төхөөрөмжийн шаардлагыг, нөгөө нь бараа материалын амьдралын мөчлөгтэй холбоотой логистикийг, гурав дахь нь талбайн ажилтнуудтай харилцах харилцааг хамардаг. Техник хангамжийн ажиглалттай холбоотой өөр нэг зүйл бий, гэхдээ бид бүх зүйлийг тайлбарлахгүй. Бидний зорилго бол домайнуудыг судалж, код ашиглан хийсвэрлэх боломжтой болгох явдал байв. Ажиллаж буй хийсвэрлэлийг боловсруулсны дараа түүнийг байрлуулж, туршиж, боловсронгуй болгох гарын авлагын процесс руу шилжүүлдэг. Эцэст нь, домэйныг API-уудаар дамжуулан бусад домэйнуудтай нэгтгэхээр тохируулсан бөгөөд үүнийг байрлуулж, туршиж үзэх, ажиглах боломжтой цогц, динамик, байнга хувьсан өөрчлөгдөж байдаг техник хангамжийн амьдралын мөчлөгийн системийг бүрдүүлдэг. Манай бусад үйлдвэрлэлийн системүүдийн нэгэн адил.

Энэхүү аргыг нэвтрүүлэх нь багаж хэрэгсэл, автоматжуулалтыг бий болгох замаар олон асуудлыг зөв шийдвэрлэх боломжийг бидэнд олгосон.

Домэйн хэрэгтэй

Хэдийгээр и-мэйл болон хүснэгт нь эхний өдрүүдэд эрэлт хэрэгцээг хангах боломжтой арга байсан ч, ялангуяа серверийн тоо, ирж буй хүсэлтийн хэмжээ тодорхой түвшинд хүрсэн үед энэ нь амжилттай шийдэл биш байв. Хурдан тэлж байгаа нөхцөлд ирж буй хүсэлтийг илүү сайн зохион байгуулж, эрэмбэлэхийн тулд бид дараахь зүйлийг санал болгож болох тасалбарын системийг ашиглах шаардлагатай болсон.

  • Зөвхөн холбогдох талбаруудын харагдах байдлыг өөрчлөх чадвар (энгийн)
  • Нээлттэй API (өргөтгөх боломжтой)
  • Манай багт мэддэг (ойлгосон)
  • Манай одоо байгаа ажлын урсгалтай нэгтгэх (нэгдсэн)

Бид Жира-г спринт болон дотоод даалгавраа удирдахад ашигладаг тул үйлчлүүлэгчиддээ тасалбар илгээх, үр дүнг нь хянахад туслах өөр төсөл бий болгохоор шийдсэн. Ирж буй хүсэлтүүд болон дотоод даалгавруудыг удирдахад Jira-г ашиглах нь бидэнд бүх процессыг бүхэлд нь харах боломжийг олгодог нэг Канбан самбар үүсгэх боломжийг олгосон. Манай дотоод "үйлчлүүлэгчид" нэмэлт ажлуудын (хэрэгсэл сайжруулах, алдаа засах гэх мэт) ач холбогдол багатай нарийн ширийн зүйлийг нарийвчлан судлахгүйгээр зөвхөн тоног төхөөрөмжийн хүсэлтийг хардаг байв.

4 инженер, 7000 сервер, дэлхийн нэг тахал
Жира дахь Канбан самбар

Урамшууллын хувьд дараалал, тэргүүлэх чиглэлүүд нь хүн бүрт харагдах болсон нь тодорхой хүсэлт "дараалалд" байгаа болон түүний өмнө юу байгааг ойлгох боломжтой болсон. Энэ нь эзэмшигчдэд бидэнтэй холбоо барих шаардлагагүйгээр өөрсдийн хүсэлтийг дахин эрэмбэлэх боломжийг олгосон. Чирч, тэгээд л болоо. Энэ нь бидэнд Jira-д үүсгэсэн хэмжүүр дээр үндэслэн хүсэлтийн төрлүүдийн дагуу SLA-уудыг хянаж, үнэлэх боломжийг олгосон.

Тоног төхөөрөмжийн амьдралын мөчлөгийн домэйн

Серверийн тавиур бүрт ашигладаг техник хангамжийг удирдахад төвөгтэй байдлыг төсөөлөөд үз дээ. Хамгийн муу зүйл бол олон тооны техник хангамжийг (RAM, ROM) агуулахаас серверийн өрөө рүү зөөж, буцааж авах боломжтой юм. Тэд мөн бүтэлгүйтсэн эсвэл хасагдсан, сольж, солих/засвар хийлгэхээр ханган нийлүүлэгчид буцааж өгдөг. Энэ бүгдийг тоног төхөөрөмжийн биет засвар үйлчилгээнд оролцож буй колокацийн үйлчилгээний ажилтнуудад мэдэгдэх ёстой. Эдгээр асуудлыг шийдэхийн тулд бид Floppy хэмээх дотоод хэрэгслийг бүтээсэн. Түүний даалгавар бол:

  • Талбайн ажилтнуудтай харилцах менежмент, бүх мэдээллийг нэгтгэх;
  • Дууссан, баталгаажуулсан тоног төхөөрөмжийн засвар үйлчилгээний ажил бүрийн дараа "агуулах" өгөгдлийг шинэчлэх.

Агуулах нь эргээд бидний бүх хэмжигдэхүүнийг зурахад ашигладаг Графана ашиглан дүрслэгдсэн байдаг. Тиймээс бид агуулахын дүрслэл болон бусад үйлдвэрлэлийн хэрэгцээнд зориулж ижил хэрэгслийг ашигладаг.

4 инженер, 7000 сервер, дэлхийн нэг тахалГрафана дахь агуулахын тоног төхөөрөмжийн хяналтын самбар

Баталгаат серверийн төхөөрөмжүүдийн хувьд бид Диспетчер гэж нэрлэдэг өөр хэрэгслийг ашигладаг. Тэр:

  • Системийн бүртгэлийг цуглуулдаг;
  • Борлуулагчийн шаардсан хэлбэрээр тайлан гаргах;
  • API-ээр дамжуулан борлуулагчаас хүсэлт гаргах;
  • Програмын тодорхойлогчийг хүлээн авч, түүний явцыг цаашид хянах зорилгоор хадгална.

Бидний нэхэмжлэлийг хүлээн авсны дараа (ихэвчлэн ажлын цагаар) сэлбэг хэрэгслийг зохих дата төв рүү илгээж, ажилтнууд хүлээн авдаг.

4 инженер, 7000 сервер, дэлхийн нэг тахал
Женкинс консолын гаралт

Харилцаа холбооны домэйн

Үргэлж өсөн нэмэгдэж буй хүчин чадлыг шаарддаг бизнесийн хурдацтай өсөлтийг хангахын тулд бид орон нутгийн дата төвүүдийн техникийн мэргэжилтнүүдтэй ажиллах арга барилаа өөрчлөх шаардлагатай болсон. Хэрэв эхлээд өргөтгөх нь шинэ сервер худалдаж авах гэсэн үг байсан бол нэгтгэх төслийн дараа (Кубернетес рүү шилжсэний үндсэн дээр) энэ нь огт өөр зүйл болсон. Бидний "тавиур нэмэх" -ээс "серверүүдийг өөрчлөх" хүртэлх хувьсал.

Шинэ хандлагыг ашиглах нь мэдээллийн төвийн ажилтнуудтай илүү тухтай харилцах боломжийг олгосон шинэ хэрэгслүүдийг шаарддаг. Эдгээр хэрэгслүүд нь дараахь зүйлийг хийх шаардлагатай байв.

  • Энгийн байдал;
  • бие даасан байдал;
  • Үр ашиг;
  • Найдвартай байдал.

Бид өөрсдийгөө сүлжээнээс хасч, техникийн ажилтнууд серверийн төхөөрөмжтэй шууд ажиллах боломжтой байхын тулд ажлыг зохион байгуулах шаардлагатай болсон. Бидний оролцоогүйгээр, ажлын ачаалал, ажлын цаг, тоног төхөөрөмжийн хүрэлцээ гэх мэт энэ бүх асуудлыг байнга хөндөхгүйгээр.

Үүний тулд бид дата төв бүрт iPad суулгасан. Серверт холбогдсоны дараа дараахь зүйл тохиолдох болно.

  • Энэ сервер үнэхээр зарим ажил шаарддаг гэдгийг төхөөрөмж баталж байна;
  • Сервер дээр ажиллаж байгаа програмууд хаалттай (шаардлагатай бол);
  • Шаардлагатай алхмуудыг тайлбарласан ажлын зааварчилгааг Slack суваг дээр байрлуулсан;
  • Ажил дууссаны дараа төхөөрөмж серверийн эцсийн төлөвийн зөв эсэхийг шалгана;
  • Шаардлагатай бол програмуудыг дахин эхлүүлнэ.

Нэмж дурдахад бид техникийн ажилтанд туслах зорилгоор Slack роботыг бэлтгэсэн. Өргөн хүрээний боломжуудын ачаар (бид функцийг байнга өргөжүүлж байсан) робот нь тэдний ажлыг хөнгөвчилж, бидний амьдралыг ихээхэн хөнгөвчилсөн. Ингэснээр бид серверийн зориулалтыг өөрчлөх, засвар үйлчилгээ хийх ихэнх үйл явцыг оновчтой болгож, ажлын урсгалаас өөрсдийгөө хассан.

4 инженер, 7000 сервер, дэлхийн нэг тахал
Манай мэдээллийн төвүүдийн нэгэнд байгаа iPad

Техник хангамжийн домэйн

Манай дата төвийн дэд бүтцийг найдвартай өргөжүүлэхийн тулд бүрэлдэхүүн хэсэг бүрийг сайн харагдуулах шаардлагатай, жишээлбэл:

  • Техник хангамжийн эвдрэлийг илрүүлэх
  • Серверийн төлөв (идэвхтэй, байршуулсан, зомби гэх мэт)
  • Эрчим хүчний хэрэглээ
  • Програм хангамжийн хувилбар
  • Энэ бүх бизнест зориулсан аналитик

Бидний шийдлүүд нь тоног төхөөрөмжийг хэрхэн, хаанаас, хэзээ худалдаж авах талаар шийдвэр гаргах боломжийг олгодог, заримдаа бүр хэрэгцээтэй байхаас нь өмнө. Мөн янз бүрийн тоног төхөөрөмжийн ачааллын түвшинг тодорхойлох замаар бид нөөцийн хуваарилалтыг сайжруулж чадсан. Ялангуяа эрчим хүчний хэрэглээ. Бид одоо серверийг тавиур дээр суулгаж, тэжээлийн эх үүсвэрт холбохоос нь өмнө, түүний амьдралын мөчлөгийн туршид болон эцсийн эцэст тэтгэвэрт гарах хүртэл байрлуулах талаар мэдээлэлтэй шийдвэр гаргах боломжтой.

4 инженер, 7000 сервер, дэлхийн нэг тахал
Графана дахь эрчим хүчний хяналтын самбар

Дараа нь COVID-19 гарч ирэв ...

Манай баг зочдод сонирхсон контент, бүтээгдэхүүн, үйлчилгээгээ олоход нь туслах зорилгоор хэвлэл мэдээллийн компаниуд болон хэвлэн нийтлэгчдийг онлайнаар чадавхжуулах технологийг бий болгодог. Манай дэд бүтэц нь зарим нэг сэтгэл хөдөлгөм мэдээ гарах үед бий болсон замын хөдөлгөөнд үйлчлэх зорилготой юм.

COVID-19-ийг тойрсон хэвлэл мэдээллийн хэрэгслээр эрчимтэй мэдээлэл цацагдаж, замын хөдөлгөөний өсөлт нэмэгдэж байгаа нь бид эдгээр дарамтыг хэрхэн даван туулах талаар нэн даруй суралцах шаардлагатай гэсэн үг юм. Түүгээр ч барахгүй нийлүүлэлтийн сүлжээ тасалдаж, ихэнх ажилчид гэртээ байсан дэлхийн хямралын үед энэ бүхнийг хийх ёстой байв.

Гэхдээ бидний хэлсэнчлэн манай загвар нь дараахь зүйлийг аль хэдийн таамаглаж байна.

  • Манай дата төвүүдийн тоног төхөөрөмж нь ихэнх тохиолдолд бидний хувьд бие махбодийн хувьд боломжгүй байдаг;
  •  Бид бараг бүх бие махбодийн ажлыг алсаас хийдэг;
  • Ажлыг асинхрон, бие даасан, том хэмжээгээр гүйцэтгэдэг;
  • Бид шинэ тоног төхөөрөмж худалдан авахын оронд "хэсгүүдээс бүтээх" аргыг ашиглан тоног төхөөрөмжийн эрэлт хэрэгцээг хангадаг;
  • Бидэнд ердийн засвар хийхээс гадна шинэ зүйл бүтээх боломжийг олгодог агуулах бий.

Тиймээс олон компаниуд өөрсдийн дата төв рүүгээ биечлэн нэвтрэх боломжийг хаасан дэлхийн хязгаарлалт нь бидэнд бага нөлөө үзүүлсэн бөгөөд сэлбэг хэрэгсэл, серверийн хувьд, тийм ээ, бид тоног төхөөрөмжийн тогтвортой ажиллагааг хангахыг хичээсэн. Гэхдээ энэ нь гэнэт ямар нэгэн техник хангамж байхгүй болох үед гарч болзошгүй ослоос урьдчилан сэргийлэх зорилгоор хийгдсэн. Бид одоогийн хэрэгцээг хангах зорилгогүйгээр нөөцөө дүүргэсэн.

Дүгнэж хэлэхэд, дата төвийн физик менежментэд сайн кодын дизайны зарчмуудыг хэрэгжүүлэх боломжтой гэдгийг манай дата төвийн салбарт ажиллах арга барил нотолж байна гэж хэлмээр байна. Магадгүй танд сонирхолтой санагдах байх.

Эх хувь: tyts

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх