Sber.DS β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΠ΄Π°

ИдСи ΠΈ встрСчи ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ процСссы ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² бизнСсС Ρ€Π°Π·Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ. Но ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° созданиС ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΅Ρ‘ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ являСтся случайным. ПослС внСдрСния Π»ΡŽΠ±ΡƒΡŽ модСль Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ пСриодичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ.

И это всё этапы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π² любой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π΅ зависимо ΠΎΡ‚ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Если ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΈ legacy Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°, количСство Ρ‚ΠΎΠ½ΠΊΠΈΡ… настроСк возрастаСт Π² Ρ€Π°Π·Ρ‹. К ΠΊΠΎΠ½Ρ†Ρƒ 2019 Π³ΠΎΠ΄Π° Π² Π‘Π±Π΅Ρ€Π΅ использовалось ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 2000 ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. НСдостаточно просто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ модСль, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ систСмами, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΈΡ‚Ρ€ΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для построСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° кластСрС.

Sber.DS — ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΠ΄Π°

Наша ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Sber.DS. Она позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ машинного обучСния, ускоряСт процСсс ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π·, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ПРОМ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΎΠ±ΠΌΠ°Π½ΡƒΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ, Ρ…ΠΎΡ‡Ρƒ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот пост β€” Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ, ΠΈ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ для Π½Π°Ρ‡Π°Π»Π° рассказано ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Sber.DS. Π˜ΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ‚ создания Π΄ΠΎ внСдрСния ΠΌΡ‹ расскаТСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Sber.DS состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, систСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ систСма исполнСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Sber.DS — ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΠ΄Π°

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния ΠΈΠ΄Π΅ΠΈ Π΅Ρ‘ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ внСдрСния Π² ПРОМ, постановки Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ· эксплуатации. МногиС возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ рСгулятора, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ. По Ρ„Π°ΠΊΡ‚Ρƒ это рССстр всСх Π½Π°ΡˆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

БистСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ проходят ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² систСму исполнСния для выполнСния своих бизнСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ Π² систСмС исполнСния модСль ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ поставлСна Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ с Ρ†Π΅Π»ΡŒΡŽ пСриодичСского запуска Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ для контроля Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’ систСмС Π΅ΡΡ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΡƒΠ·Π»ΠΎΠ². Одни ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ источникам Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” для трансформации исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… обогащСния (Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ). Π•ΡΡ‚ΡŒ мноТСство ΡƒΠ·Π»ΠΎΠ² для построСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΡƒΠ·Π»ΠΎΠ² для ΠΈΡ… Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π»ΡŽΠ±Ρ‹Ρ… источников, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° части.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° содСрТит ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. ВсС дСйствия производятся с использованиСм Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ интСрфСйса. ЀактичСски ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠΉ строчки ΠΊΠΎΠ΄Π°.

Если встроСнных возмоТностСй Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‚ΠΎ систСма прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для быстрого создания своих собствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠœΡ‹ сдСлали Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° основС Jupyter Kernel Gateway для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ создаСт Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ «с нуля».

Sber.DS — ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΠ΄Π°

АрхитСктура Sber.DS построСна Π½Π° микросСрвисах. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ½Π΅Π½ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ микросСрвисы. НСкоторыС ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ достаточно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° части, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½ΠΈ всС Ρ€Π°Π²Π½ΠΎ ходят Π² ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π£ нас микросСрвис Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ микросСрвисом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ REST API. Никаких ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

ΠœΡ‹ стараСмся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвисы Π½Π΅ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ большими ΠΈ Π½Π΅ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π»ΠΈΠ²Ρ‹ΠΌΠΈ: ΠΎΠ΄ΠΈΠ½ экзСмпляр Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ большС 4-8 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ обязан ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ запросов запуском Π½ΠΎΠ²Ρ‹Ρ… экзСмпляров. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис общаСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ REST API (Open API). Команда, отвСтствСнная Π·Π° сСрвис, обязана ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ API Π΄ΠΎ послСднСго ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Π―Π΄Ρ€ΠΎ прилоТСния написано Π½Π° Java с использованиСм Spring Framework. РСшСниС ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ для быстрого развСртывания Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ инфраструктурС, поэтому ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ построСно с использованиСм систСмы ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Red Hat OpenShift (Kubernetes). ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° постоянно развиваСтся, ΠΊΠ°ΠΊ Π² части наращивания бизнСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° (Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, AutoML), Ρ‚Π°ΠΊ ΠΈ Π² части тСхнологичСской эффСктивности.

