ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ื•ืขื™ื“ืช ื”ื‘ืจ ืื™ื ื• ืกื™ืคื•ืจ ื‘ื›ื•ืจื”. ื‘ืขื‘ืจ ืขืจื›ื ื• ืื™ืจื•ืขื™ ื˜ื•ืกื˜ืจ ื’ื“ื•ืœื™ื ืœืžื“ื™ ืœ-300-400 ืื™ืฉ, ืืš ื›ืขืช ื”ื—ืœื˜ื ื• ืฉื™ื”ื™ื• ืจืœื•ื•ื ื˜ื™ื™ื ืคื’ื™ืฉื•ืช ื ื•ืฉืื™ื•ืช ืงื˜ื ื•ืช, ืฉืืช ื”ื›ื™ื•ื•ืŸ ืฉืœื”ืŸ ืชื•ื›ืœื• ืœืงื‘ื•ืข, ืœืžืฉืœ, ื‘ื”ืขืจื•ืช. ื”ื›ื ืก ื”ืจืืฉื•ืŸ ื‘ืคื•ืจืžื˜ ื–ื” ื ืขืจืš ื‘ื™ื•ืœื™ ื•ื”ื•ืงื“ืฉ ืœืคื™ืชื•ื— ืขื•ืจืคื™. ื”ืžืฉืชืชืคื™ื ื”ืื–ื™ื ื• ืœื“ื™ื•ื•ื—ื™ื ืขืœ ืชื›ื•ื ื•ืช ื”ืžืขื‘ืจ ืžื”-backend ืœ-ML ื•ืขืœ ืขื™ืฆื•ื‘ ืฉื™ืจื•ืช Quadrupel ื‘ืคื•ืจื˜ืœ ืฉื™ืจื•ืชื™ ื”ืžื“ื™ื ื”, ื•ื›ืŸ ืœืงื—ื• ื—ืœืง ื‘ืฉื•ืœื—ืŸ ืขื’ื•ืœ ืฉื”ื•ืงื“ืฉ ืœ-Serverless. ืœืžื™ ืฉืœื ื”ืฆืœื™ื— ืœื”ื’ื™ืข ืœืื™ืจื•ืข ื‘ืื•ืคืŸ ืื™ืฉื™, ื‘ืคื•ืกื˜ ื”ื–ื” ืื ื—ื ื• ืžืกืคืจื™ื ืœื›ื ืืช ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ืžืคื™ืชื•ื— ืื—ื•ืจื™ ื•ืขื“ ืœืžื™ื“ืช ืžื›ื•ื ื”

ืžื” ืขื•ืฉื™ื ืžื”ื ื“ืกื™ ื ืชื•ื ื™ื ื‘-ML? ื›ื™ืฆื“ ื”ืžืฉื™ืžื•ืช ืฉืœ ืžืคืชื— backend ื•ืžื”ื ื“ืก ML ื“ื•ืžื•ืช ื•ืฉื•ื ื•ืช? ื‘ืื™ื–ื” ื“ืจืš ืืชื” ืฆืจื™ืš ืœืœื›ืช ื›ื“ื™ ืœืฉื ื•ืช ืืช ื”ืžืงืฆื•ืข ื”ืจืืฉื•ืŸ ืฉืœืš ืœืฉื ื™ ืฉืœืš? ื–ื” ื ืืžืจ ืขืœ ื™ื“ื™ ืืœื›ืกื ื“ืจ ืคืืจื™ื ื•ื‘, ืฉื ื›ื ืก ืœืœืžื™ื“ืช ืžื›ื•ื ื” ืœืื—ืจ 10 ืฉื ื™ื ืฉืœ ืขื‘ื•ื“ื” ืขื•ืจืคื™ืช.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr
ืืœื›ืกื ื“ืจ ืคืืจื™ื ื•ื‘

ื›ื™ื•ื ืืœื›ืกื ื“ืจ ืขื•ื‘ื“ ื›ืื“ืจื™ื›ืœ ืžืขืจื›ื•ืช ืจืื™ื™ื” ืžืžื•ื—ืฉื‘ืช ื‘-X5 Retail Group ื•ืชื•ืจื ืœืคืจื•ื™ืงื˜ื™ื ืฉืœ ืงื•ื“ ืคืชื•ื— ื”ืงืฉื•ืจื™ื ืœืจืื™ื™ื” ืžืžื•ื—ืฉื‘ืช ื•ืœืžื™ื“ื” ืขืžื•ืงื” (github.com/creafz). ื›ื™ืฉื•ืจื™ื• ืžืื•ืฉืจื™ื ืขืœ ื™ื“ื™ ื”ืฉืชืชืคื•ืชื• ื‘-100 ื”ืžื•ื‘ื™ืœื™ื ื‘ื“ื™ืจื•ื’ ื”ืขื•ืœืžื™ ืฉืœ Kaggle Master (kaggle.com/creafz), ื”ืคืœื˜ืคื•ืจืžื” ื”ืคื•ืคื•ืœืจื™ืช ื‘ื™ื•ืชืจ ืœืชื—ืจื•ื™ื•ืช ืœืžื™ื“ืช ืžื›ื•ื ื”.

ืœืžื” ืœืขื‘ื•ืจ ืœืœืžื™ื“ืช ืžื›ื•ื ื”

ืœืคื ื™ ืฉื ื” ื•ื—ืฆื™ ืชื™ืืจ ื’'ืฃ ื“ื™ืŸ, ืจืืฉ Google Brain, ืคืจื•ื™ืงื˜ ืžื—ืงืจ ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ืžื‘ื•ืกืกืช ืœืžื™ื“ื” ืขืžื•ืงื” ืฉืœ ื’ื•ื’ืœ, ื›ื™ืฆื“ ื—ืฆื™ ืžื™ืœื™ื•ืŸ ืฉื•ืจื•ืช ืงื•ื“ ื‘ื’ื•ื’ืœ ื˜ืจื ืกืœื™ื™ื˜ ื”ื•ื—ืœืคื• ื‘ืจืฉืช ื ื•ื™ืจื•ื ื™ื Tensor Flow ื”ืžื•ืจื›ื‘ืช ืž-500 ืงื•ื•ื™ื ื‘ืœื‘ื“. ืœืื—ืจ ื”ื›ืฉืจืช ื”ืจืฉืช, ืื™ื›ื•ืช ื”ื ืชื•ื ื™ื ืขืœืชื” ื•ื”ืชืฉืชื™ืช ื”ืคื›ื” ืœืคืฉื•ื˜ื” ื™ื•ืชืจ. ื ืจืื” ืฉื–ื”ื• ื”ืขืชื™ื“ ื”ืžื–ื”ื™ืจ ืฉืœื ื•: ืื ื—ื ื• ื›ื‘ืจ ืœื ืฆืจื™ื›ื™ื ืœื›ืชื•ื‘ ืงื•ื“, ื–ื” ืžืกืคื™ืง ื›ื“ื™ ืœื™ืฆื•ืจ ื ื•ื™ืจื•ื ื™ื ื•ืœืžืœื ืื•ืชื ื‘ื ืชื•ื ื™ื. ืื‘ืœ ื‘ืคื•ืขืœ ื”ื›ืœ ื”ืจื‘ื” ื™ื•ืชืจ ืžืกื•ื‘ืš.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrืชืฉืชื™ืช ML ื‘ื’ื•ื’ืœ

ืจืฉืชื•ืช ืขืฆื‘ื™ื•ืช ื”ืŸ ืจืง ื—ืœืง ืงื˜ืŸ ืžื”ืชืฉืชื™ืช (ื”ืจื™ื‘ื•ืข ื”ืฉื—ื•ืจ ื”ืงื˜ืŸ ื‘ืชืžื•ื ื” ืœืžืขืœื”). ืžืขืจื›ื•ืช ืขื–ืจ ืจื‘ื•ืช ื ื•ืกืคื•ืช ื ื“ืจืฉื•ืช ื›ื“ื™ ืœืงื‘ืœ ื ืชื•ื ื™ื, ืœืขื‘ื“ ืื•ืชื, ืœืื—ืกืŸ ืื•ืชื, ืœื‘ื“ื•ืง ืื™ื›ื•ืช ื•ื›ื•', ืื ื—ื ื• ืฆืจื™ื›ื™ื ืชืฉืชื™ืช ืœื”ื“ืจื›ื”, ืคืจื™ืกืช ืงื•ื“ ืœืžื™ื“ืช ืžื›ื•ื ื” ื‘ื™ื™ืฆื•ืจ ื•ื‘ื“ื™ืงืช ืงื•ื“ ื–ื”. ื›ืœ ื”ืžืฉื™ืžื•ืช ื”ืœืœื• ื“ื•ืžื•ืช ื‘ื“ื™ื•ืง ืœืžื” ืฉืขื•ืฉื™ื ืžืคืชื—ื™ backend.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrืชื”ืœื™ืš ืœืžื™ื“ืช ืžื›ื•ื ื”

ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ML ืœ-backend?

