ืืขืืืช ืืืจ ืืื ื ืกืืคืืจ ืืืืจื. ืืขืืจ ืขืจืื ื ืืืจืืขื ืืืกืืจ ืืืืืื ืืืื ื-300-400 ืืืฉ, ืื ืืขืช ืืืืื ื ืฉืืืื ืจืืืื ืืืื ืคืืืฉืืช ื ืืฉืืืืช ืงืื ืืช, ืฉืืช ืืืืืื ืฉืืื ืชืืืื ืืงืืืข, ืืืฉื, ืืืขืจืืช. ืืื ืก ืืจืืฉืื ืืคืืจืื ืื ื ืขืจื ืืืืื ืืืืงืืฉ ืืคืืชืื ืขืืจืคื. ืืืฉืชืชืคืื ืืืืื ื ืืืืืืืื ืขื ืชืืื ืืช ืืืขืืจ ืื-backend ื-ML ืืขื ืขืืฆืื ืฉืืจืืช Quadrupel ืืคืืจืื ืฉืืจืืชื ืืืืื ื, ืืื ืืงืื ืืืง ืืฉืืืื ืขืืื ืฉืืืงืืฉ ื-Serverless. ืืื ืฉืื ืืฆืืื ืืืืืข ืืืืจืืข ืืืืคื ืืืฉื, ืืคืืกื ืืื ืื ืื ื ืืกืคืจืื ืืื ืืช ืืืืจืื ืืื ืืขื ืืื ืื.
ืืคืืชืื ืืืืจื ืืขื ืืืืืช ืืืื ื
ืื ืขืืฉืื ืืื ืืกื ื ืชืื ืื ื-ML? ืืืฆื ืืืฉืืืืช ืฉื ืืคืชื backend ืืืื ืืก ML ืืืืืช ืืฉืื ืืช? ืืืืื ืืจื ืืชื ืฆืจืื ืืืืช ืืื ืืฉื ืืช ืืช ืืืงืฆืืข ืืจืืฉืื ืฉืื ืืฉื ื ืฉืื? ืื ื ืืืจ ืขื ืืื ืืืืกื ืืจ ืคืืจืื ืื, ืฉื ืื ืก ืืืืืืช ืืืื ื ืืืืจ 10 ืฉื ืื ืฉื ืขืืืื ืขืืจืคืืช.
ืืืืกื ืืจ ืคืืจืื ืื
ืืืื ืืืืกื ืืจ ืขืืื ืืืืจืืื ืืขืจืืืช ืจืืืื ืืืืืฉืืช ื-X5 Retail Group ืืชืืจื ืืคืจืืืงืืื ืฉื ืงืื ืคืชืื ืืงืฉืืจืื ืืจืืืื ืืืืืฉืืช ืืืืืื ืขืืืงื (github.com/creafz). ืืืฉืืจืื ืืืืฉืจืื ืขื ืืื ืืฉืชืชืคืืชื ื-100 ืืืืืืืื ืืืืจืื ืืขืืืื ืฉื Kaggle Master (kaggle.com/creafz), ืืคืืืคืืจืื ืืคืืคืืืจืืช ืืืืชืจ ืืชืืจืืืืช ืืืืืช ืืืื ื.
ืืื ืืขืืืจ ืืืืืืช ืืืื ื
ืืคื ื ืฉื ื ืืืฆื ืชืืืจ ื'ืฃ ืืื, ืจืืฉ Google Brain, ืคืจืืืงื ืืืงืจ ืืื ื ืืืืืืชืืช ืืืืกืกืช ืืืืื ืขืืืงื ืฉื ืืืื, ืืืฆื ืืฆื ืืืืืื ืฉืืจืืช ืงืื ืืืืื ืืจื ืกืืืื ืืืืืคื ืืจืฉืช ื ืืืจืื ืื Tensor Flow ืืืืจืืืช ื-500 ืงืืืื ืืืื. ืืืืจ ืืืฉืจืช ืืจืฉืช, ืืืืืช ืื ืชืื ืื ืขืืชื ืืืชืฉืชืืช ืืคืื ืืคืฉืืื ืืืชืจ. ื ืจืื ืฉืืื ืืขืชืื ืืืืืืจ ืฉืื ื: ืื ืื ื ืืืจ ืื ืฆืจืืืื ืืืชืื ืงืื, ืื ืืกืคืืง ืืื ืืืฆืืจ ื ืืืจืื ืื ืืืืื ืืืชื ืื ืชืื ืื. ืืื ืืคืืขื ืืื ืืจืื ืืืชืจ ืืกืืื.
ืชืฉืชืืช ML ืืืืื
ืจืฉืชืืช ืขืฆืืืืช ืื ืจืง ืืืง ืงืื ืืืชืฉืชืืช (ืืจืืืืข ืืฉืืืจ ืืงืื ืืชืืื ื ืืืขืื). ืืขืจืืืช ืขืืจ ืจืืืช ื ืืกืคืืช ื ืืจืฉืืช ืืื ืืงืื ื ืชืื ืื, ืืขืื ืืืชื, ืืืืกื ืืืชื, ืืืืืง ืืืืืช ืืื', ืื ืื ื ืฆืจืืืื ืชืฉืชืืช ืืืืจืื, ืคืจืืกืช ืงืื ืืืืืช ืืืื ื ืืืืฆืืจ ืืืืืงืช ืงืื ืื. ืื ืืืฉืืืืช ืืืื ืืืืืช ืืืืืง ืืื ืฉืขืืฉืื ืืคืชืื backend.
ืชืืืื ืืืืืช ืืืื ื
ืื ืืืืื ืืื ML ื-backend?
ืืชืื ืืช ืงืืืกื, ืื ื ืืืชืืื ืงืื ืืื ืืืชืื ืืช ืืชื ืืืืช ืืชืืื ืืช. ื-ML, ืืฉ ืื ื ืงืื ืืืื ืงืื ืืืจืื ื ืชืื ืื ืฉืื ืื ื ืืืจืงืื ืขื ืืืืื. ื ืชืื ืื ื-ML ืืฉืืืื ืืืื: ืืืชื ืืืื ืืืืื ืขื ื ืชืื ืื ืฉืื ืื ืืืื ืืืจืืืช ืชืืฆืืืช ืฉืื ืืช ืืืืืืื. ืืืขืื ืืื ืฉืื ืชืื ืื ืืืขื ืชืืื ืืคืืืจืื ืืืืืืกื ืื ืืืขืจืืืช ืฉืื ืืช (ืืืืจื ืืืืข ืืืกื, ืืกืื ื ืชืื ืื ืฉื NoSQL, ืืืื ืื, ืงืืฆืื).
ื ืืืื ืืจืกืืืช ื ืชืื ืื
ML ืืืจืฉ ืืืจืกืืืช ืื ืจืง ืฉื ืืงืื, ืืื ืืคืืชืื ืงืืืกื, ืืื ืื ืืช ืื ืชืื ืื: ืืฉ ืฆืืจื ืืืืื ืืืืจืืจ ืขื ืื ืืืืื ืืืืฉืจ. ืืฉื ืื, ืืชื ืืืื ืืืฉืชืืฉ ืืกืคืจืืืช ืืงืจืช ืืจืกืืืช ืฉื ืืืขื ืื ืชืื ืื ืืคืืคืืืจืืื (dvc.org).
ืกืืืื ื ืชืื ืื
ืืืฉืืื ืืืื ืืื ืชืืื ื ืชืื ืื. ืืืืืื, ืกืื ืืช ืื ืืืืืืืงืืื ืืชืืื ื ืื ืืืืจ ืืืืื ืืืืงื ืืื ืฉืืื. ืื ื ืขืฉื ืขื ืืื ืฉืืจืืชืื ืืืืืืื ืืื Yandex.Toloka, ืืขืืืื ืืืชื ืืคืฉืืช ืืืื ืขื ืืื ื ืืืืืช ืฉื API. ืงืฉืืื ื ืืืขืื ื"ืืืืจื ืืื ืืฉื": ื ืืชื ืืฉืคืจ ืืช ืืืืืช ืื ืชืื ืื ืืืฆืืฆื ืฉืืืืืช ืืืื ืืืื ืขื ืืื ืืคืงืืช ืืืชื ืืฉืืื ืืืกืคืจ ืืืฆืขืื.
ืืืืื ื- Tensor Board
ืจืืฉืื ืฉื ื ืืกืืืื ื ืืืฅ ืืื ืืืฉืืืช ืชืืฆืืืช ืืืืืืจ ืืช ืืืืื ืืืื ืืืืชืจ ืขื ืกืื ืืื ืืืืื. ืืฉ ืกื ืืืื ืฉื ืืืื ืืืืืื - ืืืฉื Tensor Board. ืืื ืืื ืืจืืื ืืืืืืืืืช ืืืืกื ื ืืกืืืื. ืืืจืืช ืงืื ืืช ืืกืชืคืงืืช ืืจืื ืืืืืืื ืืงืกื, ืืขืื ืฉืืืืืืืช ืืฉืชืืฉืืช ืืคืืืคืืจืืืช ืืืืืืืช ืืืืกืื ืชืืฆืืืช ืืืกื ื ืชืื ืื.
ืืฉื ื ืคืืืคืืจืืืช ืจืืืช ืืืืืืช ืืืื ื, ืื ืืฃ ืืืช ืืื ืื ืืืกื 70% ืืืฆืจืืื
ืืืขืื ืืจืืฉืื ื ืฉืืื ืฆืจืื ืืืชืืืื ืืืชื ืืืฉืจ ืืื ืืกืื ืืืื ืืืืื ืืืืฆืืจ ืงืฉืืจื ืืืื ืืืืื ืขื ืืืขื ื ื ืชืื ืื - Jupyter Notebook. ืืื ืื ืืืืืืจืืืช, ืืืืืจ, ืืคืื ืืื "ืื ืจืืืืื" ืืื ืฉื ืงืื ืฉืืื ื ืืืืืง ืืืชืืืืช ืืืืืืช - ืืืืืืื. ืืื ืืชืขืจืื: ืืืืงืืช, ืคืื ืงืฆืืืช, ืชืฆืืจืืช ืืื'. ืงืฉื ืืืจืกื ืืืืืืง ืืช ืืงืื ืืื.
ืืื ืืืชืืืื ืขื ืื? ืืชื ืืืื ืืืชืคืืจ ืืขืฆืื, ืืื ื ืืคืืืงืก, ืืืืฆืืจ ืคืืืคืืจืื ืืฉืื ืืืืคืฉืจืช ืื ืืืคืขืื ืืช ืืืืฉืืื ืื ืืืืื ืืืื ืืฉืืจืืช ืืืืฆืืจ, ืืืขืืืจ ืืืืื ื ืชืื ืื ืืงืื ืืืงืื ืชืืฆืืืช. ืืชื ืืืื ืืืืฅ ืืช ืืืคืชืืื ืฉืืืืืืื ืืช ืืืืื ืืืืฆืืจ ืืฉืืชื ืืช ืืงืื ืืจืืื, ืืคืจืง ืืืชื ืืืืืืืื. ืืื ืขื ืืืฉื ืื ืงื ืืืขืืช, ืืืืืื ืื ืืขืืื ืืืชืืื ื. ืืื, ืืืคืฉืจืืช ืืืืืืืืืช ืืื ืืืกืืจ ืืช ืืฉืืืืฉ ื-Jupyter Notebook ืขืืืจ ืงืื ืืื. ืื, ืืืืื, ืืืขื ื ืื ืชืื ืื ืืกืืืื ืืื.
ืืื ืืงืืคืกื ืฉืืืจื
ืืืจื ืืงืื ืืืืชืจ ืืืืื ืืื ืืืืฆืืจ ืืื ืืืฉืชืืฉ ืื ืืงืืคืกื ืฉืืืจื. ืืฉ ืื ืกืื ืฉื ืืืืงื ืืืื, ืงืืืืช ืืช ืืืฉืงืืืืช ืฉื ืืืืื (ืคืจืืืจืื ืฉื ืื ืืืจืื ืื ืฉื ืืจืฉืช ืืืืืื ืช), ืืื ืืชื ืืืชืื ืืช ืืืืืงื ืืื (ืงืืจืืื ืืฉืืืช ืืืืืื, ืืืื ื ืืืชื ืืชืืื ื), ืชืงืืื ืขืจื ืืกืืื ืืืืื ืืคืื. ืื ืฉืงืืจื ืืคื ืื ืื ืืฉื ื.
ืชืืืื ืฉืจืช ื ืคืจื ืขื ืืื
ื ืืชื ืื ืืืขืืืช ืชืืืื ื ืคืจื ืืกืืื ืืืฉืืื ืืืชื ืืจื ืชืืจ 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 ืฆืจืื ืชืืกืฃ ืืื ืฉืืื ืืืื ืื ืื ืฉืจืชืื ืขื ืืจืืืกื ืืกื.
ืื ืืืื ืืชืื ืืช ืงืืืกื, ืืืงืจื ืฉื ML ืืฉื ื ืืืื ืืื ื ืขืื ืจืืื ืืฉืื ืื ืืชืฉืชืืช ืฉืฆืจืื ืืืืืง ืืืืืืง โ ืืืฉื, ืงืื ืขืืืื ื ืชืื ืื, ืฆืื ืืจ ืืืืื ืืืื ืืืืฆืืจ (ืจืื ืชืจืฉืื ืืืขืื). ืืฉืื ืืืืืง ืืช ืืงืื ืฉืืืืจ ืืื ืืืงืื ืฉืื ืื ืฉื ืฆืื ืืจืืช: ืืฉ ืืจืื ืืืงืื, ืืืขืชืื ืงืจืืืืช ืืชืขืืจืจืืช ืืขืืืช ืืืืืืืช ืืืืืืืื.
ืืื AutoML ืขืืื
ืฉืืจืืชื AutoML ืืืืืืื ืืืืืจ ืืช ืืืื ืืืืคืืืืื ืืืืจืืช ืฉืื ืืืืืฉืืจ ืืืชื. ืืื ืืชื ืฆืจืื ืืืืื: ื ืชืื ืื ืืฉืืืื ืืืื ื-ML, ืืชืืฆืื ืชืืืื ืืืื ืชื. ืืกืืืื ื ืขืฉื ืขื ืืื ืื ืฉืื, ืืฉืจ ืขืืืก ืืฉืืืืืช. ืืื ืืงืจื ืงืคืื ืืช, ืืชืืฆืื ืขืืืื ืืืืืช ืืื, ืืขืืืื ืื ื ืืชื ืืืคืื ืืช ืืชืืืื ืืืืืืืื; ืืฉ ืฆืืจื ืืืืืืช ืขื ืืื ืืืืืื - ืืืขื ื ื ืชืื ืื. ืื ืืืงืื ืฉืื AutoML ืืชืงืืงื. ืืื ืื ืืืื ืืืืืช ืฉืืืืฉื ืืืืืจืช ืืจืืืืงืืืจื - ืืืฉืจ ืืืจ ืืื ืชื ืืช ืื ืชืื ืื ืืจืืฆืื ืืืจืืฅ ืกืืจื ืฉื ื ืืกืืืื ืืื ืืืฆืื ืืช ืืืืื ืืืื ืืืืชืจ.
ืืื ืืืืื ืก ืืืืืืช ืืืื ื
ืืืจื ืืงืื ืืืืชืจ ืืืืื ืก ื-ML ืืื ืื ืืชื ืืคืชื ื-Python, ืืืฉืืฉ ืืื ืืกืืจืืช ืืืืืื ืืขืืืงื (ืืืืกืืจืืช ืืจืืืืืช). ืฉืคื ืื ืืื ืืืขื ืืืื ืขืืืจ ืชืืื ืคืขืืืืช ืื. C++ ืืฉืืฉ ืขืืืจ ืืื ืืฉืืืืช ืจืืืื ืืืืืฉืืช, ืืืฉื, ืืืขืจืืืช ืืงืจื ืืืืื ืืืช ืื ืืืื ืขืฆืืืช. JavaScript ื-Shell - ืืืืืื ืืืืจืื ืืืืจืื ืืื ืืคืขืืช ื ืืืจืื ืืืคืืคื. Java ื-Scala ืืฉืืฉืื ืืขืืืื ืขื ืืื ืืืื ืืืืืืช ืืืื ื. R ืื'ืืืื ืืืืืื ืขื ืื ืฉืื ืฉืืืืืื ืกืืืืกืืืงื ืืชืืืืช.
ืืืจื ืื ืืื ืืืืชืจ ืืงืื ื ืืกืืื ืืขืฉื ืืืืชืืืื ืืื ื-Kaggle; ืืฉืชืชืคืืช ืืืืช ืืชืืจืืืืช ืืคืืืคืืจืื ืืขื ืืงื ืืืชืจ ืืฉื ื ืฉื ืืืืื ืชืืืืจืื. ืืคืืืคืืจืื ืื ืืชื ืืืื ืืงืืช ืงืื ืฉืคืืจืกื ืืืืื ืฉื ืืืฉืื ืืืจ ืืื ืกืืช ืืฉืคืจ ืืืชื, ืืืืขื ืืืชื ืืืืจืืช ืฉืื. ืืื ืืก - ืืจืืช Kaggle ืฉืื โโืืฉืคืืขื ืขื ืืฉืืจ ืฉืื.
ืืคืฉืจืืช ื ืืกืคืช ืืื ืืืฆืืจืฃ ืืฆืืืช ML ืืืคืชื backend. ืืฉ ืืจืื ืกืืืจื-ืืคืื ืฉื ืืืืืช ืืืื ื ืฉืืื ืืชื ืืืื ืืฆืืืจ ื ืืกืืื ืขื ืืื ืขืืจื ืืขืืืชืื ืืคืชืืจ ืืช ืืืขืืืช ืฉืืื. ืืืกืืฃ, ืชืืืื ืืืฆืืจืฃ ืืืืช ืืงืืืืืช ืืืขื ื ืื ืชืื ืื - Open Data Science (ods.ai) ืืืืจืืช.
ืืืืืจ ืคืจืกื ืืืืข ื ืืกืฃ ืขื ืื ืืฉื ืืงืืฉืืจ
"Quadrupel" - ืฉืืจืืช ืฉื ืืืืขืืช ืืืืงืืืช ืฉื ืืคืืจืื "ืฉืืจืืชื ืืืื ื"
ืืืื ื ืกืืืจื ืื
ืืืืืจ ืืื ืืื ืจืืฉ ืืืืงืช ืคืืชืื ืชืฉืชืืืช ืืืืฉื ืืืงืืจืื ื, ืืืื ื ืกืืืจื ืื, ืฉืืืืจ ืขื ืงืืืืืจืืคื. ืืื ืฉืืจืืช ืืืืขืืช ืืืืงื ืขืืืจ ืคืืจืื Gosuslugi (gosuslugi.ru), ืืืฉืื ืืืืฉืืชื ืืคืืคืืืจื ืืืืชืจ ื- Runet. ืืงืื ืืืืื ืืื 2,6 ืืืืืื, ืืกื ืืื ืืฉ 90 ืืืืืื ืืฉืชืืฉืื ืจืฉืืืื ืืืชืจ, ืืชืืื 60 ืืืืืื ืืืืฉืจืื. ืืขืืืก ืขื ื-API ืฉื ืืคืืจืื ืืื 30 ืืืฃ RPS.
ืืื ืืืืืืืช ืืืฉืืฉืืช ืืงืฆื ืืืืืจื ืฉื ืฉืืจืืชื ืืืืื ื
"ืงืืืืืจืืคื" ืืื ื ืฉืืจืืช ืืชืจืืืช ืืืืงื, ืืขืืจืชื ืืงืื ืืืฉืชืืฉ ืืฆืขื ืืฉืืจืืช ืืจืืข ืืืชืืื ืื ืืืืชืจ ืืืืฆืขืืช ืืืืจืช ืืืื ืืชืจืื ืืืืืืื. ืืืจืืฉืืช ืืขืืงืจืืืช ืืคืืชืื ืืฉืืจืืช ืืื ืืืืจืืช ืืืืฉืืช ืืืื ืืืื ืืืืืืจ.
ืืื ืขืืื Quadrupel?
ืืชืจืฉืื ืืขืื ืืฆืื ืืช ืืื ืืืืื ืืคืขืืื ืฉื ื-Quadrupel ืชืื ืฉืืืืฉ ืืืืืื ืฉื ืืฆื ืขื ืฆืืจื ืืืืืคืช ืจืืฉืืื ื ืืืื. ืจืืฉืืช, ืืฉืืจืืช ืืืคืฉ ืืฉืชืืฉืื ืฉืชืืจืื ืืชืคืืื ืฉืืื ืืคืื ืืขืื ืืืืฉ. ืืืฆื ืืื ืืื ืจ ืขื ืืฆืขื ืืงืื ืืช ืืฉืืจืืช ืืืชืืื ืื ืฉืืืช ืืืืขื ืืืื"ื. ืขืืืจ ืืืชื ืืฉืชืืฉืื ืฉืืืืขื ืืืืจืื ืฉืืื ืืืจ ืคื, ืืืื ืจ ืืืืืื ืืฉืชื ืื. ืืืืจ ืืืืคืช ืืืืืืช ืืืฆืืืช, ืืืฉืชืืฉ ืืงืื ืืชืจืืืช ืืืจืืช - ืขื ืืฆืขื ืืขืืื ืืช ืื ืชืื ืื ืืืืืช.
ืื ืงืืืช ืืื ืืื ืืช, ืืืืืจ ืืชืกืจืืืื ืืจืืืืื ืฉืืื ืืชืื ืืงืื. ืืงืื ืืื ื ืชืื ืื, ืืคืื ื ืืื/ืื ื ืืื, ืชืืื/ืื ืชืื. ืืฉื ื ืืืชืจ ื-50 ืืืืื ืืกื ืืื - ืืงืืืขืช ืืื ืืืืืืช ืฉื ืืืฉืชืืฉ (ืืชืืจืื ืื ืืืื ืฉืืื ืืชืืจืื ืืืืื ืฉื ืืืฉืชืืฉ) ืืขื ืืืฆืืื ืืืจืืืื. ืืื ืืื, ืืืืืื ืืืื ืืืืื ืืืืืืื ืืชืืืืช - ืื ืฉืื ืฉืฆืจืื ืืืืืืข โโืืื.
ืขืจืืฆื ืืืืขืืช ืงืืืืืจืืคื
ืืชืืช ืืืืกื ืืื ืืข ืฉื Quadrupel ืืฉ ืืกื ื ืชืื ืื ืฉืื ืืืืืกื ืื ื ืชืื ื ืืฉืชืืฉ, ืืฉืืืฉื ืืืฉืืืื:
- ืขืืื ืืืืขื ืืขืืืื ื ืชืื ืื.
- ืื ืืืช API ืืืกืฃ ืืืขืืืจ ืืช ืืืื ืจืื ืขืฆืื ืืคืืจืื ืืืืคืืืงืฆืืืช ืื ืืื.
- ืืชืืื ืืฉืืงื ืขืืืื ืขื ืืืฉืื ืืืืฉ ืฉื ืืื ืจืื ืื ืืืืืจ ืืืื ื.
ะะปั ะพะฑะฝะพะฒะปะตะฝะธั ะดะฐะฝะฝัั ะฑัะบะตะฝะด ัะพะฑััะธะนะฝะพ ะพัะธะตะฝัะธัะพะฒะฐะฝ. ะะฒะฐ ะธะฝัะตััะตะนัะฐ โ ัะตัั ะธะปะธ JMS. ะกะพะฑััะธะน ะผะฝะพะณะพ, ะฟะตัะตะด ัะพั ัะฐะฝะตะฝะธะตะผ ะธ ะพะฑัะฐะฑะพัะบะพะน ะพะฝะธ ะฐะณัะตะณะธัััััั, ััะพะฑั ะฝะต ะดะตะปะฐัั ะปะธัะฝะธั ะทะฐะฟัะพัะพะฒ. ะกะฐะผะฐ ะะ, ัะฐะฑะปะธัะบะฐ, ะฒ ะบะพัะพัะพะน ั ัะฐะฝัััั ะดะฐะฝะฝัะต, ะฒัะณะปัะดะธั ะบะฐะบ key value ั ัะฐะฝะธะปะธัะต โ ะบะปัั ะฟะพะปัะทะพะฒะฐัะตะปั ะธ ัะฐะผะพ ะทะฝะฐัะตะฝะธะต: ัะปะฐะถะบะธ, ะพะฑะพะทะฝะฐัะฐััะธะต ะฝะฐะปะธัะธะต ะธะปะธ ะพััััััะฒะธะต ัะพะพัะฒะตัััะฒัััะธั ะดะพะบัะผะตะฝัะพะฒ, ะธั ััะพะบ ะดะตะนััะฒะธั, ะฐะณัะตะณะธัะพะฒะฐะฝะฝะฐั ััะฐัะธััะธะบะฐ ะฟะพ ะทะฐะบะฐะทั ััะปัะณ ััะธะผ ะฟะพะปัะทะพะฒะฐัะตะปะตะผ ะธ ะฟัะพัะตะต.
ืืืืจ ืฉืืืจืช ืื ืชืื ืื, ืืืืืจืช ืืฉืืื ื-JMS ืื ืฉืืืื ืจืื ืืืืฉืืื ืืืืฉ ืืืืคื ืืืืื - ืืฉ ืืืฆืื ืืืช ืืื ืืจืฉืช. ืืืขืจืืช ืืชืืืื ืืืืื: ืืฉืืืืช ื ืืจืงืืช ื-JMS ืืืจืืืื ืืื ืฉื ืืฉืชืืฉืื, ืืคืืื ืืฉ ืืืฉื ืืืืฉ ืืช ืืืืืื. ืื ื ืงืื ืขื ืืื ืืืขืืืื ืืืขืืจืืื ืืืืฉืื ืืืืฉ. ืืืืจ ืืื, ืชืืฆืืืช ืืขืืืื ืขืืืจืืช ืืชืืจ ืืื, ืฉืฉืืืจ ืืช ืืืื ืจืื ืืืกื ืื ืชืื ืื ืื ืฉืืื ืืฉืืืืช ืืชืจืื ืืืฉืชืืฉ ืืฉืืจืืช. ืืชืืืื ืืืจื 5-7 ืฉืขืืช, ืืื ื ืืชื ืืืจืืื ืืงืืืช ืืฉื ืืขืืืื ืฉืืชื ืชืืื ืืืื ืืืืกืืฃ ืืืคืืื ืื ืืืขืืืช ืืืคืขืื ืขื ืืืคืืื ืืืฉืื.
ืืฉืืจืืช ืขืืื ืื ืืื. ืืื ื ืคื ืื ืชืื ืื ืืื ืืื ืฉืืฉ ืืืชืจ ืืฉืชืืฉืื. ืื ืืืืื ืืขืืืื ืืขืืืก ืขื ืืกื ืื ืชืื ืื - ืื ืื ืืืงืืื ืืืฉืืื ืืช ืืขืืืื ืฉื-Rest API ืืกืชืื ืขื ืืขืชืง. ืื ืงืืื ืืฉื ืืื ืืื JMS, ืฉืืคื ืฉืืชืืจืจ, ืื ืืชืืื ืืืืืื ืืืื ืฆืจืืืช ืืืืืจืื ืืืืืื ืฉืื. ืงืืื ืกืืืื ืืืื ืฉื ืืฆืคืช ืชืืจ ืฉืืืจืื ื-JMS ืืงืจืืก ืืืืคืกืงืช ืืขืืืื. ืื ืืคืฉืจ ืืืขืืืช ืืช JMS ืืืจื ืื ืืื ืื ืงืืช ืืช ืืืืื ืื.
ืืชืืื ื ืืคืชืืจ ืืช ืืืขืืืช ืืืืฆืขืืช ืจืืกืืง, ืฉืืืคืฉืจ ืืืืื ืืขืืืก ืขื ืืกืืก ืื ืชืื ืื. ืืฉ ืื ืชืืื ืืืช ืืฉื ืืช ืืช ืกืืืืช ืืืกืื ืื ืชืื ืื, ืืืฉื ืืช ืืช JMS ืืงืคืงื - ืคืชืจืื ืกืืืื ื ืืืชืจ ืืชืงืืืช ืฉืืคืชืืจ ืืขืืืช ืืืืจืื.
Backend-as-a-Service ืืขืืืช ืืื ืฉืจืช
ืืฉืืื ืืืืื: ืืืืกื ืืจ ืืืจืืจื, ืื ืืจืื ืืืืืื ืงื, ื ืืงืืืื ืืจืงืื, ืืจื ืืฉืจืืืืื
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. ืฉืื ืืขืืจืช ืืืื ืื ืืืฉืชืืฉ ืืืื ื ืคืจื ืืฆืคืืื, ืืชืจืื ืืื ืืืื. ืืชื ืืืื ืืืื ืืก ืกืืื ืื ืืชืื ืืืืืืื ืฉืืชื ืืชืืื.
- ืืื ื ืกืื ืืช ืื.
ืื ืืจื: ืืฉืืื ืขื ืคืื ืงืฆืืืช Lambda ืืื ืฉืืืืฉืืช. ืื ืืชื ืืืฆืจ ืฉืืจืืช ืืขืฆืื - ืื ืืืงืจื-ืฉืืจืืช, ืืื ืืื ืฉืืืชื ืืงืฉื, ื ืืืฉ ืืืกื ืื ืชืื ืื ืืฉืืื ืชืืืื - ืคืื ืงืฆืืืช Lambda ืคืืชืจืช ืืกืคืจ ืืขืืืช: ืขื ืจืืืื ืืืืื ืฉืจืฉืืจ, ืืืจืืืืช ืืื'. ืื ืืืืืืื ืฉืืื ืื ืื ืืฆืืจื ืืื, ืื ืืขืชืื ืชืืืื ืืืขืืืจ ืืช ื-Lambdas ืืืื ืืฉืืจืืชื ืืืงืจื ืื ืืืฉืชืืฉ ืืฉืืจืืชื ืฆื ืฉืืืฉื ืืื ืืืืื. ืืืื ืืืืืื ืฉืืืืฉืืช, ืืจืขืืื ืืขื ืืื. ืขื ืืื ืื ืืืฆืืง ืืขืกืงืื ืืื ืขืืืื ืฉืืื ืคืชืืื.
ื ืืงืืืื: ืืื ืฉืจืช ืืฉืืฉ ืืื ืืืชืจ ืืืฉืืืืช ืชืคืขืื ืืืฉืจ ืืืืฉืื ืืืืืงื ืขืกืงืืช ืืืฉืื. ืื ื ืชืืื ืืืฉื ืขื ืื ืืขื ืขืืืื ืืืจืืขืื. ืื ืืฉ ืื ืืช ืื ืืืืืื, ืื ืืชื ื-Kubernetes, ืื. ืืืจืช, ืชืฆืืจื ืืืฉืงืืข ืื ืืจืื ืืืืฅ ืืื ืืืคืขืื ืืช Serverless ืืขืฆืื. ืืฉ ืฆืืจื ืืืกืชืื ืขื ืืงืจื ืขืกืงื ืกืคืฆืืคื. ืืืฉื, ืืืช ืืืฉืืืืช ืฉืื ืขืืฉืื ืืื: ืืฉืงืืฆืื ืืืคืืขืื ืืืืกืง ืืคืืจืื ืืกืืื, ืื ื ืฆืจืื ืืืขืืืช ืืืชื ืืงืคืงื. ืื ื ืืืื ืืืฉืชืืฉ ื-WatchDog ืื ื-Lambda. ืื ืงืืืช ืืื ืืืืื ืืช, ืฉืชื ืืืคืฉืจืืืืช ืืชืืืืืช, ืืื ืืืืื ืช ืืืฉืื, Serverless ืืืชืจ ืืกืืื, ืืื ื ืืขืืืฃ ืืช ืืืจื ืืคืฉืืื ืืืชืจ, ืืื Lambda.
ara: ืืื ืฉืจืช ืืื ืจืขืืื ืืขื ืืื, ืืฉืื ืืืคื ืืืื ืืืืื ื ืืื ืืช. ืืืืงืื ืื ืืืืืืจ, ืืืื ืืืืืื ืชืืืข ืื ืงืืื ืฉืื ืื ืคืื ืงืฆืื ืชืืฉืง ืชืื ืคืืืช ื-100 ืืืืืฉื ืืืช. ืืื, ืืืืคื ืขืงืจืื ื, ืื ืชืืื ืฉืืื ืืื ืืื ืืืืชื ื ืงืจืืื ืืืฉืชืืฉ. ืืื ืขื ืืืช, ืืืฉืืืืช ืฉื Serverless, ืืคื ืฉืืืจ ืืืจื ืขืืืชืื, ืชืืืื ืืืืืืื ืืืขืื ืืขืกืงืืช.
ืื ื ืืืืื ืื ืืชื ื ืืืกืืช ืฉืื ื ืฉืขืืจื ืื ื ืจืืืช:
- ืืื ืืขืืืืช IT ยซ
ืืืื ยป ืืืชืจ ืืื ืก. - ืืื ืืืจืืขื IT
Runet-ID ืืคืจืกืื"ืืื ืืจื ื ืืืกืคืจืื ยป ืืชืืืื ืืืืืข ืืืืฉืืช. - ยซ
ืืงืจืื ืืก "ืขืืืจ ืืชื ืืช. ืืืืื ืืืฆืืจื ืืฉืืชืคืช.- "ืืืืืื ืืชืงืฉืืจืช ืืืงืืจืื ืืช"
RAEC ืขื ืืขืืจืืืช ืื ืืกืืื. - ื ืืชื ืืกืืช ืขืืงืจื
RUVDS - ืืืืื!
ืืงืืจ: www.habr.com