Одна ΠΈΠ· Β«Ρ„ΠΈΡˆΠ΅ΠΊΒ» нашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ интСрфСйсС, Π½Π° любой систСмС исполнСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°. БСйчас ΠΈΡ… ΡƒΠΆΠ΅ Π΄Π²Π΅: ΠΎΠ΄Π½Π° Π½Π° Hadoop, другая β€” Π½Π° OpenShift (Docker). ΠœΡ‹ Π½Π° этом Π½Π΅ останавливаСмся ΠΈ создаСм ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для запуска ΠΊΠΎΠ΄Π° Π½Π° любой инфраструктурС, Π² Ρ‚ΠΎΠΌ числС on-premise ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Π’ части возмоТностСй эффСктивного встраивания Π² экосистСму Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ срСдами исполнСния. Π’ пСрспСктивС – Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎ встроСно Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Π² любой Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ любой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π΅, ΠΊΡ‚ΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π΅ Python Π½Π° Hadoop Π² ПРОМ, Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ environment ΠΏΠΈΡ‚ΠΎΠ½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π΄Π°Ρ‚Π°Π½ΠΎΠ΄Ρƒ. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство C/C++ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для машинного обучСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π΅ позволят Π²Π°ΠΌ ΠΎΡ‚Π΄Ρ‹Ρ…Π°Ρ‚ΡŒ спокойно. Надо Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ»ΠΈ сСрвСров, сохраняя ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡƒΠΆΠ΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Π•ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ. НапримСр, Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΈΡ… Π² ПРОМ. Π’ дистрибутивС Hadoop ΠΎΡ‚ Cloudera для этого ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ parcel. Π’Π°ΠΊΠΆΠ΅ сСйчас Π² Hadoop появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… простых случаях ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ вмСстС с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ python.eggs.

Π‘Π°Π½ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ бСзопасности запуска стороннСго ΠΊΠΎΠ΄Π°, поэтому ΠΌΡ‹ ΠΏΠΎ максимуму ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½ΠΎΠ²Ρ‹Π΅ возмоТности ядра Linux, Π³Π΄Π΅ процСссу, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌΡƒ Π² изоляционном ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Linux namespace, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, доступ ΠΊ сСти ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ диску, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт возмоТности врСдоносного ΠΊΠΎΠ΄Π°. ΠžΠ±Π»Π°ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π΅ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΈ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ этих Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ области ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· процСсс ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π½Π° всСх этапах ΠΎΡ‚ доступа ΠΊ источникам Π΄ΠΎ призСмлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Π²ΠΈΡ‚Ρ€ΠΈΠ½Ρƒ.

Sber.DS — ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΠ΄Π°

Π’ этом Π³ΠΎΠ΄Ρƒ ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ MVP запуска ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, написанных Π½Π° Python/R/Java Π½Π° Hadoop. ΠœΡ‹ поставили для сСбя Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ environment Π½Π° Hadoop, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈ Π² Ρ‡Π΅ΠΌ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ нашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ оказалось, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ DS-спСциалисты ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π½Π°ΡŽΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈ статистику, Π΄Π΅Π»Π°ΡŽΡ‚ классныС ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² трансформациях Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΈΠΌ трСбуСтся ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½Π°ΡˆΠΈΡ… data-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ. ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ трансформации ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ„ΠΈΡ‡ для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° Spark-Π΄Π²ΠΈΠΆΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ Π½Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Π°Ρ‚Π°-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ подготовят Π½ΠΎΠ²Ρ‹ΠΉ dataset.

Π£ нас Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ люди со знаниями Π² Ρ€Π°Π·Π½Ρ‹Ρ… областях: Linux ΠΈ DevOps, Hadoop ΠΈ Spark, Java ΠΈ Spring, Scala ΠΈ Akka, OpenShift ΠΈ Kubernetes. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π· ΠΌΡ‹ расскаТСм ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ модСль ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ происходит валидация ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