ื‘ืชื›ื ื•ืช ืงืœืืกื™, ืื ื• ื›ื•ืชื‘ื™ื ืงื•ื“ ื•ื–ื” ืžื›ืชื™ื‘ ืืช ื”ืชื ื”ื’ื•ืช ื”ืชื•ื›ื ื™ืช. ื‘-ML, ื™ืฉ ืœื ื• ืงื•ื“ ืžื•ื“ืœ ืงื˜ืŸ ื•ื”ืจื‘ื” ื ืชื•ื ื™ื ืฉืื ื—ื ื• ื–ื•ืจืงื™ื ืขืœ ื”ืžื•ื“ืœ. ื ืชื•ื ื™ื ื‘-ML ื—ืฉื•ื‘ื™ื ืžืื•ื“: ืื•ืชื• ืžื•ื“ืœ ืžืื•ืžืŸ ืขืœ ื ืชื•ื ื™ื ืฉื•ื ื™ื ื™ื›ื•ืœ ืœื”ืจืื•ืช ืชื•ืฆืื•ืช ืฉื•ื ื•ืช ืœื—ืœื•ื˜ื™ืŸ. ื”ื‘ืขื™ื” ื”ื™ื ืฉื”ื ืชื•ื ื™ื ื›ืžืขื˜ ืชืžื™ื“ ืžืคื•ื–ืจื™ื ื•ืžืื•ื—ืกื ื™ื ื‘ืžืขืจื›ื•ืช ืฉื•ื ื•ืช (ืžืื’ืจื™ ืžื™ื“ืข ื™ื—ืกื™, ืžืกื“ื™ ื ืชื•ื ื™ื ืฉืœ NoSQL, ื™ื•ืžื ื™ื, ืงื‘ืฆื™ื).

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื ื™ื”ื•ืœ ื’ืจืกืื•ืช ื ืชื•ื ื™ื

ML ื“ื•ืจืฉ ื’ื™ืจืกืื•ืช ืœื ืจืง ืฉืœ ื”ืงื•ื“, ื›ืžื• ื‘ืคื™ืชื•ื— ืงืœืืกื™, ืืœื ื’ื ืืช ื”ื ืชื•ื ื™ื: ื™ืฉ ืฆื•ืจืš ืœื”ื‘ื™ืŸ ื‘ื‘ื™ืจื•ืจ ืขืœ ืžื” ื”ืžื•ื“ืœ ื”ื•ื›ืฉืจ. ืœืฉื ื›ืš, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืกืคืจื™ื™ืช ื‘ืงืจืช ื’ืจืกืื•ืช ืฉืœ ืžื“ืขื™ ื”ื ืชื•ื ื™ื ื”ืคื•ืคื•ืœืจื™ื™ื (dvc.org).

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr
ืกื™ืžื•ืŸ ื ืชื•ื ื™ื

ื”ืžืฉื™ืžื” ื”ื‘ืื” ื”ื™ื ืชื™ื•ื’ ื ืชื•ื ื™ื. ืœื“ื•ื’ืžื”, ืกืžืŸ ืืช ื›ืœ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืชืžื•ื ื” ืื• ืืžื•ืจ ืœืื™ื–ื• ืžื—ืœืงื” ื”ื•ื ืฉื™ื™ืš. ื–ื” ื ืขืฉื” ืขืœ ื™ื“ื™ ืฉื™ืจื•ืชื™ื ืžื™ื•ื—ื“ื™ื ื›ืžื• Yandex.Toloka, ื”ืขื‘ื•ื“ื” ืื™ืชื ืžืคืฉื˜ืช ืžืื•ื“ ืขืœ ื™ื“ื™ ื ื•ื›ื—ื•ืช ืฉืœ API. ืงืฉื™ื™ื ื ื•ื‘ืขื™ื ืž"ื”ื’ื•ืจื ื”ืื ื•ืฉื™": ื ื™ืชืŸ ืœืฉืคืจ ืืช ืื™ื›ื•ืช ื”ื ืชื•ื ื™ื ื•ืœืฆืžืฆื ืฉื’ื™ืื•ืช ืœืžื™ื ื™ืžื•ื ืขืœ ื™ื“ื™ ื”ืคืงื“ืช ืื•ืชื” ืžืฉื™ืžื” ืœืžืกืคืจ ืžื‘ืฆืขื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื”ื“ืžื™ื” ื‘- Tensor Board

ืจื™ืฉื•ื ืฉืœ ื ื™ืกื•ื™ื™ื ื ื—ื•ืฅ ื›ื“ื™ ืœื”ืฉื•ื•ืช ืชื•ืฆืื•ืช ื•ืœื‘ื—ื•ืจ ืืช ื”ืžื•ื“ืœ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืขืœ ืกืžืš ื›ืžื” ืžื“ื“ื™ื. ื™ืฉ ืกื˜ ื’ื“ื•ืœ ืฉืœ ื›ืœื™ื ืœื”ื“ืžื™ื” - ืœืžืฉืœ Tensor Board. ืื‘ืœ ืื™ืŸ ื“ืจื›ื™ื ืื™ื“ื™ืืœื™ื•ืช ืœืื—ืกืŸ ื ื™ืกื•ื™ื™ื. ื—ื‘ืจื•ืช ืงื˜ื ื•ืช ืžืกืชืคืงื•ืช ืœืจื•ื‘ ื‘ื’ื™ืœื™ื•ืŸ ืืงืกืœ, ื‘ืขื•ื“ ืฉื”ื’ื“ื•ืœื•ืช ืžืฉืชืžืฉื•ืช ื‘ืคืœื˜ืคื•ืจืžื•ืช ืžื™ื•ื—ื“ื•ืช ืœืื—ืกื•ืŸ ืชื•ืฆืื•ืช ื‘ืžืกื“ ื ืชื•ื ื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื™ืฉื ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืจื‘ื•ืช ืœืœืžื™ื“ืช ืžื›ื•ื ื”, ืืš ืืฃ ืื—ืช ืžื”ืŸ ืœื ืžื›ืกื” 70% ืžื”ืฆืจื›ื™ื

ื”ื‘ืขื™ื” ื”ืจืืฉื•ื ื” ืฉืื“ื ืฆืจื™ืš ืœื”ืชืžื•ื“ื“ ืื™ืชื” ื›ืืฉืจ ืžื›ื ื™ืกื™ื ืžื•ื“ืœ ืžื™ื•ืžืŸ ืœื™ื™ืฆื•ืจ ืงืฉื•ืจื” ืœื›ืœื™ ื”ืื”ื•ื‘ ืขืœ ืžื“ืขื ื™ ื ืชื•ื ื™ื - Jupyter Notebook. ืื™ืŸ ื‘ื• ืžื•ื“ื•ืœืจื™ื•ืช, ื›ืœื•ืžืจ, ื”ืคืœื˜ ื”ื•ื "ื‘ื“ ืจื’ืœื™ื™ื" ื›ื–ื” ืฉืœ ืงื•ื“ ืฉืื™ื ื• ืžื—ื•ืœืง ืœื—ืชื™ื›ื•ืช ืœื•ื’ื™ื•ืช - ืžื•ื“ื•ืœื™ื. ื”ื›ืœ ืžืชืขืจื‘ื‘: ืžื—ืœืงื•ืช, ืคื•ื ืงืฆื™ื•ืช, ืชืฆื•ืจื•ืช ื•ื›ื•'. ืงืฉื” ืœื’ืจืกื” ื•ืœื‘ื“ื•ืง ืืช ื”ืงื•ื“ ื”ื–ื”.

ืื™ืš ืœื”ืชืžื•ื“ื“ ืขื ื–ื”? ืืชื” ื™ื›ื•ืœ ืœื”ืชืคื˜ืจ ื‘ืขืฆืžืš, ื›ืžื• ื ื˜ืคืœื™ืงืก, ื•ืœื™ืฆื•ืจ ืคืœื˜ืคื•ืจืžื” ืžืฉืœืš ื”ืžืืคืฉืจืช ืœืš ืœื”ืคืขื™ืœ ืืช ื”ืžื—ืฉื‘ื™ื ื”ื ื™ื™ื“ื™ื ื”ืœืœื• ื™ืฉื™ืจื•ืช ื‘ื™ื™ืฆื•ืจ, ืœื”ืขื‘ื™ืจ ืืœื™ื”ื ื ืชื•ื ื™ื ื›ืงืœื˜ ื•ืœืงื‘ืœ ืชื•ืฆืื•ืช. ืืชื” ื™ื›ื•ืœ ืœืืœืฅ ืืช ื”ืžืคืชื—ื™ื ืฉืžื’ืœื’ืœื™ื ืืช ื”ืžื•ื“ืœ ืœื™ื™ืฆื•ืจ ืœืฉื›ืชื‘ ืืช ื”ืงื•ื“ ื›ืจื’ื™ืœ, ืœืคืจืง ืื•ืชื• ืœืžื•ื“ื•ืœื™ื. ืื‘ืœ ืขื ื’ื™ืฉื” ื–ื• ืงืœ ืœื˜ืขื•ืช, ื•ื”ืžื•ื“ืœ ืœื ื™ืขื‘ื•ื“ ื›ืžืชื•ื›ื ืŸ. ืœื›ืŸ, ื”ืืคืฉืจื•ืช ื”ืื™ื“ื™ืืœื™ืช ื”ื™ื ืœืืกื•ืจ ืืช ื”ืฉื™ืžื•ืฉ ื‘-Jupyter Notebook ืขื‘ื•ืจ ืงื•ื“ ื“ื’ื. ืื, ื›ืžื•ื‘ืŸ, ืžื“ืขื ื™ ื”ื ืชื•ื ื™ื ื™ืกื›ื™ืžื• ืœื›ืš.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื“ื’ื ื›ืงื•ืคืกื” ืฉื—ื•ืจื”

ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื”ื‘ื™ื ื“ื’ื ืœื™ื™ืฆื•ืจ ื”ื™ื ืœื”ืฉืชืžืฉ ื‘ื• ื›ืงื•ืคืกื” ืฉื—ื•ืจื”. ื™ืฉ ืœืš ืกื•ื’ ืฉืœ ืžื—ืœืงื” ืžื•ื“ืœ, ืงื™ื‘ืœืช ืืช ื”ืžืฉืงื•ืœื•ืช ืฉืœ ื”ืžื•ื“ืœ (ืคืจืžื˜ืจื™ื ืฉืœ ื”ื ื•ื™ืจื•ื ื™ื ืฉืœ ื”ืจืฉืช ื”ืžืื•ืžื ืช), ื•ืื ืืชื” ืžืืชื—ืœ ืืช ื”ืžื—ืœืงื” ื”ื–ื• (ืงื•ืจืื™ื ืœืฉื™ื˜ืช ื”ื—ื™ื–ื•ื™, ื”ื–ื™ื ื• ืื•ืชื• ื‘ืชืžื•ื ื”), ืชืงื‘ืœื• ืขืจืš ืžืกื•ื™ื ื—ื™ื–ื•ื™ ื›ืคืœื˜. ืžื” ืฉืงื•ืจื” ื‘ืคื ื™ื ืœื ืžืฉื ื”.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr
ืชื”ืœื™ืš ืฉืจืช ื ืคืจื“ ืขื ื“ื’ื

