Sber.DS бол кодгүйгээр ч загвар бүтээх, хэрэгжүүлэх боломжийг олгодог платформ юм

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

Эдгээр нь хэмжээнээс үл хамааран аливаа компанид туулах ёстой бүх үе шатууд юм. Хэрэв бид Сбербанкны цар хүрээ, өв залгамжлалын талаар ярьж байгаа бол нарийн тохируулгын тоо экспоненциалтайгаар нэмэгддэг. 2019 оны эцэс гэхэд Сбербанк аль хэдийн 2000 гаруй загварыг ашигласан байна. Зөвхөн загвар боловсруулах нь хангалтгүй бөгөөд үйлдвэрлэлийн системтэй нэгтгэх, загвар бүтээхэд зориулсан дата мартыг хөгжүүлэх, кластер дээр түүний ажиллагааг хянах шаардлагатай.

Sber.DS бол кодгүйгээр ч загвар бүтээх, хэрэгжүүлэх боломжийг олгодог платформ юм

Манай хамт олон Sber.DS платформыг хөгжүүлж байна. Энэ нь машин сургалтын асуудлыг шийдвэрлэх, таамаглалыг шалгах үйл явцыг хурдасгах, зарчмын хувьд загвар боловсруулах, баталгаажуулах үйл явцыг хялбаршуулах, мөн PROM дахь загварын үр дүнг хянах боломжийг олгодог.

Таны хүлээлтийг төөрөлдүүлэхгүйн тулд энэ нийтлэл нь танилцуулга гэдгийг би урьдчилан хэлмээр байна, мөн тайралтаас эхлээд Sber.DS платформын бүрээс дор юу байгааг хэлж байна. Бид загвар бүтээхээс эхлээд хэрэгжүүлэх хүртэлх амьдралын мөчлөгийн түүхийг тусад нь ярих болно.

Sber.DS нь хэд хэдэн бүрэлдэхүүн хэсгээс бүрдэх бөгөөд гол нь номын сан, хөгжүүлэлтийн систем, загвар гүйцэтгэх систем юм.

Sber.DS бол кодгүйгээр ч загвар бүтээх, хэрэгжүүлэх боломжийг олгодог платформ юм

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

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

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

Уг платформ нь төслийн талбарт чирж болох бэлэн модулиудыг агуулдаг. Бүх үйлдлийг дүрсэлсэн интерфэйс ашиглан гүйцэтгэдэг. Үнэн хэрэгтээ та нэг мөр кодгүйгээр асуудлыг шийдэж чадна.

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

Sber.DS бол кодгүйгээр ч загвар бүтээх, хэрэгжүүлэх боломжийг олгодог платформ юм

Sber.DS архитектур нь микро үйлчилгээн дээр суурилагдсан. Микро үйлчилгээ гэж юу болох талаар олон санал бодол байдаг. Зарим хүмүүс цул кодыг хэсэг болгон хуваахад хангалттай гэж боддог ч тэд ижил мэдээллийн санд очдог. Манай микро үйлчилгээ нь зөвхөн REST API-ээр дамжуулан өөр микро үйлчилгээтэй холбогдох ёстой. Өгөгдлийн санд шууд нэвтрэх тойрч гарах арга зам байхгүй.

Бид үйлчилгээг маш том, удаашралтай болгохгүй байхыг хичээдэг: нэг инстанц нь 4-8 гигабайтаас илүү RAM-г ашиглах ёсгүй бөгөөд шинэ инстанцуудыг ажиллуулснаар хүсэлтийг хэвтээ байдлаар масштаблах боломжтой байх ёстой. Үйлчилгээ бүр бусадтай зөвхөн REST API (Нээлттэй API). Үйлчилгээг хариуцдаг баг нь API-г хамгийн сүүлд ашигладаг үйлчлүүлэгч хүртэл нийцтэй байлгах шаардлагатай.

Програмын цөм нь Spring Framework ашиглан Java хэл дээр бичигдсэн байдаг. Энэхүү шийдэл нь анх үүлэн дэд бүтцэд хурдан байршуулах зорилгоор бүтээгдсэн тул уг програмыг контейнержуулах системийг ашиглан бүтээжээ. RedHat OpenShift (Kubernetes). Энэхүү платформ нь бизнесийн үйл ажиллагааг нэмэгдүүлэх (шинэ холбогч, AutoML нэмэгдсэн) болон технологийн үр ашгийн хувьд байнга хувьсан өөрчлөгдөж байдаг.

Манай платформын нэг "чип" бол бид харааны интерфейс дээр боловсруулсан кодыг ямар ч Сбербанкны загвар гүйцэтгэх систем дээр ажиллуулах боломжтой юм. Одоо аль хэдийн хоёр нь байна: нэг нь Hadoop, нөгөө нь OpenShift (Docker) дээр. Бид үүгээр зогсохгүй, аливаа дэд бүтцэд, түүний дотор газар дээр нь болон үүлэн дээр код ажиллуулахын тулд нэгтгэх модулиудыг бий болгодог. Сбербанкны экосистемд үр дүнтэй нэгдэх боломжуудын хувьд бид одоо байгаа ажиллах орчинтой ажиллахад дэмжлэг үзүүлэхээр төлөвлөж байна. Ирээдүйд уг шийдлийг аль ч байгууллагын аль ч ландшафттай уян хатан байдлаар "хайрцагнаас" нэгтгэж болно.

PROM-д Hadoop дээр Python-г ажиллуулдаг шийдлийг хадгалахыг оролдож байсан хүмүүс өгөгдөл зангилаа бүрт тусгай питон орчинг бэлтгэж, хүргэх нь хангалтгүй гэдгийг мэддэг. Python модулиудыг ашигладаг маш олон тооны C / C ++ машин сургалтын номын сангууд таныг тайван амгалан байлгахгүй. Бид шинэ номын сан эсвэл сервер нэмэхдээ багцуудыг шинэчлэхээ мартаж болохгүй, үүний зэрэгцээ аль хэдийн хэрэгжсэн загвар кодтой нийцтэй байх ёстой.

Үүнийг хэрхэн хийх талаар хэд хэдэн арга байдаг. Жишээлбэл, байнга ашигладаг хэд хэдэн номын санг урьдчилан бэлтгэж, PROM дээр хэрэгжүүл. Cloudera-ийн Hadoop түгээлтийг ихэвчлэн ашигладаг боодол. Мөн одоо Hadoop-д гүйх боломж байна боомт- савнууд. Зарим энгийн тохиолдолд кодыг багцын хамт хүргэх боломжтой питон өндөг.

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

Sber.DS бол кодгүйгээр ч загвар бүтээх, хэрэгжүүлэх боломжийг олгодог платформ юм

Энэ жил бид Hadoop дээр Python/R/Java хэл дээр бичигдсэн гүйлтийн загваруудын MVP-ийг дуусгахаар төлөвлөж байна. Бид өөрсдийн платформын хэрэглэгчдийг ямар нэгэн байдлаар хязгаарлахгүйн тулд Hadoop дээр ямар ч хэрэглэгчийн орчныг хэрхэн ажиллуулах талаар сурах амбицтай зорилт тавьсан.

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

Бидэнд Linux ба DevOps, Hadoop ба Spark, Java ба Spring, Scala болон Akka, OpenShift болон Kubernetes зэрэг янз бүрийн чиглэлээр мэдлэгтэй хүмүүс бий. Дараагийн удаа бид загваруудын номын сангийн тухай, загвар нь компани доторх амьдралын мөчлөгийг хэрхэн туулдаг, баталгаажуулалт, хэрэгжилт хэрхэн явагддаг талаар ярих болно.

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

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