ื ื™ืชืŸ ื’ื ืœื”ืขืœื•ืช ืชื”ืœื™ืš ื ืคืจื“ ืžืกื•ื™ื ื•ืœืฉืœื•ื— ืื•ืชื• ื“ืจืš ืชื•ืจ RPC (ืขื ืชืžื•ื ื•ืช ืื• ื ืชื•ื ื™ ืžืงื•ืจ ืื—ืจื™ื. ื‘ืคืœื˜ ื ืงื‘ืœ ืชื—ื–ื™ื•ืช.

ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ื‘-Flask:

@app.route("/predict", methods=["POST"])
def predict():
image = flask.request.files["image"].read()
image = preprocess_image(image)
predictions = model.predict(image)
return jsonify_prediction(predictions)

ื”ื‘ืขื™ื” ื‘ื’ื™ืฉื” ื–ื• ื”ื™ื ืžื’ื‘ืœืช ื”ื‘ื™ืฆื•ืขื™ื. ื ื ื™ื— ืฉื™ืฉ ืœื ื• ืงื•ื“ ืคื™ื˜ื•ืŸ ืฉื ื›ืชื‘ ืขืœ ื™ื“ื™ ืžื“ืขื ื™ ื ืชื•ื ื™ื ืฉื”ื•ื ืื™ื˜ื™, ื•ืื ื—ื ื• ืจื•ืฆื™ื ืœืกื—ื•ื˜ ื‘ื™ืฆื•ืขื™ื ืžืงืกื™ืžืœื™ื™ื. ืœืฉื ื›ืš, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ื ื”ืžืžื™ืจื™ื ืืช ื”ืงื•ื“ ืœ-native ืื• ืœื”ืžื™ืจ ืื•ืชื• ืœืžืกื’ืจืช ืื—ืจืช ื”ืžื•ืชืืžืช ืœื™ื™ืฆื•ืจ. ื™ืฉ ื›ืœื™ื ื›ืืœื” ืœื›ืœ ืžืกื’ืจืช, ืื‘ืœ ืื™ืŸ ื›ืืœื” ืื™ื“ื™ืืœื™ื™ื; ืชืฆื˜ืจืš ืœื”ื•ืกื™ืฃ ืื•ืชื ื‘ืขืฆืžืš.

ื”ืชืฉืชื™ืช ื‘-ML ื–ื”ื” ืœืชืฉืชื™ืช ื‘-backend ืจื’ื™ืœ. ื™ืฉ Docker ื•-Kubernetes, ืจืง ืขื‘ื•ืจ Docker ืฆืจื™ืš ืœื”ืชืงื™ืŸ ื–ืžืŸ ืจื™ืฆื” ืž-NVIDIA, ืžื” ืฉืžืืคืฉืจ ืœืชื”ืœื™ื›ื™ื ื‘ืชื•ืš ื”ืงื•ื ื˜ื™ื™ื ืจ ืœื’ืฉืช ืœื›ืจื˜ื™ืกื™ ืžืกืš ื‘ืžืืจื—. Kubernetes ืฆืจื™ืš ืชื•ืกืฃ ื›ื“ื™ ืฉื”ื•ื ื™ื•ื›ืœ ืœื ื”ืœ ืฉืจืชื™ื ืขื ื›ืจื˜ื™ืกื™ ืžืกืš.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ื‘ื ื™ื’ื•ื“ ืœืชื›ื ื•ืช ืงืœืืกื™, ื‘ืžืงืจื” ืฉืœ ML ื™ืฉื ื ืืœืžื ื˜ื™ื ื ืขื™ื ืจื‘ื™ื ื•ืฉื•ื ื™ื ื‘ืชืฉืชื™ืช ืฉืฆืจื™ืš ืœื‘ื“ื•ืง ื•ืœื‘ื“ื•ืง โ€“ ืœืžืฉืœ, ืงื•ื“ ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื, ืฆื™ื ื•ืจ ืื™ืžื•ืŸ ืžื•ื“ืœ ื•ื™ื™ืฆื•ืจ (ืจืื” ืชืจืฉื™ื ืœืžืขืœื”). ื—ืฉื•ื‘ ืœื‘ื“ื•ืง ืืช ื”ืงื•ื“ ืฉืžื—ื‘ืจ ื‘ื™ืŸ ื—ืœืงื™ื ืฉื•ื ื™ื ืฉืœ ืฆื™ื ื•ืจื•ืช: ื™ืฉ ื”ืจื‘ื” ื—ืœืงื™ื, ื•ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืžืชืขื•ืจืจื•ืช ื‘ืขื™ื•ืช ื‘ื’ื‘ื•ืœื•ืช ื”ืžื•ื“ื•ืœื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr
ืื™ืš AutoML ืขื•ื‘ื“

ืฉื™ืจื•ืชื™ AutoML ืžื‘ื˜ื™ื—ื™ื ืœื‘ื—ื•ืจ ืืช ื”ื“ื’ื ื”ืื•ืคื˜ื™ืžืœื™ ืœืžื˜ืจื•ืช ืฉืœืš ื•ืœื”ื›ืฉื™ืจ ืื•ืชื•. ืื‘ืœ ืืชื” ืฆืจื™ืš ืœื”ื‘ื™ืŸ: ื ืชื•ื ื™ื ื—ืฉื•ื‘ื™ื ืžืื•ื“ ื‘-ML, ื”ืชื•ืฆืื” ืชืœื•ื™ื” ื‘ื”ื›ื ืชื•. ื”ืกื™ืžื•ืŸ ื ืขืฉื” ืขืœ ื™ื“ื™ ืื ืฉื™ื, ืืฉืจ ืขืžื•ืก ื‘ืฉื’ื™ืื•ืช. ืœืœื ื‘ืงืจื” ืงืคื“ื ื™ืช, ื”ืชื•ืฆืื” ืขืœื•ืœื” ืœื”ื™ื•ืช ื–ื‘ืœ, ื•ืขื“ื™ื™ืŸ ืœื ื ื™ืชืŸ ืœื”ืคื•ืš ืืช ื”ืชื”ืœื™ืš ืœืื•ื˜ื•ืžื˜ื™; ื™ืฉ ืฆื•ืจืš ื‘ืื™ืžื•ืช ืขืœ ื™ื“ื™ ืžื•ืžื—ื™ื - ืžื“ืขื ื™ ื ืชื•ื ื™ื. ื–ื” ื”ืžืงื•ื ืฉื‘ื• AutoML ืžืชืงืœืงืœ. ืื‘ืœ ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืœื‘ื—ื™ืจืช ืืจื›ื™ื˜ืงื˜ื•ืจื” - ื›ืืฉืจ ื›ื‘ืจ ื”ื›ื ืชื ืืช ื”ื ืชื•ื ื™ื ื•ืจื•ืฆื™ื ืœื”ืจื™ืฅ ืกื“ืจื” ืฉืœ ื ื™ืกื•ื™ื™ื ื›ื“ื™ ืœืžืฆื•ื ืืช ื”ืžื•ื“ืœ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ.

ืื™ืš ืœื”ื™ื›ื ืก ืœืœืžื™ื“ืช ืžื›ื•ื ื”

ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื”ื™ื›ื ืก ืœ-ML ื”ื™ื ืื ืืชื” ืžืคืชื— ื‘-Python, ื”ืžืฉืžืฉ ื‘ื›ืœ ืžืกื’ืจื•ืช ื”ืœืžื™ื“ื” ื”ืขืžื•ืงื” (ื•ื”ืžืกื’ืจื•ืช ื”ืจื’ื™ืœื•ืช). ืฉืคื” ื–ื• ื”ื™ื ื›ืžืขื˜ ื—ื•ื‘ื” ืขื‘ื•ืจ ืชื—ื•ื ืคืขื™ืœื•ืช ื–ื”. C++ ืžืฉืžืฉ ืขื‘ื•ืจ ื›ืžื” ืžืฉื™ืžื•ืช ืจืื™ื™ื” ืžืžื•ื—ืฉื‘ืช, ืœืžืฉืœ, ื‘ืžืขืจื›ื•ืช ื‘ืงืจื” ืœืžื›ื•ื ื™ื•ืช ื‘ื ื”ื™ื’ื” ืขืฆืžื™ืช. JavaScript ื•-Shell - ืœื”ื“ืžื™ื” ื•ื“ื‘ืจื™ื ืžื•ื–ืจื™ื ื›ืžื• ื”ืคืขืœืช ื ื•ื™ืจื•ืŸ ื‘ื“ืคื“ืคืŸ. Java ื•-Scala ืžืฉืžืฉื™ื ื‘ืขื‘ื•ื“ื” ืขื ื‘ื™ื’ ื“ืื˜ื” ื•ืœืžื™ื“ืช ืžื›ื•ื ื”. R ื•ื’'ื•ืœื™ื” ืื”ื•ื‘ื™ื ืขืœ ืื ืฉื™ื ืฉืœื•ืžื“ื™ื ืกื˜ื˜ื™ืกื˜ื™ืงื” ืžืชืžื˜ื™ืช.

ื”ื“ืจืš ื”ื ื•ื—ื” ื‘ื™ื•ืชืจ ืœืงื‘ืœ ื ื™ืกื™ื•ืŸ ืžืขืฉื™ ืžืœื›ืชื—ื™ืœื” ื”ื™ื ื‘-Kaggle; ื”ืฉืชืชืคื•ืช ื‘ืื—ืช ืžืชื—ืจื•ื™ื•ืช ื”ืคืœื˜ืคื•ืจืžื” ืžืขื ื™ืงื” ื™ื•ืชืจ ืžืฉื ื” ืฉืœ ืœื™ืžื•ื“ ืชื™ืื•ืจื™ื”. ื‘ืคืœื˜ืคื•ืจืžื” ื–ื• ืืชื” ื™ื›ื•ืœ ืœืงื—ืช ืงื•ื“ ืฉืคื•ืจืกื ื•ื”ื’ื™ื‘ ืฉืœ ืžื™ืฉื”ื• ืื—ืจ ื•ืœื ืกื•ืช ืœืฉืคืจ ืื•ืชื•, ืœื™ื™ืขืœ ืื•ืชื• ืœืžื˜ืจื•ืช ืฉืœืš. ื‘ื•ื ื•ืก - ื“ืจื’ืช Kaggle ืฉืœืš โ€‹โ€‹ืžืฉืคื™ืขื” ืขืœ ื”ืฉื›ืจ ืฉืœืš.

ืืคืฉืจื•ืช ื ื•ืกืคืช ื”ื™ื ืœื”ืฆื˜ืจืฃ ืœืฆื•ื•ืช ML ื›ืžืคืชื— backend. ื™ืฉ ื”ืจื‘ื” ืกื˜ืืจื˜-ืืคื™ื ืฉืœ ืœืžื™ื“ืช ืžื›ื•ื ื” ืฉื‘ื”ืŸ ืืชื” ื™ื›ื•ืœ ืœืฆื‘ื•ืจ ื ื™ืกื™ื•ืŸ ืขืœ ื™ื“ื™ ืขื–ืจื” ืœืขืžื™ืชื™ืš ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื•ืช ืฉืœื”ื. ืœื‘ืกื•ืฃ, ืชื•ื›ืœื• ืœื”ืฆื˜ืจืฃ ืœืื—ืช ืžืงื”ื™ืœื•ืช ืžื“ืขื ื™ ื”ื ืชื•ื ื™ื - Open Data Science (ods.ai) ื•ืื—ืจื•ืช.

ื”ื“ื•ื‘ืจ ืคืจืกื ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื”ื ื•ืฉื ื‘ืงื™ืฉื•ืจ https://bit.ly/backend-to-ml

"Quadrupel" - ืฉื™ืจื•ืช ืฉืœ ื”ื•ื“ืขื•ืช ืžืžื•ืงื“ื•ืช ืฉืœ ื”ืคื•ืจื˜ืœ "ืฉื™ืจื•ืชื™ ืžื“ื™ื ื”"

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื™ื‘ื’ื ื™ ืกืžื™ืจื ื•ื‘

ื”ื“ื•ื‘ืจ ื”ื‘ื ื”ื™ื” ืจืืฉ ืžื—ืœืงืช ืคื™ืชื•ื— ืชืฉืชื™ื•ืช ืœืžืžืฉืœ ืืœืงื˜ืจื•ื ื™, ื™ื‘ื’ื ื™ ืกืžื™ืจื ื•ื‘, ืฉื“ื™ื‘ืจ ืขืœ ืงื•ื•ืื“ืจื•ืคืœ. ื–ื”ื• ืฉื™ืจื•ืช ื”ื•ื“ืขื•ืช ืžืžื•ืงื“ ืขื‘ื•ืจ ืคื•ืจื˜ืœ Gosuslugi (gosuslugi.ru), ื”ืžืฉืื‘ ื”ืžืžืฉืœืชื™ ื”ืคื•ืคื•ืœืจื™ ื‘ื™ื•ืชืจ ื‘- Runet. ื”ืงื”ืœ ื”ื™ื•ืžื™ ื”ื•ื 2,6 ืžื™ืœื™ื•ืŸ, ื‘ืกืš ื”ื›ืœ ื™ืฉ 90 ืžื™ืœื™ื•ืŸ ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื‘ืืชืจ, ืžืชื•ื›ื 60 ืžื™ืœื™ื•ืŸ ืžืื•ืฉืจื™ื. ื”ืขื•ืžืก ืขืœ ื”-API ืฉืœ ื”ืคื•ืจื˜ืœ ื”ื•ื 30 ืืœืฃ RPS.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืžืฉืžืฉื•ืช ื‘ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ ืฉื™ืจื•ืชื™ ื”ืžื“ื™ื ื”

"ืงื•ื•ืื“ืจื•ืคืœ" ื”ื™ื ื• ืฉื™ืจื•ืช ื”ืชืจืื•ืช ืžืžื•ืงื“, ื‘ืขื–ืจืชื• ืžืงื‘ืœ ื”ืžืฉืชืžืฉ ื”ืฆืขื” ืœืฉื™ืจื•ืช ื‘ืจื’ืข ื”ืžืชืื™ื ืœื• ื‘ื™ื•ืชืจ ื‘ืืžืฆืขื•ืช ื”ื’ื“ืจืช ื›ืœืœื™ ื”ืชืจืื” ืžื™ื•ื—ื“ื™ื. ื”ื“ืจื™ืฉื•ืช ื”ืขื™ืงืจื™ื•ืช ื‘ืคื™ืชื•ื— ื”ืฉื™ืจื•ืช ื”ื™ื• ื”ื’ื“ืจื•ืช ื’ืžื™ืฉื•ืช ื•ื–ืžืŸ ื”ื•ืœื ืœื“ื™ื•ื•ืจ.

ืื™ืš ืขื•ื‘ื“ Quadrupel?

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ื”ืชืจืฉื™ื ืœืขื™ืœ ืžืฆื™ื’ ืืช ืื—ื“ ืžื›ืœืœื™ ื”ืคืขื•ืœื” ืฉืœ ื”-Quadrupel ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื“ื•ื’ืžื” ืฉืœ ืžืฆื‘ ืขื ืฆื•ืจืš ื‘ื”ื—ืœืคืช ืจื™ืฉื™ื•ืŸ ื ื”ื™ื’ื”. ืจืืฉื™ืช, ื”ืฉื™ืจื•ืช ืžื—ืคืฉ ืžืฉืชืžืฉื™ื ืฉืชืืจื™ืš ื”ืชืคื•ื’ื” ืฉืœื”ื ื™ืคื•ื’ ื‘ืขื•ื“ ื—ื•ื“ืฉ. ืžื•ืฆื’ ืœื”ื ื‘ืื ืจ ืขื ื”ืฆืขื” ืœืงื‘ืœ ืืช ื”ืฉื™ืจื•ืช ื”ืžืชืื™ื ื•ื ืฉืœื—ืช ื”ื•ื“ืขื” ื‘ื“ื•ื"ืœ. ืขื‘ื•ืจ ืื•ืชื ืžืฉืชืžืฉื™ื ืฉื”ืžื•ืขื“ ื”ืื—ืจื•ืŸ ืฉืœื”ื ื›ื‘ืจ ืคื’, ื”ื‘ืื ืจ ื•ื”ืžื™ื™ืœ ืžืฉืชื ื™ื. ืœืื—ืจ ื”ื—ืœืคืช ื–ื›ื•ื™ื•ืช ืžื•ืฆืœื—ืช, ื”ืžืฉืชืžืฉ ืžืงื‘ืœ ื”ืชืจืื•ืช ืื—ืจื•ืช - ืขื ื”ืฆืขื” ืœืขื“ื›ืŸ ืืช ื”ื ืชื•ื ื™ื ื‘ื–ื”ื•ืช.

ืžื ืงื•ื“ืช ืžื‘ื˜ ื˜ื›ื ื™ืช, ืžื“ื•ื‘ืจ ื‘ืชืกืจื™ื˜ื™ื ื’ืจื•ื‘ื™ื™ื ืฉื‘ื”ื ื›ืชื•ื‘ ื”ืงื•ื“. ื”ืงืœื˜ ื”ื•ื ื ืชื•ื ื™ื, ื”ืคืœื˜ ื ื›ื•ืŸ/ืœื ื ื›ื•ืŸ, ืชื•ืื/ืœื ืชืื. ื™ืฉื ื ื™ื•ืชืจ ืž-50 ื›ืœืœื™ื ื‘ืกืš ื”ื›ืœ - ืžืงื‘ื™ืขืช ื™ื•ื ื”ื”ื•ืœื“ืช ืฉืœ ื”ืžืฉืชืžืฉ (ื”ืชืืจื™ืš ื”ื ื•ื›ื—ื™ ืฉื•ื•ื” ืœืชืืจื™ืš ื”ืœื™ื“ื” ืฉืœ ื”ืžืฉืชืžืฉ) ื•ืขื“ ืœืžืฆื‘ื™ื ืžื•ืจื›ื‘ื™ื. ืžื“ื™ ื™ื•ื, ื”ื›ืœืœื™ื ื”ืืœื” ืžื–ื”ื™ื ื›ืžื™ืœื™ื•ืŸ ื”ืชืืžื•ืช - ืื ืฉื™ื ืฉืฆืจื™ืš ืœื”ื•ื“ื™ืข โ€‹โ€‹ืœื”ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habrืขืจื•ืฆื™ ื”ื•ื“ืขื•ืช ืงื•ื•ืื“ืจื•ืคืœ

ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข ืฉืœ Quadrupel ื™ืฉ ืžืกื“ ื ืชื•ื ื™ื ืฉื‘ื• ืžืื•ื—ืกื ื™ื ื ืชื•ื ื™ ืžืฉืชืžืฉ, ื•ืฉืœื•ืฉื” ื™ื™ืฉื•ืžื™ื: 

  • ืขื•ื‘ื“ ืžื™ื•ืขื“ ืœืขื“ื›ื•ืŸ ื ืชื•ื ื™ื.
  • ืžื ื•ื—ืช API ืื•ืกืฃ ื•ืžืขื‘ื™ืจ ืืช ื”ื‘ืื ืจื™ื ืขืฆืžื ืœืคื•ืจื˜ืœ ื•ืœืืคืœื™ืงืฆื™ื™ืช ื”ื ื™ื™ื“.
  • ืžืชื–ืžืŸ ืžืฉื™ืงื” ืขื‘ื•ื“ื” ืขืœ ื—ื™ืฉื•ื‘ ืžื—ื“ืฉ ืฉืœ ื‘ืื ืจื™ื ืื• ื“ื™ื•ื•ืจ ื”ืžื•ื ื™.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ะ”ะปั ะพะฑะฝะพะฒะปะตะฝะธั ะดะฐะฝะฝั‹ั… ะฑัะบะตะฝะด ัะพะฑั‹ั‚ะธะนะฝะพ ะพั€ะธะตะฝั‚ะธั€ะพะฒะฐะฝ. ะ”ะฒะฐ ะธะฝั‚ะตั€ั„ะตะนัะฐ โ€” ั€ะตัั‚ ะธะปะธ JMS. ะกะพะฑั‹ั‚ะธะน ะผะฝะพะณะพ, ะฟะตั€ะตะด ัะพั…ั€ะฐะฝะตะฝะธะตะผ ะธ ะพะฑั€ะฐะฑะพั‚ะบะพะน ะพะฝะธ ะฐะณั€ะตะณะธั€ัƒัŽั‚ัั, ั‡ั‚ะพะฑั‹ ะฝะต ะดะตะปะฐั‚ัŒ ะปะธัˆะฝะธั… ะทะฐะฟั€ะพัะพะฒ. ะกะฐะผะฐ ะ‘ะ”, ั‚ะฐะฑะปะธั‡ะบะฐ, ะฒ ะบะพั‚ะพั€ะพะน ั…ั€ะฐะฝัั‚ัั ะดะฐะฝะฝั‹ะต, ะฒั‹ะณะปัะดะธั‚ ะบะฐะบ key value ั…ั€ะฐะฝะธะปะธั‰ะต โ€“ ะบะปัŽั‡ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ะธ ัะฐะผะพ ะทะฝะฐั‡ะตะฝะธะต: ั„ะปะฐะถะบะธ, ะพะฑะพะทะฝะฐั‡ะฐัŽั‰ะธะต ะฝะฐะปะธั‡ะธะต ะธะปะธ ะพั‚ััƒั‚ัั‚ะฒะธะต ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒัŽั‰ะธั… ะดะพะบัƒะผะตะฝั‚ะพะฒ, ะธั… ัั€ะพะบ ะดะตะนัั‚ะฒะธั, ะฐะณั€ะตะณะธั€ะพะฒะฐะฝะฝะฐั ัั‚ะฐั‚ะธัั‚ะธะบะฐ ะฟะพ ะทะฐะบะฐะทัƒ ัƒัะปัƒะณ ัั‚ะธะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะผ ะธ ะฟั€ะพั‡ะตะต.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ืœืื—ืจ ืฉืžื™ืจืช ื”ื ืชื•ื ื™ื, ืžื•ื’ื“ืจืช ืžืฉื™ืžื” ื‘-JMS ื›ืš ืฉื”ื‘ืื ืจื™ื ืžื—ื•ืฉื‘ื™ื ืžื—ื“ืฉ ื‘ืื•ืคืŸ ืžื™ื™ื“ื™ - ื™ืฉ ืœื”ืฆื™ื’ ื–ืืช ืžื™ื“ ื‘ืจืฉืช. ื”ืžืขืจื›ืช ืžืชื—ื™ืœื” ื‘ืœื™ืœื”: ืžืฉื™ืžื•ืช ื ื–ืจืงื•ืช ืœ-JMS ื‘ืžืจื•ื•ื—ื™ ื–ืžืŸ ืฉืœ ืžืฉืชืžืฉื™ื, ืœืคื™ื”ืŸ ื™ืฉ ืœื—ืฉื‘ ืžื—ื“ืฉ ืืช ื”ื›ืœืœื™ื. ื–ื” ื ืงืœื˜ ืขืœ ื™ื“ื™ ื”ืžืขื‘ื“ื™ื ื”ืžืขื•ืจื‘ื™ื ื‘ื—ื™ืฉื•ื‘ ืžื—ื“ืฉ. ืœืื—ืจ ืžื›ืŸ, ืชื•ืฆืื•ืช ื”ืขื™ื‘ื•ื“ ืขื•ื‘ืจื•ืช ืœืชื•ืจ ื”ื‘ื, ืฉืฉื•ืžืจ ืืช ื”ื‘ืื ืจื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืื• ืฉื•ืœื— ืžืฉื™ืžื•ืช ื”ืชืจืื” ืœืžืฉืชืžืฉ ืœืฉื™ืจื•ืช. ื”ืชื”ืœื™ืš ืื•ืจืš 5-7 ืฉืขื•ืช, ื”ื•ื ื ื™ืชืŸ ืœื”ืจื—ื‘ื” ื‘ืงืœื•ืช ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉืืชื” ืชืžื™ื“ ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืžื˜ืคืœื™ื ืื• ืœื”ืขืœื•ืช ืžื•ืคืขื™ื ืขื ืžื˜ืคืœื™ื ื—ื“ืฉื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ื”ืฉื™ืจื•ืช ืขื•ื‘ื“ ื“ื™ ื˜ื•ื‘. ืื‘ืœ ื ืคื— ื”ื ืชื•ื ื™ื ื’ื“ืœ ื›ื›ืœ ืฉื™ืฉ ื™ื•ืชืจ ืžืฉืชืžืฉื™ื. ื–ื” ืžื•ื‘ื™ืœ ืœืขืœื™ื™ื” ื‘ืขื•ืžืก ืขืœ ืžืกื“ ื”ื ืชื•ื ื™ื - ื’ื ืื ืœื•ืงื—ื™ื ื‘ื—ืฉื‘ื•ืŸ ืืช ื”ืขื•ื‘ื“ื” ืฉื”-Rest API ืžืกืชื›ืœ ืขืœ ื”ืขืชืง. ื”ื ืงื•ื“ื” ื”ืฉื ื™ื™ื” ื”ื™ื JMS, ืฉื›ืคื™ ืฉื”ืชื‘ืจืจ, ืœื ืžืชืื™ื ื‘ืžื™ื•ื—ื“ ื‘ื’ืœืœ ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ื”ื’ื‘ื•ื”ื” ืฉืœื•. ืงื™ื™ื ืกื™ื›ื•ืŸ ื’ื‘ื•ื” ืฉืœ ื”ืฆืคืช ืชื•ืจ ืฉื™ื’ืจื•ื ืœ-JMS ืœืงืจื•ืก ื•ืœื”ืคืกืงืช ื”ืขื™ื‘ื•ื“. ืื™ ืืคืฉืจ ืœื”ืขืœื•ืช ืืช JMS ืื—ืจื™ ื–ื” ื‘ืœื™ ืœื ืงื•ืช ืืช ื”ื™ื•ืžื ื™ื.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ืžืชื•ื›ื ืŸ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื•ืช ื‘ืืžืฆืขื•ืช ืจื™ืกื•ืง, ืฉื™ืืคืฉืจ ืื™ื–ื•ืŸ ื”ืขื•ืžืก ืขืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื. ื™ืฉ ื’ื ืชื•ื›ื ื™ื•ืช ืœืฉื ื•ืช ืืช ืกื›ื™ืžืช ืื—ืกื•ืŸ ื”ื ืชื•ื ื™ื, ื•ืœืฉื ื•ืช ืืช JMS ืœืงืคืงื - ืคืชืจื•ืŸ ืกื•ื‘ืœื ื™ ื™ื•ืชืจ ืœืชืงืœื•ืช ืฉื™ืคืชื•ืจ ื‘ืขื™ื•ืช ื–ื™ื›ืจื•ืŸ.

Backend-as-a-Service ืœืขื•ืžืช ืœืœื ืฉืจืช

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr
ืžืฉืžืืœ ืœื™ืžื™ืŸ: ืืœื›ืกื ื“ืจ ื‘ื•ืจื’ืจื˜, ืื ื“ืจื™ื™ ื˜ื•ืžื™ืœื ืงื•, ื ื™ืงื•ืœืื™ ืžืจืงื•ื‘, ืืจื ื™ืฉืจืืœื™ืืŸ

Backend ื›ืฉื™ืจื•ืช ืื• ืคืชืจื•ืŸ ืœืœื ืฉืจืช? ื”ืžืฉืชืชืคื™ื ื‘ื“ื™ื•ืŸ ื‘ื ื•ืฉื ื“ื—ื•ืฃ ื–ื” ื‘ืฉื•ืœื—ืŸ ื”ืขื’ื•ืœ ื”ื™ื•:

  • Ara Israelyan, CTO CTO ื•ืžื™ื™ืกื“ Scorocode.
  • ื ื™ืงื•ืœืื™ ืžืจืงื•ื‘, ืžื”ื ื“ืก ื ืชื•ื ื™ื ื‘ื›ื™ืจ ื‘ืงื‘ื•ืฆืช ื”ืžื—ืงืจ Aligned.
  • ืื ื“ืจื™ื™ ื˜ื•ืžื™ืœื ืงื•, ืจืืฉ ืžื—ืœืงืช ื”ืคื™ืชื•ื— ืฉืœ RUVDS. 

ืืช ื”ืฉื™ื—ื” ื”ื ื—ื” ื”ืžืคืชื— ื”ื‘ื›ื™ืจ ืืœื›ืกื ื“ืจ ื‘ื•ืจื’ืจื˜. ืื ื• ืžืฆื™ื’ื™ื ืืช ื”ื•ื•ื™ื›ื•ื—ื™ื ื‘ื”ื ื”ืฉืชืชืคื• ื’ื ื”ืžืื–ื™ื ื™ื ื‘ื’ืจืกื” ืžืงื•ืฆืจืช.

- ืžื” ื–ื” ื—ืกืจ ืฉืจืช ื‘ื”ื‘ื ืชืš?

ืื ื“ืจื•: ื–ื”ื• ืžื•ื“ืœ ืžื—ืฉื•ื‘ - ืคื•ื ืงืฆื™ื™ืช Lambda ืฉื—ื™ื™ื‘ืช ืœืขื‘ื“ ื ืชื•ื ื™ื ื›ืš ืฉื”ืชื•ืฆืื” ืชืœื•ื™ื” ืจืง โ€‹โ€‹ื‘ื ืชื•ื ื™ื. ื”ืžื•ื ื— ื”ื’ื™ืข ืžื’ื•ื’ืœ ืื• ืžืืžื–ื•ืŸ ื•ืฉื™ืจื•ืช AWS Lambda ืฉืœื”. ืœืกืคืง ืงืœ ื™ื•ืชืจ ืœื˜ืคืœ ื‘ืคื•ื ืงืฆื™ื” ื›ื–ื• ืขืœ ื™ื“ื™ ื”ืงืฆืืช ืžืื’ืจ ืงื™ื‘ื•ืœืช ืขื‘ื•ืจื”. ื ื™ืชืŸ ืœื”ืชื™ื™ื—ืก ืœืžืฉืชืžืฉื™ื ืฉื•ื ื™ื ื‘ืื•ืคืŸ ืขืฆืžืื™ ื‘ืื•ืชื ืฉืจืชื™ื.
ื ื™ืงื•ืœืก: ื‘ืžื™ืœื™ื ืคืฉื•ื˜ื•ืช, ืื ื• ืžืขื‘ื™ืจื™ื ื—ืœืง ืžืชืฉืชื™ืช ื”-IT ื•ื”ืœื•ื’ื™ืงื” ื”ืขืกืงื™ืช ืฉืœื ื• ืœืขื ืŸ, ืœืžื™ืงื•ืจ ื—ื•ืฅ.
ara: ืžืฆื“ ื”ืžืคืชื—ื™ื - ื ื™ืกื™ื•ืŸ ื˜ื•ื‘ ืœื—ืกื•ืš ื‘ืžืฉืื‘ื™ื, ืžืฆื“ ื”ืžืฉื•ื•ืงื™ื - ืœื”ืจื•ื•ื™ื— ื™ื•ืชืจ ื›ืกืฃ.

โ€” ื”ืื ืœืœื ืฉืจืช ื–ื”ื” ืœืฉื™ืจื•ืชื™ ืžื™ืงืจื•?

ื ื™ืงื•ืœืก: ืœื, Serverless ื”ื•ื ื™ื•ืชืจ ืืจื’ื•ืŸ ืืจื›ื™ื˜ืงื˜ื•ืจื”. ืฉื™ืจื•ืช ืžื™ืงืจื• ื”ื•ื ื™ื—ื™ื“ื” ืื˜ื•ืžื™ืช ืฉืœ ื”ื™ื’ื™ื•ืŸ ื›ืœืฉื”ื•. ืœืœื ืฉืจืช ื”ื™ื ื’ื™ืฉื”, ืœื "ื™ืฉื•ืช ื ืคืจื“ืช".
ara: ื ื™ืชืŸ ืœืืจื•ื– ืคื•ื ืงืฆื™ื” ืœืœื ืฉืจืช ืœืชื•ืš ืžื™ืงืจื•-ืฉื™ืจื•ืช, ืืš ื–ื• ื›ื‘ืจ ืœื ืชื”ื™ื” ืœืœื ืฉืจืช, ื”ื™ื ืชืคืกื™ืง ืœื”ื™ื•ืช ืคื•ื ืงืฆื™ื™ืช Lambda. ื‘-Serverless, ืคื•ื ืงืฆื™ื” ืžืชื—ื™ืœื” ืœืขื‘ื•ื“ ืจืง ื‘ืจื’ืข ืฉื”ื™ื ืžืชื‘ืงืฉืช.
ืื ื“ืจื•: ื”ื ืฉื•ื ื™ื ื‘ืžื”ืœืš ื—ื™ื™ื”ื. ื”ืฉืงื ื• ืืช ืคื•ื ืงืฆื™ื™ืช Lambda ื•ืฉื›ื—ื ื• ืื•ืชื”. ื–ื” ืขื‘ื“ ื‘ืžืฉืš ื›ืžื” ืฉื ื™ื•ืช, ื•ื”ืœืงื•ื— ื”ื‘ื ื™ื›ื•ืœ ืœืขื‘ื“ ืืช ื”ื‘ืงืฉื” ืฉืœื• ื‘ืžื›ื•ื ื” ืคื™ื–ื™ืช ืื—ืจืช.

- ืื™ื–ื” ืžืื–ื ื™ื™ื ื˜ื•ื‘ ื™ื•ืชืจ?

ara: ื‘ืขืช ืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื” ืื•ืคืงื™ืช, ืคื•ื ืงืฆื™ื•ืช Lambda ืžืชื ื”ื’ื•ืช ื‘ื“ื™ื•ืง ื›ืžื• microservices.
ื ื™ืงื•ืœืก: ืœื ืžืฉื ื” ืžื” ืžืกืคืจ ื”ืขืชืงื™ื ืฉืชื’ื“ื™ืจ, ื™ื”ื™ื• ื›ืžื” ืฉื™ื•ืชืจ ืžื”ื; ืœ-Serverless ืื™ืŸ ื‘ืขื™ื•ืช ื‘ืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื”. ื”ื›ื ืชื™ ืขืจื›ืช ื”ืขืชืง ื‘-Kubernetes, ื”ืฉืงืชื™ 20 ืžื•ืคืขื™ื "ืื™ืคืฉื”ื•", ื•-20 ืงื™ืฉื•ืจื™ื ืื ื•ื ื™ืžื™ื™ื ื”ื•ื—ื–ืจื• ืืœื™ืš. ืงึธื“ึดื™ืžึธื”!

โ€” ื”ืื ื ื™ืชืŸ ืœื›ืชื•ื‘ backend ื‘-Serverless?

ืื ื“ืจื•: ืชื™ืื•ืจื˜ื™ืช, ืื‘ืœ ื–ื” ืœื ื”ื’ื™ื•ื ื™. ืคื•ื ืงืฆื™ื•ืช Lambda ื™ืกืชืžื›ื• ืขืœ ืžืื’ืจ ื™ื—ื™ื“ - ืขืœื™ื ื• ืœื”ื‘ื˜ื™ื— ืขืจื‘ื•ืช. ืœื“ื•ื’ืžื”, ืื ืžืฉืชืžืฉ ื‘ื™ืฆืข ืขืกืงื” ืžืกื•ื™ืžืช, ืื– ื‘ืคืขื ื”ื‘ืื” ืฉื”ื•ื ื™ื•ืฆืจ ืงืฉืจ ื”ื•ื ืืžื•ืจ ืœืจืื•ืช: ื”ืขืกืงื” ื‘ื•ืฆืขื”, ื”ื›ืกืคื™ื ื–ื•ื›ื•. ื›ืœ ืคื•ื ืงืฆื™ื•ืช Lambda ื™ื™ื—ืกืžื• ื‘ืฉื™ื—ื” ื–ื•. ืœืžืขืฉื”, ื—ื‘ื•ืจื” ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืœืœื Server ื™ื”ืคื›ื• ืœืฉื™ืจื•ืช ื™ื—ื™ื“ ืขื ื ืงื•ื“ืช ื’ื™ืฉื” ืื—ืช ืขื ืฆื•ื•ืืจ ื‘ืงื‘ื•ืง ืœืžืกื“ ื”ื ืชื•ื ื™ื.

- ื‘ืื™ืœื• ืžืฆื‘ื™ื ื”ื’ื™ื•ื ื™ ืœื”ืฉืชืžืฉ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื” ืœืœื ืฉืจืช?

ืื ื“ืจื•: ืžืฉื™ืžื•ืช ืฉืื™ื ืŸ ื“ื•ืจืฉื•ืช ืื—ืกื•ืŸ ืžืฉื•ืชืฃ - ืื•ืชื” ื›ืจื™ื™ื”, ื‘ืœื•ืงืฆ'ื™ื™ืŸ. ืื™ืคื” ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื”ืจื‘ื” ืกืคื™ืจื”. ืื ื™ืฉ ืœืš ื›ื•ื— ืžื—ืฉื•ื‘ ืจื‘, ืื– ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืคื•ื ืงืฆื™ื” ื›ืžื• "ืœื—ืฉื‘ ืืช ื”-hash ืฉืœ ืžืฉื”ื• ืฉื..." ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ืขื ืื—ืกื•ืŸ ื ืชื•ื ื™ื ืขืœ ื™ื“ื™ ืœืงื™ื—ืช, ืœืžืฉืœ, ืคื•ื ืงืฆื™ื•ืช Lambda ืžืืžื–ื•ืŸ ื•ื”ืื—ืกื•ืŸ ื”ืžื‘ื•ื–ืจ ืฉืœื”ืŸ . ื•ืžืกืชื‘ืจ ืฉืืชื” ื›ื•ืชื‘ ืฉื™ืจื•ืช ืงื‘ื•ืข. ืคื•ื ืงืฆื™ื•ืช Lambda ื™ื’ืฉื• ืœืื—ืกื•ืŸ ื•ื™ืกืคืงื• ืžืขื ื” ื›ืœืฉื”ื• ืœืžืฉืชืžืฉ.
ื ื™ืงื•ืœืก: ืงื•ื ื˜ื™ื™ื ืจื™ื ื”ืคื•ืขืœื™ื ื‘-Serverless ืžื•ื’ื‘ืœื™ื ื‘ื™ื•ืชืจ ื‘ืžืฉืื‘ื™ื. ื™ืฉ ืžืขื˜ ื–ื™ื›ืจื•ืŸ ื•ื›ืœ ื”ืฉืืจ. ืื‘ืœ ืื ื›ืœ ื”ืชืฉืชื™ืช ืฉืœืš ืคืจื•ืกื” ื›ื•ืœื” ืขืœ ืขื ืŸ ื›ืœืฉื”ื• - ื’ื•ื’ืœ, ืืžื–ื•ืŸ - ื•ื™ืฉ ืœืš ื—ื•ื–ื” ืงื‘ื•ืข ืื™ืชื, ื™ืฉ ืชืงืฆื™ื‘ ืœื›ืœ ื–ื”, ืื– ืขื‘ื•ืจ ื›ืžื” ืžืฉื™ืžื•ืช ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื ืœืœื ืฉืจืช. ื™ืฉ ืฆื•ืจืš ืœื”ื™ื•ืช ื‘ืชื•ืš ื”ืชืฉืชื™ืช ื”ื–ื•, ื›ื™ ื”ื›ืœ ืžื•ืชืื ืœืฉื™ืžื•ืฉ ื‘ืกื‘ื™ื‘ื” ืกืคืฆื™ืคื™ืช. ื›ืœื•ืžืจ, ืื ืืชื ืžื•ื›ื ื™ื ืœืงืฉื•ืจ ื”ื›ืœ ืœืชืฉืชื™ืช ื”ืขื ืŸ, ืชื•ื›ืœื• ืœื”ืชื ืกื•ืช. ื”ื™ืชืจื•ืŸ ื”ื•ื ืฉืืชื” ืœื ืฆืจื™ืš ืœื ื”ืœ ืืช ื”ืชืฉืชื™ืช ื”ื–ื•.
ara: ื”ืขื•ื‘ื“ื” ืฉ-Serverless ืœื ืžื—ื™ื™ื‘ืช ืื•ืชืš ืœื ื”ืœ ืืช Kubernetes, Docker, ืœื”ืชืงื™ืŸ ืืช Kafka ื•ื›ืŸ ื”ืœืื” ื”ื™ื ื”ื•ื ืื” ืขืฆืžื™ืช. ืื•ืชืŸ ืืžื–ื•ืŸ ื•ื’ื•ื’ืœ ืžืชืงื™ื ื•ืช ืืช ื–ื”. ื“ื‘ืจ ื ื•ืกืฃ ื”ื•ื ืฉื™ืฉ ืœืš SLA. ืืชื” ื™ื›ื•ืœ ื‘ืื•ืชื” ืžื™ื“ื” ืœื‘ืฆืข ืžื™ืงื•ืจ ื—ื•ืฅ ืฉืœ ื”ื›ืœ ื‘ืžืงื•ื ืœืงื•ื“ื“ ืื•ืชื• ื‘ืขืฆืžืš.
ืื ื“ืจื•: Serverless ืขืฆืžื• ืœื ื™ืงืจ, ืื‘ืœ ืืชื” ืฆืจื™ืš ืœืฉืœื ื”ืจื‘ื” ืขื‘ื•ืจ ืฉื™ืจื•ืชื™ ืืžื–ื•ืŸ ืื—ืจื™ื - ืœืžืฉืœ, ืžืกื“ ื”ื ืชื•ื ื™ื. ืื ืฉื™ื ื›ื‘ืจ ืชื‘ืขื• ืื•ืชื ื›ื™ ื”ื ื’ื‘ื• ืกื›ื•ืžื™ ื›ืกืฃ ืžื˜ื•ืจืคื™ื ืขื‘ื•ืจ ืฉืขืจ ื”-API.
ara: ืื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ื›ืกืฃ, ืื– ืฆืจื™ืš ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ื”ื ืงื•ื“ื” ื”ื–ื•: ืชืฆื˜ืจื›ื• ืœื”ืคื•ืš ืืช ื›ืœ ืžืชื•ื“ื•ืœื•ื’ื™ื™ืช ื”ืคื™ืชื•ื— ื‘ื—ื‘ืจื” ื‘-180 ืžืขืœื•ืช ืขืœ ืžื ืช ืœื”ืขื‘ื™ืจ ืืช ื›ืœ ื”ืงื•ื“ ืœ-Serverless. ื–ื” ื™ื™ืงื— ื”ืจื‘ื” ื–ืžืŸ ื•ื›ืกืฃ.

- ื”ืื ื™ืฉ ื—ืœื•ืคื•ืช ืจืื•ื™ื•ืช ืœืฉืจืช ืœืœื ืชืฉืœื•ื ืžืืžื–ื•ืŸ ื•ื’ื•ื’ืœ?

ื ื™ืงื•ืœืก: ื‘-Kubernetes ืืชื” ืžืฉื™ืง ืื™ื–ื•ืฉื”ื™ ืขื‘ื•ื“ื”, ื”ื™ื ืคื•ืขืœืช ื•ืžืชื” - ื–ื” ื“ื™ ื—ืกืจ ืฉืจืช ืžื ืงื•ื“ืช ืžื‘ื˜ ืืจื›ื™ื˜ืงื˜ื•ื ื™ืช. ืื ืืชื” ืจื•ืฆื” ืœื™ืฆื•ืจ ื”ื™ื’ื™ื•ืŸ ืขืกืงื™ ืžืขื ื™ื™ืŸ ื‘ืืžืช ืขื ืชื•ืจื™ื ื•ืžืกื“ื™ ื ืชื•ื ื™ื, ืื– ืืชื” ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœ ื–ื” ืงืฆืช ื™ื•ืชืจ. ื›ืœ ื–ื” ื™ื›ื•ืœ ืœื”ื™ืคืชืจ ืžื‘ืœื™ ืœืขื–ื•ื‘ ืืช Kubernetes. ืœื ื”ื™ื™ืชื™ ื˜ื•ืจื— ืœืžืฉื•ืš ื™ื™ืฉื•ื ื ื•ืกืฃ.

- ืขื“ ื›ืžื” ื—ืฉื•ื‘ ืœืขืงื•ื‘ ืื—ืจ ืžื” ืฉืงื•ืจื” ื‘-Serverless?

ara: ืชืœื•ื™ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžืขืจื›ืช ื•ื‘ื“ืจื™ืฉื•ืช ื”ืขืกืงื™ื•ืช. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ื”ืกืคืง ื—ื™ื™ื‘ ืœืกืคืง ื“ื™ื•ื•ื— ืฉื™ืขื–ื•ืจ ืœืฆื•ื•ืช devops ืœื”ื‘ื™ืŸ ื‘ืขื™ื•ืช ืืคืฉืจื™ื•ืช.
ื ื™ืงื•ืœืก: ืœืืžื–ื•ืŸ ื™ืฉ CloudWatch, ืฉื‘ื• ื›ืœ ื”ื™ื•ืžื ื™ื ืžื•ื–ืจืžื™ื, ื›ื•ืœืœ ืืœื” ืฉืœ Lambda. ืฉืœื‘ ื”ืขื‘ืจืช ื™ื•ืžื ื™ื ื•ื”ืฉืชืžืฉ ื‘ื›ืœื™ ื ืคืจื“ ืœืฆืคื™ื™ื”, ื”ืชืจืื” ื•ื›ืŸ ื”ืœืื”. ืืชื” ื™ื›ื•ืœ ืœื”ื›ื ื™ืก ืกื•ื›ื ื™ื ืœืชื•ืš ื”ืžื™ื›ืœื™ื ืฉืืชื” ืžืชื—ื™ืœ.

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

- ื‘ื•ื ื ืกื›ื ืืช ื–ื”.

ืื ื“ืจื•: ื—ืฉื™ื‘ื” ืขืœ ืคื•ื ืงืฆื™ื•ืช Lambda ื”ื™ื ืฉื™ืžื•ืฉื™ืช. ืื ืืชื” ื™ื•ืฆืจ ืฉื™ืจื•ืช ื‘ืขืฆืžืš - ืœื ืžื™ืงืจื•-ืฉื™ืจื•ืช, ืืœื ื›ื–ื” ืฉื›ื•ืชื‘ ื‘ืงืฉื”, ื ื™ื’ืฉ ืœืžืกื“ ื”ื ืชื•ื ื™ื ื•ืฉื•ืœื— ืชื’ื•ื‘ื” - ืคื•ื ืงืฆื™ื™ืช Lambda ืคื•ืชืจืช ืžืกืคืจ ื‘ืขื™ื•ืช: ืขื ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ ืฉืจืฉื•ืจ, ืžื“ืจื’ื™ื•ืช ื•ื›ื•'. ืื ื”ื”ื™ื’ื™ื•ืŸ ืฉืœื›ื ื‘ื ื•ื™ ื‘ืฆื•ืจื” ื›ื–ื•, ืื– ื‘ืขืชื™ื“ ืชื•ื›ืœื• ืœื”ืขื‘ื™ืจ ืืช ื”-Lambdas ื”ืœืœื• ืœืฉื™ืจื•ืชื™ ืžื™ืงืจื• ืื• ืœื”ืฉืชืžืฉ ื‘ืฉื™ืจื•ืชื™ ืฆื“ ืฉืœื™ืฉื™ ื›ืžื• ืืžื–ื•ืŸ. ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืฉื™ืžื•ืฉื™ืช, ื”ืจืขื™ื•ืŸ ืžืขื ื™ื™ืŸ. ืขื“ ื›ืžื” ื–ื” ืžื•ืฆื“ืง ืœืขืกืงื™ื ื”ื™ื ืขื“ื™ื™ืŸ ืฉืืœื” ืคืชื•ื—ื”.
ื ื™ืงื•ืœืื™: ืœืœื ืฉืจืช ืžืฉืžืฉ ื˜ื•ื‘ ื™ื•ืชืจ ืœืžืฉื™ืžื•ืช ืชืคืขื•ืœ ืžืืฉืจ ืœื—ื™ืฉื•ื‘ ืœื•ื’ื™ืงื” ืขืกืงื™ืช ื›ืœืฉื”ื™. ืื ื™ ืชืžื™ื“ ื—ื•ืฉื‘ ืขืœ ื–ื” ื›ืขืœ ืขื™ื‘ื•ื“ ืื™ืจื•ืขื™ื. ืื ื™ืฉ ืœืš ืืช ื–ื” ื‘ืืžื–ื•ืŸ, ืื ืืชื” ื‘-Kubernetes, ื›ืŸ. ืื—ืจืช, ืชืฆื˜ืจืš ืœื”ืฉืงื™ืข ื“ื™ ื”ืจื‘ื” ืžืืžืฅ ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช Serverless ื‘ืขืฆืžืš. ื™ืฉ ืฆื•ืจืš ืœื”ืกืชื›ืœ ืขืœ ืžืงืจื” ืขืกืงื™ ืกืคืฆื™ืคื™. ืœืžืฉืœ, ืื—ืช ื”ืžืฉื™ืžื•ืช ืฉืœื™ ืขื›ืฉื™ื• ื”ื™ื: ื›ืฉืงื‘ืฆื™ื ืžื•ืคื™ืขื™ื ื‘ื“ื™ืกืง ื‘ืคื•ืจืžื˜ ืžืกื•ื™ื, ืื ื™ ืฆืจื™ืš ืœื”ืขืœื•ืช ืื•ืชื ืœืงืคืงื. ืื ื™ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-WatchDog ืื• ื‘-Lambda. ืžื ืงื•ื“ืช ืžื‘ื˜ ื”ื’ื™ื•ื ื™ืช, ืฉืชื™ ื”ืืคืฉืจื•ื™ื•ืช ืžืชืื™ืžื•ืช, ืื‘ืœ ืžื‘ื—ื™ื ืช ื™ื™ืฉื•ื, Serverless ื™ื•ืชืจ ืžืกื•ื‘ืš, ื•ืื ื™ ืžืขื“ื™ืฃ ืืช ื”ื“ืจืš ื”ืคืฉื•ื˜ื” ื™ื•ืชืจ, ืœืœื Lambda.
ara: ืœืœื ืฉืจืช ื”ื•ื ืจืขื™ื•ืŸ ืžืขื ื™ื™ืŸ, ื™ืฉื™ื ื•ื™ืคื” ืžืื•ื“ ืžื‘ื—ื™ื ื” ื˜ื›ื ื™ืช. ื‘ืžื•ืงื“ื ืื• ื‘ืžืื•ื—ืจ, ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืชื’ื™ืข ืœื ืงื•ื“ื” ืฉื‘ื” ื›ืœ ืคื•ื ืงืฆื™ื” ืชื•ืฉืง ืชื•ืš ืคื—ื•ืช ืž-100 ืžื™ืœื™ืฉื ื™ื•ืช. ื•ืื–, ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ืœื ืชื”ื™ื” ืฉืืœื” ื”ืื ื–ืžืŸ ื”ื”ืžืชื ื” ืงืจื™ื˜ื™ ืœืžืฉืชืžืฉ. ื™ื—ื“ ืขื ื–ืืช, ื”ื™ืฉื™ืžื•ืช ืฉืœ Serverless, ื›ืคื™ ืฉื›ื‘ืจ ืืžืจื• ืขืžื™ืชื™ื, ืชืœื•ื™ื” ืœื—ืœื•ื˜ื™ืŸ ื‘ื‘ืขื™ื” ื”ืขืกืงื™ืช.

ืื ื• ืžื•ื“ื™ื ืœื ื•ืชื ื™ ื”ื—ืกื•ืช ืฉืœื ื• ืฉืขื–ืจื• ืœื ื• ืจื‘ื•ืช:

  • ื—ืœืœ ื•ืขื™ื“ื•ืช IT ยซืื‘ื™ื‘ยป ืœืืชืจ ื”ื›ื ืก.
  • ืœื•ื— ืื™ืจื•ืขื™ IT Runet-ID ื•ืคืจืกื•ื"ืื™ื ื˜ืจื ื˜ ื‘ืžืกืคืจื™ืยป ืœืชืžื™ื›ื” ื‘ืžื™ื“ืข ื•ื—ื“ืฉื•ืช.
  • ยซืืงืจื•ื ื™ืก"ืขื‘ื•ืจ ืžืชื ื•ืช.
  • ืื‘ื™ื˜ื• ืœื™ืฆื™ืจื” ืžืฉื•ืชืคืช.
  • "ื”ืื’ื•ื“ื” ืœืชืงืฉื•ืจืช ืืœืงื˜ืจื•ื ื™ืช" RAEC ืขืœ ืžืขื•ืจื‘ื•ืช ื•ื ื™ืกื™ื•ืŸ.
  • ื ื•ืชืŸ ื—ืกื•ืช ืขื™ืงืจื™ RUVDS - ืœื›ื•ืœื!

ืื—ื•ืจื™, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืœื ืฉืจืชื™ื - ื”ื“ื‘ืจื™ื ื”ื›ื™ ืžืขื ื™ื™ื ื™ื ืžื›ื ืก ื™ื•ืœื™ Habr

ืžืงื•ืจ: www.habr.com