පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

හබ්ර් සමුළුව මංගල කතාවක් නොවේ. මීට පෙර, අපි පුද්ගලයින් 300-400 ක් සඳහා තරමක් විශාල ටෝස්ටර් සිදුවීම් පැවැත්වුවෙමු, නමුත් දැන් අපි තීරණය කළේ කුඩා තේමාත්මක රැස්වීම් අදාළ වන බවයි, ඔබට සැකසීමට හැකි දිශාව, උදාහරණයක් ලෙස, අදහස් දැක්වීමේදී. මෙම ආකෘතියේ පළමු සම්මන්ත්‍රණය ජූලි මාසයේදී පවත්වන ලද අතර එය පසුපෙළ සංවර්ධනය සඳහා කැපවී ඇත. සහභාගිවන්නන් පසුපෙළ සිට ML දක්වා සංක්‍රමණය වීමේ විශේෂාංග සහ රාජ්‍ය සේවා ද්වාරයෙහි Quadrupel සේවාව සැලසුම් කිරීම පිළිබඳ වාර්තාවලට සවන් දුන් අතර Serverless සඳහා කැප වූ වට මේසයකට ද සහභාගී වූහ. මෙම අවස්ථාවට පෞද්ගලිකව සහභාගී වීමට නොහැකි වූ අය සඳහා, මෙම ලිපියෙන් අපි ඔබට වඩාත් රසවත් දේවල් කියන්නෙමු.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

පසුපෙළ සංවර්ධනයේ සිට යන්ත්‍ර ඉගෙනීම දක්වා

ML හි දත්ත ඉංජිනේරුවන් කරන්නේ කුමක්ද? පසුබිම් සංවර්ධකයෙකුගේ සහ ML ඉංජිනේරුවෙකුගේ කාර්යයන් සමාන සහ වෙනස් වන්නේ කෙසේද? ඔබේ පළමු වෘත්තිය ඔබේ දෙවන වෘත්තියට වෙනස් කිරීමට ඔබ ගත යුතු මාර්ගය කුමක්ද? වසර 10ක පසුපෙළ වැඩ කිරීමෙන් පසු යන්ත්‍ර ඉගෙනීමට යොමු වූ ඇලෙක්සැන්ඩර් පරිනොව් විසින් මෙය පවසා ඇත.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්
ඇලෙක්සැන්ඩර් පරිනොව්

අද ඇලෙක්සැන්ඩර් X5 සිල්ලර සමූහයේ පරිගණක දර්ශන පද්ධති ගෘහ නිර්මාණ ශිල්පියෙකු ලෙස සේවය කරන අතර පරිගණක දැක්ම සහ ගැඹුරු ඉගෙනීම (github.com/creafz) සම්බන්ධ විවෘත මූලාශ්‍ර ව්‍යාපෘති සඳහා දායක වේ. යන්ත්‍ර ඉගෙනීමේ තරඟ සඳහා වඩාත් ජනප්‍රිය වේදිකාව වන Kaggle Master (kaggle.com/creafz) හි ලෝක ශ්‍රේණිගත කිරීම්වල හොඳම 100 අතරට ඔහු සහභාගී වීමෙන් ඔහුගේ කුසලතා සනාථ වේ.

යන්ත්‍ර ඉගෙනීමට මාරු වන්නේ ඇයි?

වසර එකහමාරකට පෙර, Google හි ගැඹුරු ඉගෙනුම් මත පදනම් වූ කෘතිම බුද්ධි පර්යේෂණ ව්‍යාපෘතිය වන Google Brain හි ප්‍රධානී Jeff Dean, Google Translate හි කේත පේළි මිලියන භාගයක් රේඛා 500කින් පමණක් සමන්විත Tensor Flow ස්නායු ජාලයකින් ප්‍රතිස්ථාපනය කරන ලද ආකාරය විස්තර කළේය. ජාලය පුහුණු කිරීමෙන් පසු දත්තවල ගුණාත්මක භාවය වැඩි වූ අතර යටිතල පහසුකම් සරල විය. මෙය අපගේ දීප්තිමත් අනාගතය බව පෙනේ: අපට තවදුරටත් කේතය ලිවීමට අවශ්‍ය නැත, එය නියුරෝන සෑදීමට සහ ඒවා දත්ත වලින් පුරවා ගැනීමට ප්‍රමාණවත් වේ. නමුත් ප්රායෝගිකව සෑම දෙයක්ම වඩා සංකීර්ණ වේ.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්Google හි ML යටිතල පහසුකම්

ස්නායුක ජාල යනු යටිතල ව්‍යුහයේ කුඩා කොටසක් පමණි (ඉහත පින්තූරයේ ඇති කුඩා කළු චතුරස්‍රය). දත්ත ලබා ගැනීමට, එය සැකසීමට, ගබඩා කිරීමට, ගුණාත්මකභාවය පරීක්ෂා කිරීමට යනාදිය සඳහා තවත් බොහෝ සහායක පද්ධති අවශ්‍ය වේ, අපට පුහුණුව සඳහා යටිතල පහසුකම් අවශ්‍ය වේ, නිෂ්පාදනයේ යන්ත්‍ර ඉගෙනුම් කේතය යෙදවීම සහ මෙම කේතය පරීක්ෂා කිරීම. මෙම සියලු කාර්යයන් පසුබිම් සංවර්ධකයින් කරන දේට හරියටම සමාන වේ.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්යන්ත්‍ර ඉගෙනීමේ ක්‍රියාවලිය

ML සහ backend අතර වෙනස කුමක්ද?

සම්භාව්‍ය ක්‍රමලේඛනයේදී, අපි කේතය ලියන අතර මෙය වැඩසටහනේ හැසිරීම නියම කරයි. ML හි, අපට කුඩා ආකෘති කේතයක් සහ අපි ආකෘතියට විසි කරන දත්ත රාශියක් ඇත. ML හි දත්ත ඉතා වැදගත් වේ: විවිධ දත්ත මත පුහුණු කරන ලද එකම ආකෘතිය සම්පූර්ණයෙන්ම වෙනස් ප්රතිඵල පෙන්විය හැක. ගැටළුව වන්නේ දත්ත සෑම විටම පාහේ විසිරී ඇති අතර විවිධ පද්ධති (සම්බන්ධතා දත්ත සමුදායන්, NoSQL දත්ත සමුදායන්, ලඝු-සටහන්, ගොනු) ගබඩා කර ඇත.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්දත්ත අනුවාදනය

ML සඳහා සම්භාව්‍ය සංවර්ධනයේ දී මෙන් කේතය පමණක් නොව දත්ත ද අනුවාදනය කිරීම අවශ්‍ය වේ: ආකෘතිය පුහුණු කළේ කුමක් දැයි පැහැදිලිව අවබෝධ කර ගැනීම අවශ්‍ය වේ. මෙය සිදු කිරීම සඳහා, ඔබට ජනප්‍රිය Data Science Version Control library (dvc.org) භාවිතා කළ හැක.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්
දත්ත සලකුණු කිරීම

ඊළඟ කාර්යය වන්නේ දත්ත ලේබල් කිරීමයි. උදාහරණයක් ලෙස, පින්තූරයේ ඇති සියලුම වස්තූන් සලකුණු කරන්න හෝ එය අයත් වන්නේ කුමන පන්තියටදැයි කියන්න. මෙය සිදු කරනු ලබන්නේ Yandex.Toloka වැනි විශේෂ සේවාවන් මගිනි, API එකක් තිබීම මගින් කාර්යය බෙහෙවින් සරල කර ඇත. “මානව සාධකය” හේතුවෙන් දුෂ්කරතා පැන නගී: ඔබට එකම කාර්යය කාර්ය සාධනය කරන්නන් කිහිප දෙනෙකුට භාර දීමෙන් දත්තවල ගුණාත්මකභාවය වැඩි දියුණු කළ හැකි අතර දෝෂ අවම කර ගත හැකිය.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්ටෙන්සර් පුවරුවේ දෘශ්‍යකරණය

ප්‍රතිඵල සංසන්දනය කිරීමට සහ සමහර ප්‍රමිතික මත පදනම්ව හොඳම ආකෘතිය තෝරා ගැනීමට අත්හදා බැලීම් ලොග් කිරීම අවශ්‍ය වේ. දෘශ්‍යකරණය සඳහා විශාල මෙවලම් කට්ටලයක් ඇත - උදාහරණයක් ලෙස, ටෙන්සර් පුවරුව. නමුත් අත්හදා බැලීම් ගබඩා කිරීමට සුදුසු ක්රම නොමැත. කුඩා සමාගම් බොහෝ විට Excel පැතුරුම්පත සමඟ කටයුතු කරයි, විශාල ඒවා දත්ත ගබඩාවක ප්‍රතිඵල ගබඩා කිරීම සඳහා විශේෂ වේදිකා භාවිතා කරයි.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්යන්ත්‍ර ඉගෙනීම සඳහා බොහෝ වේදිකා ඇත, නමුත් ඒවා කිසිවක් අවශ්‍යතාවලින් 70% ක් ආවරණය නොකරයි

පුහුණු ආකෘතියක් නිෂ්පාදනයට යෙදවීමේදී කෙනෙකුට මුහුණ දීමට සිදු වන පළමු ගැටළුව වන්නේ දත්ත විද්‍යාඥයින්ගේ ප්‍රියතම මෙවලම වන Jupyter Notebook සම්බන්ධයෙනි. එහි කිසිදු මොඩියුලියක් නොමැත, එනම්, ප්‍රතිදානය යනු තාර්කික කෑලි - මොඩියුල වලට බෙදී නැති කේතයේ එවැනි “පාද රෙද්දකි”. සෑම දෙයක්ම මිශ්ර වී ඇත: පන්ති, කාර්යයන්, වින්යාස, ආදිය. මෙම කේතය අනුවාදය සහ පරීක්ෂා කිරීම අපහසු වේ.

මෙය සමඟ කටයුතු කරන්නේ කෙසේද? ඔබට Netflix වැනි ඔබම ඉල්ලා අස්විය හැකි අතර, මෙම ලැප්ටොප් පරිගණක සෘජුවම නිෂ්පාදනයට දියත් කිරීමට, ඒවාට දත්ත ආදානය ලෙස මාරු කිරීමට සහ ප්‍රතිඵල ලබා ගැනීමට ඉඩ සලසන ඔබේම වේදිකාවක් සාදාගත හැක. ඔබට ආකෘතිය නිෂ්පාදනයට පෙරළන සංවර්ධකයින්ට කේතය සාමාන්‍යයෙන් නැවත ලිවීමට බල කළ හැකිය, එය මොඩියුලවලට කඩා දමන්න. නමුත් මෙම ප්රවේශය සමඟ එය වැරැද්දක් කිරීමට පහසු වන අතර, ආකෘතිය අපේක්ෂිත පරිදි ක්රියා නොකරනු ඇත. එබැවින්, කදිම විකල්පය වන්නේ ආදර්ශ කේතය සඳහා 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)

මෙම ප්රවේශයේ ගැටලුව වන්නේ කාර්ය සාධන සීමාවයි. අපි හිතමු දත්ත විද්‍යාඥයින් විසින් ලියන ලද Phyton කේතය මන්දගාමී වන අතර අපට උපරිම කාර්ය සාධනය මිරිකා ගැනීමට අවශ්‍ය බව. මෙය සිදු කිරීම සඳහා, ඔබට කේතය ස්වදේශීය බවට පරිවර්තනය කිරීම හෝ නිෂ්පාදනය සඳහා සකස් කර ඇති වෙනත් රාමුවක් බවට පරිවර්තනය කිරීම සඳහා මෙවලම් භාවිතා කළ හැකිය. සෑම රාමුවක් සඳහාම එවැනි මෙවලම් තිබේ, නමුත් පරමාදර්ශී ඒවා නොමැත; ඔබට ඒවා ඔබම එකතු කිරීමට සිදුවේ.

ML හි යටිතල පහසුකම් සාමාන්‍ය පසුබිමක ඇති ආකාරයටම වේ. Docker සහ Kubernetes ඇත, Docker සඳහා පමණක් ඔබට NVIDIA වෙතින් ධාවන කාලය ස්ථාපනය කිරීමට අවශ්‍ය වේ, එමඟින් කන්ටේනරය තුළ ඇති ක්‍රියාවලීන් සත්කාරකයේ වීඩියෝ කාඩ්පත් වෙත ප්‍රවේශ වීමට ඉඩ සලසයි. Kubernetes හට වීඩියෝ කාඩ්පත් සමඟ සේවාදායක කළමනාකරණය කිරීමට හැකි වන පරිදි ප්ලගිනයක් අවශ්‍ය වේ.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

සම්භාව්‍ය ක්‍රමලේඛනය මෙන් නොව, ML සම්බන්ධයෙන් ගත් කල, යටිතල ව්‍යුහයේ විවිධ චලනය වන මූලද්‍රව්‍ය පරීක්ෂා කර පරීක්ෂා කළ යුතු වේ - උදාහරණයක් ලෙස, දත්ත සැකසුම් කේතය, ආකෘති පුහුණු නල මාර්ගය සහ නිෂ්පාදනය (ඉහත රූප සටහන බලන්න). විවිධ නල මාර්ග සම්බන්ධ කරන කේතය පරීක්ෂා කිරීම වැදගත් වේ: බොහෝ කෑලි ඇති අතර, මොඩියුලයේ මායිම් වලදී ගැටළු බොහෝ විට පැන නගී.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්
AutoML ක්‍රියා කරන ආකාරය

AutoML සේවා ඔබේ අරමුණු සඳහා ප්‍රශස්ත මාදිලිය තෝරා එය පුහුණු කිරීමට පොරොන්දු වේ. නමුත් ඔබ තේරුම් ගත යුතුය: ML හි දත්ත ඉතා වැදගත් වේ, ප්රතිඵලය එහි සූදානම මත රඳා පවතී. සලකුණු කිරීම සිදු කරනු ලබන්නේ මිනිසුන් විසිනි, එය දෝෂ වලින් පිරී ඇත. දැඩි පාලනයකින් තොරව, ප්රතිඵලය කුණු විය හැකි අතර, ක්රියාවලිය ස්වයංක්රීය කිරීමට තවමත් නොහැකි ය; විශේෂඥයින් - දත්ත විද්යාඥයින් විසින් සත්යාපනය කිරීම අවශ්ය වේ. AutoML බිඳවැටෙන්නේ මෙහිදීය. නමුත් ගෘහ නිර්මාණ ශිල්පයක් තෝරා ගැනීම සඳහා එය ප්රයෝජනවත් විය හැකිය - ඔබ දැනටමත් දත්ත සකස් කර ඇති විට සහ හොඳම ආකෘතිය සොයා ගැනීම සඳහා අත්හදා බැලීම් මාලාවක් ක්රියාත්මක කිරීමට අවශ්ය වේ.

යන්ත්‍ර ඉගෙනීමට පිවිසෙන්නේ කෙසේද

ML වෙත පිවිසීමට ඇති පහසුම ක්‍රමය නම්, ඔබ Python හි සංවර්ධනය කරන්නේ නම්, එය සියලු ගැඹුරු ඉගෙනුම් රාමු (සහ සාමාන්‍ය රාමු) තුළ භාවිතා වේ. මෙම ක්‍රියාකාරකම් ක්ෂේත්‍රය සඳහා මෙම භාෂාව ප්‍රායෝගිකව අනිවාර්ය වේ. C++ සමහර පරිගණක දර්ශන කාර්යයන් සඳහා භාවිතා වේ, උදාහරණයක් ලෙස, ස්වයං-රිය පදවන මෝටර් රථ සඳහා පාලන පද්ධති. JavaScript සහ Shell - දෘශ්‍යකරණය සහ බ්‍රවුසරයේ නියුරෝනයක් ධාවනය කිරීම වැනි අමුතු දේවල් සඳහා. Big Data සමඟ වැඩ කරන විට සහ යන්ත්‍ර ඉගෙනීම සඳහා Java සහ Scala භාවිතා වේ. ආර් සහ ජූලියා ගණිතමය සංඛ්යාලේඛන අධ්යයනය කරන අය විසින් ආදරය කරනු ලැබේ.

ආරම්භ කිරීම සඳහා ප්‍රායෝගික අත්දැකීම් ලබා ගැනීමට වඩාත් පහසුම ක්‍රමය Kaggle වේ; වේදිකාවේ එක් තරඟයකට සහභාගී වීමෙන් න්‍යාය අධ්‍යයනය කිරීමට වසරකට වැඩි කාලයක් ලබා දේ. මෙම වේදිකාවේදී ඔබට වෙනත් කෙනෙකුගේ පළ කරන ලද සහ අදහස් දැක්වූ කේතයක් ගෙන එය වැඩිදියුණු කිරීමට උත්සාහ කළ හැකිය, ඔබේ අරමුණු සඳහා එය ප්‍රශස්ත කරන්න. ප්‍රසාද දීමනාව - ඔබේ Kaggle ශ්‍රේණිය ඔබේ වැටුපට බලපායි.

තවත් විකල්පයක් වන්නේ පසුපෙළ සංවර්ධකයෙකු ලෙස ML කණ්ඩායමට සම්බන්ධ වීමයි. ඔබේ සගයන්ට ඔවුන්ගේ ගැටළු විසඳීමට උපකාර කිරීමෙන් ඔබට අත්දැකීම් ලබා ගත හැකි බොහෝ යන්ත්‍ර ඉගෙනුම් ආරම්භයන් තිබේ. අවසාන වශයෙන්, ඔබට දත්ත විද්‍යා ප්‍රජාවන්ගෙන් එකකට සම්බන්ධ විය හැක - විවෘත දත්ත විද්‍යාව (ods.ai) සහ වෙනත්.

කථිකයා මාතෘකාව පිළිබඳ අමතර තොරතුරු සබැඳියේ පළ කළේය https://bit.ly/backend-to-ml

"Quadrupel" - "රාජ්‍ය සේවා" ද්වාරයෙහි ඉලක්කගත දැනුම්දීම් සේවාවකි.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්Evgeny Smirnov

මීළඟ කථිකයා වූයේ චතුරස්‍රය ගැන කතා කළ ඉ-රාජ්‍ය යටිතල පහසුකම් සංවර්ධන දෙපාර්තමේන්තුවේ ප්‍රධානී එව්ගනි ස්මිර්නොව් ය. මෙය Runet හි වැඩිපුරම නරඹන ලද රජයේ සම්පත වන Gosuslugi ද්වාරය (gosuslugi.ru) සඳහා ඉලක්කගත දැනුම් දීමේ සේවාවකි. දෛනික ප්‍රේක්ෂකයින් මිලියන 2,6 ක් වන අතර, සමස්තයක් ලෙස වෙබ් අඩවියේ ලියාපදිංචි පරිශීලකයින් මිලියන 90 ක් සිටින අතර එයින් මිලියන 60 ක් තහවුරු වේ. ද්වාර API මත පැටවීම RPS 30 කි.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්රාජ්ය සේවාවන්හි පසුබිමෙහි භාවිතා කරන තාක්ෂණයන්

"Quadrupel" යනු ඉලක්කගත දැනුම්දීම් සේවාවක් වන අතර, පරිශීලකයාට විශේෂ දැනුම්දීම් නීති සැකසීමෙන් ඔහුට වඩාත් සුදුසු මොහොතේ සේවාවක් සඳහා පිරිනැමීමක් ලැබේ. සේවාව සංවර්ධනය කිරීමේදී ප්‍රධාන අවශ්‍යතා වූයේ නම්‍යශීලී සැකසුම් සහ තැපැල් සඳහා ප්‍රමාණවත් කාලයයි.

Quadrupel ක්‍රියා කරන්නේ කෙසේද?

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

ඉහත රූප සටහන මඟින් රියදුරු බලපත්‍රයක් ප්‍රතිස්ථාපනය කිරීමේ අවශ්‍යතාවය සහිත තත්වයක් පිළිබඳ උදාහරණය භාවිතා කරමින් Quadrupel හි ක්‍රියාකාරී නීති වලින් එකක් පෙන්වයි. පළමුව, සේවාව මාසයක් තුළ කල් ඉකුත්වන දිනය අවසන් වන පරිශීලකයින් සොයයි. ඔවුන්ට සුදුසු සේවාවක් ලබා ගැනීම සඳහා පිරිනැමීමක් සහිත බැනරයක් පෙන්වනු ලබන අතර විද්‍යුත් තැපෑලෙන් පණිවිඩයක් යවනු ලැබේ. කාලසීමාව දැනටමත් අවසන් වී ඇති පරිශීලකයින් සඳහා, බැනරය සහ විද්‍යුත් තැපෑල වෙනස් වේ. සාර්ථක අයිතිවාසිකම් හුවමාරුවකින් පසු, පරිශීලකයාට වෙනත් දැනුම්දීම් ලැබේ - අනන්‍යතාවයේ දත්ත යාවත්කාලීන කිරීමට යෝජනාවක් සමඟ.

තාක්‍ෂණික දෘෂ්ටි කෝණයකින්, මේවා කේතය ලියා ඇති විචිත්‍රවත් ස්ක්‍රිප්ට් වේ. ආදානය දත්ත වේ, ප්‍රතිදානය සත්‍ය/අසත්‍යය, ගැළපෙන/නොගැළපේ. සම්පුර්ණයෙන්ම නීති 50 කට වඩා ඇත - පරිශීලකයාගේ උපන්දිනය තීරණය කිරීමේ සිට (වත්මන් දිනය පරිශීලකයාගේ උපන්දිනයට සමාන වේ) සංකීර්ණ තත්වයන් දක්වා. සෑම දිනකම, මෙම නීති මගින් තරඟ මිලියනයක් පමණ හඳුනා ගනී - දැනුම් දිය යුතු පුද්ගලයින්.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්Quadrupel දැනුම්දීම් නාලිකා

Quadrupel හි ආවරණය යටතේ පරිශීලක දත්ත ගබඩා කර ඇති දත්ත සමුදායක් සහ යෙදුම් තුනක් ඇත: 

  • කම්කරුවා දත්ත යාවත්කාලීන කිරීම සඳහා අදහස් කෙරේ.
  • විවේක API එම බැනර් රැගෙන ද්වාර සහ ජංගම යෙදුම වෙත ලබා දෙයි.
  • උපලේඛකයා බැනර් නැවත ගණනය කිරීම හෝ විශාල තැපැල් යැවීමේ වැඩ දියත් කරයි.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

දත්ත යාවත්කාලීන කිරීමට, පසු අන්තය සිදුවීම් මත ධාවනය වේ. අතුරුමුහුණත් දෙකක් - විවේකය හෝ JMS. සිදුවීම් රාශියක් ඇත; සුරැකීමට සහ සැකසීමට පෙර, අනවශ්‍ය ඉල්ලීම් නොකිරීමට ඒවා එකතු කර ඇත. දත්ත සමුදාය, දත්ත ගබඩා කර ඇති වගුව, ප්‍රධාන අගය ගබඩාවක් ලෙස පෙනේ - පරිශීලක යතුර සහ අගයම: අදාළ ලේඛන තිබීම හෝ නොපැවතීම පෙන්නුම් කරන කොඩි, ඒවායේ වලංගු කාලය, සේවා අනුපිළිවෙල පිළිබඳ සංඛ්‍යාලේඛන මෙම පරිශීලක, සහ යනාදිය.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

දත්ත සුරැකීමෙන් පසු, බැනර් වහාම නැවත ගණනය කිරීම සඳහා JMS හි කාර්යයක් සකසා ඇත - මෙය වහාම වෙබයේ ප්රදර්ශනය කළ යුතුය. පද්ධතිය රාත්‍රියේ ආරම්භ වේ: කාර්යයන් පරිශීලක කාල පරතරයන්හිදී JMS වෙත දමනු ලැබේ, ඒ අනුව නීති නැවත ගණනය කළ යුතුය. මෙය නැවත ගණනය කිරීමේදී සම්බන්ධ වන ප්‍රොසෙසරයන් විසින් ලබා ගනී. මීලඟට, සැකසුම් ප්රතිඵල ඊළඟ පෝලිමට යන්න, එය දත්ත සමුදායේ බැනර් සුරැකීම හෝ සේවාව වෙත පරිශීලක දැනුම්දීම් කාර්යයන් යවයි. ක්‍රියාවලියට පැය 5-7ක් ගතවේ, ඔබට සෑම විටම හසුරුවන්න එකතු කිරීමට හෝ නව හසුරුවන්න සමඟ අවස්ථා මතු කිරීමට හැකි නිසා එය පහසුවෙන් පරිමාණය කළ හැකිය.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

සේවාව තරමක් හොඳින් ක්රියා කරයි. නමුත් වැඩි පරිශීලකයින් සිටින බැවින් දත්ත පරිමාව වර්ධනය වේ. මෙය දත්ත සමුදායේ බර වැඩිවීමට හේතු වේ - Rest API අනුරුව දෙස බලන කාරණය පවා සැලකිල්ලට ගනී. දෙවන කරුණ වන්නේ JMS වන අතර, එහි ඉහළ මතක පරිභෝජනය හේතුවෙන් එය එතරම් සුදුසු නොවේ. JMS බිඳ වැටීමට සහ සැකසීම නතර කිරීමට හේතු වන පෝලිම් පිටාර ගැලීමේ ඉහළ අවදානමක් ඇත. මේකෙන් පස්සේ JMS උස්සන්න බෑ ලොග් ටික අස්කරන්නේ නැතුව.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

බෙදා හැරීම භාවිතයෙන් ගැටළු විසඳීමට සැලසුම් කර ඇති අතර එමඟින් දත්ත සමුදායේ බර සමතුලිත කිරීමට ඉඩ සලසයි. දත්ත ගබඩා කිරීමේ ක්‍රමය වෙනස් කිරීමටත්, JMS කෆ්කා ලෙස වෙනස් කිරීමටත් සැලසුම් කර ඇත - මතක ගැටළු නිරාකරණය කරන වඩාත් දෝෂ-ඉවසන විසඳුමක්.

පසුපෙළ-සේවාව Vs. සේවාදායකය රහිත

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්
වමේ සිට දකුණට: Alexander Borgart, Andrey Tomilenko, Nikolay Markov, Ara Israelian

පසුපෙළ සේවාවක් ලෙසද නැතිනම් Serverless විසඳුමක් ලෙසද? වට මේසයේ මෙම දැවෙන ගැටලුව පිළිබඳ සාකච්ඡාවට සහභාගී වූවන් මෙසේය.

  • Ara Israelian, CTO CTO සහ Scorcode හි නිර්මාතෘ.
  • නිකොලායි මාර්කොව්, පෙළගැස්වූ පර්යේෂණ සමූහයේ ජ්‍යෙෂ්ඨ දත්ත ඉංජිනේරු.
  • ඇන්ඩ්රේ ටොමිලෙන්කෝ, RUVDS සංවර්ධන දෙපාර්තමේන්තුවේ ප්රධානියා. 

සංවාදය ජ්යෙෂ්ඨ සංවර්ධක ඇලෙක්සැන්ඩර් බෝර්ගාර්ට් විසින් පාලනය කරන ලදී. ශ්‍රාවකයින් ද සහභාගී වූ වාද විවාද අපි කෙටියෙන් ඉදිරිපත් කරමු.

— ඔබේ අවබෝධය අනුව Serverless යනු කුමක්ද?

ඇන්ඩෲ: මෙය පරිගණක ආකෘතියකි - ප්‍රතිඵලය දත්ත මත පමණක් රඳා පවතින පරිදි දත්ත සැකසිය යුතු Lambda ශ්‍රිතයකි. මෙම යෙදුම පැමිණියේ Google වෙතින් හෝ Amazon සහ එහි AWS Lambda සේවාවෙනි. සපයන්නෙකුට එවැනි කාර්යයක් හැසිරවීමට පහසු වන්නේ ඒ සඳහා ධාරිතාව සංචිතයක් වෙන් කිරීමෙනි. එකම සේවාදායකයන් සඳහා විවිධ පරිශීලකයින් ස්වාධීනව ගිණුම්ගත කළ හැකිය.
නිකොලායි: සරලව කිවහොත්, අපි අපගේ තොරතුරු තාක්ෂණ යටිතල පහසුකම් සහ ව්‍යාපාරික තර්කනයේ යම් කොටසක් වලාකුළට, බාහිරින් ලබා ගැනීමට මාරු කරමු.
මැකෝ: සංවර්ධකයින්ගේ පැත්තෙන් - සම්පත් ඉතිරි කිරීමට හොඳ උත්සාහයක්, අලෙවිකරුවන්ගේ පැත්තෙන් - වැඩි මුදලක් උපයා ගැනීමට.

— Serverless යනු microservices හා සමානද?

නිකොලායි: නැත, Serverless යනු ගෘහ නිර්මාණ ශිල්පීය සංවිධානයකි. ක්ෂුද්‍ර සේවාවක් යනු යම් තර්කයක පරමාණුක ඒකකයකි. Serverless යනු ප්‍රවේශයක් මිස "වෙනම ආයතනයක්" නොවේ.
මැකෝ: Serverless ශ්‍රිතයක් microservice එකකට ඇසුරුම් කළ හැක, නමුත් මෙය තවදුරටත් Serverless නොවනු ඇත, එය Lambda ශ්‍රිතයක් වීම නවත්වනු ඇත. Serverless හි, කාර්යයක් ක්‍රියා කිරීම ආරම්භ වන්නේ එය ඉල්ලා සිටින මොහොතේ පමණි.
ඇන්ඩෲ: ඔවුන් ඔවුන්ගේ ජීවිත කාලය තුළ වෙනස් වේ. අපි Lambda කාර්යය දියත් කර එය අමතක කළෙමු. එය තත්පර කිහිපයක් සඳහා ක්‍රියා කළ අතර, ඊළඟ සේවාදායකයාට එහි ඉල්ලීම වෙනත් භෞතික යන්ත්‍රයකින් ක්‍රියා කළ හැක.

- වඩා හොඳ කොරපොතු මොනවාද?

මැකෝ: තිරස් අතට පරිමාණය කරන විට, Lambda ශ්‍රිතයන් ක්ෂුද්‍ර සේවා වලට සමාන ලෙස හැසිරේ.
නිකොලායි: ඔබ කුමන අනුරූ සංඛ්‍යාවක් සැකසුවත්, ඒවායින් බොහොමයක් ඇත; Serverless පරිමාණය කිරීමේදී ගැටළු නොමැත. මම Kubernetes හි අනුරූ කට්ටලයක් සාදා, "කොහේ හරි" අවස්ථා 20ක් දියත් කළ අතර, නිර්නාමික සබැඳි 20ක් ඔබ වෙත ආපසු එවන ලදී. ඉදිරියට!

— Serverless මත පසුබිමක් ලිවිය හැකිද?

ඇන්ඩෲ: න්යායිකව, නමුත් එය තේරුමක් නැත. Lambda ශ්‍රිතයන් තනි ගබඩාවක් මත රඳා පවතිනු ඇත - අපි සහතිකය සහතික කළ යුතුය. උදාහරණයක් ලෙස, පරිශීලකයෙකු යම් ගනුදෙනුවක් සිදු කර ඇත්නම්, ඊළඟ වතාවේ ඔහු සම්බන්ධ වන විට ඔහු බැලිය යුතුය: ගනුදෙනුව සිදු කර ඇත, අරමුදල් බැර කර ඇත. සියලුම Lambda කාර්යයන් මෙම ඇමතුම මත අවහිර කරනු ඇත. ඇත්ත වශයෙන්ම, Serverless ශ්‍රිතයන් සමූහයක් දත්ත සමුදායට එක් බාධක ප්‍රවේශ ස්ථානයක් සහිත තනි සේවාවක් බවට පත්වනු ඇත.

— සේවාදායක රහිත ගෘහ නිර්මාණ ශිල්පය භාවිතා කිරීම අර්ථවත් වන්නේ කුමන අවස්ථා වලදීද?

ඇන්ඩෲ: හවුල් ගබඩා කිරීම අවශ්ය නොවන කාර්යයන් - එකම පතල් කැණීම, අවහිර කිරීම. ගොඩක් ගණන් කරන්න ඕන තැන. ඔබට විශාල පරිගණක බලයක් තිබේ නම්, ඔබට “එහි ඇති දෙයක හැෂ් ගණනය කරන්න...” වැනි ශ්‍රිතයක් නිර්වචනය කළ හැකිය, නමුත් ඔබට දත්ත ගබඩා කිරීමේ ගැටලුව විසඳා ගත හැකිය, උදාහරණයක් ලෙස, Amazon වෙතින් Lambda ශ්‍රිත සහ ඒවායේ බෙදා හරින ලද ගබඩාව. . ඔබ නිතිපතා සේවාවක් ලියන බව පෙනේ. Lambda කාර්යයන් ගබඩාවට ප්‍රවේශ වන අතර පරිශීලකයාට යම් ආකාරයක ප්‍රතිචාරයක් ලබා දෙනු ඇත.
නිකොලායි: Serverless හි ධාවනය වන බහාලුම් සම්පත් වලින් අතිශයින් සීමිතය. කුඩා මතකයක් සහ අනෙක් සියල්ල ඇත. නමුත් ඔබගේ සම්පූර්ණ යටිතල පහසුකම් කිසියම් වලාකුළක් මත සම්පූර්ණයෙන්ම යොදවා තිබේ නම් - Google, Amazon - සහ ඔබට ඔවුන් සමඟ ස්ථිර ගිවිසුමක් තිබේ නම්, මේ සියල්ල සඳහා අයවැයක් තිබේ නම්, සමහර කාර්යයන් සඳහා ඔබට Serverless බහාලුම් භාවිතා කළ හැකිය. මෙම යටිතල ව්‍යුහය තුළ සිටීම අවශ්‍ය වේ, මන්ද සෑම දෙයක්ම නිශ්චිත පරිසරයක භාවිතය සඳහා සකස් කර ඇත. එනම්, ඔබ වලාකුළු යටිතල පහසුකම් සඳහා සෑම දෙයක්ම බැඳීමට සූදානම් නම්, ඔබට අත්හදා බැලීම් කළ හැකිය. වාසිය නම් ඔබට මෙම යටිතල පහසුකම් කළමනාකරණය කිරීමට අවශ්‍ය නොවීමයි.
මැකෝ: Serverless ඔබට Kubernetes, Docker, Kafka ස්ථාපනය කිරීම සහ යනාදිය කළමනාකරණය කිරීමට අවශ්‍ය නොවන බව ස්වයං රැවටීමකි. Amazon සහ Google එකම තමයි මේක ස්ථාපනය කරන්නේ. තවත් දෙයක් නම් ඔබට SLA එකක් තිබීමයි. ඔබ විසින්ම කේතනය කරනවාට වඩා සියල්ල බාහිරින් ලබා ගත හැක.
ඇන්ඩෲ: Serverless ම මිල අඩුයි, නමුත් ඔබට අනෙකුත් Amazon සේවාවන් සඳහා විශාල මුදලක් ගෙවිය යුතුය - උදාහරණයක් ලෙස, දත්ත සමුදාය. API ගේට්ටුවට පිස්සුවෙන් සල්ලි අය කරපු නිසා මිනිස්සු දැනටමත් ඔවුන්ට නඩු දාලා.
මැකෝ: අපි මුදල් ගැන කතා කරන්නේ නම්, ඔබ මෙම කරුණ සැලකිල්ලට ගත යුතුය: සියලුම කේතය සර්වර්ලස් වෙත මාරු කිරීම සඳහා ඔබට සමාගමේ සම්පූර්ණ සංවර්ධන ක්‍රමවේදය අංශක 180 ක් හැරවීමට සිදුවේ. මේ සඳහා බොහෝ කාලයක් සහ මුදල් ගතවනු ඇත.

— Amazon සහ Google වෙතින් ගෙවන ලද Serverless සඳහා සුදුසු විකල්ප තිබේද?

නිකොලායි: Kubernetes හි, ඔබ යම් ආකාරයක රැකියාවක් දියත් කරයි, එය ධාවනය වී මිය යයි - මෙය වාස්තු විද්‍යාත්මක දෘෂ්ටි කෝණයකින් තරමක් සර්වර් රහිත ය. ඔබට පෝලිම් සහ දත්ත සමුදායන් සමඟ සැබවින්ම සිත්ගන්නා ව්‍යාපාරික තර්කයක් නිර්මාණය කිරීමට අවශ්‍ය නම්, ඔබ ඒ ගැන තව ටිකක් සිතා බැලිය යුතුය. කුබර්නෙට්ස් හැර යාමෙන් තොරව මේ සියල්ල විසඳිය හැකිය. අමතර ක්‍රියාත්මක කිරීම ඇදගෙන යාමට මම කරදර නොවෙමි.

— Serverless හි සිදුවන දේ නිරීක්ෂණය කිරීම කොතරම් වැදගත්ද?

මැකෝ: පද්ධති ගෘහ නිර්මාණ ශිල්පය සහ ව්‍යාපාර අවශ්‍යතා මත රඳා පවතී. අත්‍යවශ්‍යයෙන්ම, විය හැකි ගැටළු තේරුම් ගැනීමට devops කණ්ඩායමට උපකාර වන වාර්තාකරණය සැපයුම්කරු විසින් සැපයිය යුතුය.
නිකොලායි: Amazon සතුව CloudWatch ඇත, එහිදී Lambda වෙතින් ඇතුළුව සියලුම ලොග් ප්‍රවාහය කෙරේ. ලොග් යොමු කිරීම ඒකාබද්ධ කර බැලීම, අනතුරු ඇඟවීම් ආදිය සඳහා වෙනම මෙවලමක් භාවිතා කරන්න. ඔබ ආරම්භ කරන බහාලුම්වලට නියෝජිතයන් පිරවිය හැකිය.

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

- අපි එය සාරාංශ කරමු.

ඇන්ඩෲ: Lambda කාර්යයන් ගැන සිතීම ප්රයෝජනවත් වේ. ඔබ තනිවම සේවාවක් නිර්මාණය කරන්නේ නම් - ක්ෂුද්‍ර සේවාවක් නොව, ඉල්ලීමක් ලියන, දත්ත සමුදායට ප්‍රවේශ වී ප්‍රතිචාරයක් යවන එකක් - Lambda ශ්‍රිතය ගැටළු ගණනාවක් විසඳයි: බහු නූල්, පරිමාණය සහ යනාදිය සමඟ. ඔබේ තර්කනය මේ ආකාරයෙන් ගොඩනගා ඇත්නම්, අනාගතයේදී ඔබට මෙම Lambdas microservices වෙත මාරු කිරීමට හෝ Amazon වැනි තෙවන පාර්ශවීය සේවාවන් භාවිතා කිරීමට හැකි වනු ඇත. තාක්ෂණය ප්රයෝජනවත් වේ, අදහස සිත්ගන්නා සුළුය. ව්‍යාපාර සඳහා එය කෙතරම් සාධාරණද යන්න තවමත් විවෘත ප්‍රශ්නයකි.
Nikolay: Serverless සමහර ව්‍යාපාරික තර්ක ගණනය කිරීමට වඩා මෙහෙයුම් කාර්යයන් සඳහා වඩා හොඳින් භාවිතා වේ. මම හැම විටම එය සිදුවීම් සැකසුම් ලෙස සලකමි. ඔබට එය Amazon හි තිබේ නම්, ඔබ Kubernetes හි නම්, ඔව්. එසේ නොමැතිනම්, Serverless ලබා ගැනීමට සහ ඔබම ක්‍රියාත්මක වීමට ඔබට විශාල උත්සාහයක් දැරීමට සිදුවේ. නිශ්චිත ව්යාපාර නඩුවක් දෙස බැලීම අවශ්ය වේ. උදාහරණයක් ලෙස, දැන් මගේ එක් කාර්යයක් වන්නේ: ගොනු යම් ආකෘතියකින් තැටියේ දිස්වන විට, මම ඒවා Kafka වෙත උඩුගත කළ යුතුය. මට WatchDog හෝ Lambda භාවිතා කළ හැක. තාර්කික දෘෂ්ටි කෝණයකින්, විකල්ප දෙකම සුදුසු ය, නමුත් ක්රියාත්මක කිරීම අනුව, Serverless වඩාත් සංකීර්ණ වන අතර, මම Lambda නොමැතිව සරල ක්රමයට කැමතියි.
මැකෝ: Serverless යනු සිත්ගන්නාසුළු, අදාළ වන සහ ඉතා තාක්ෂණික වශයෙන් සුන්දර අදහසකි. ඉක්මනින් හෝ පසුව, තාක්‍ෂණය ඕනෑම කාර්යයක් මිලි තත්පර 100කට අඩු කාලයකින් දියත් කරන තැනට ළඟා වනු ඇත. එවිට, ප්‍රතිපත්තිමය වශයෙන්, පරිශීලකයාට පොරොත්තු කාලය තීරනාත්මකද යන්න පිළිබඳ ප්‍රශ්නයක් නොමැත. ඒ අතරම, සගයන් දැනටමත් පවසා ඇති පරිදි Serverless හි අදාළත්වය සම්පූර්ණයෙන්ම රඳා පවතින්නේ ව්‍යාපාරික ගැටලුව මත ය.

අපට බොහෝ උපකාර කළ අපගේ අනුග්‍රාහකයින්ට අපි ස්තූතිවන්ත වෙමු:

  • තොරතුරු තාක්ෂණ සම්මන්ත්‍රණ අවකාශය "වසන්තය» සම්මන්ත්‍රණ අඩවිය සඳහා.
  • තොරතුරු තාක්ෂණ සිදුවීම් දින දර්ශනය Runet-ID සහ ප්රකාශනය "අන්තර්ජාලය අංක වලින්»  තොරතුරු සහය සහ පුවත් සඳහා.
  • «ඇක්රොනිස්"තෑගි සඳහා.
  • අවිටෝ සම-නිර්මාණය සඳහා.
  • "ඉලෙක්ට්‍රොනික සන්නිවේදනය සඳහා සංගමය" RAEC සහභාගීත්වය සහ අත්දැකීම් සඳහා.
  • ප්‍රධාන අනුග්‍රාහකයා RUVDS - සියල්ලන් සඳහා!

පසුපෙළ, යන්ත්‍ර ඉගෙනීම සහ සේවාදායක රහිත - ජූලි හබ්ර් සමුළුවේ වඩාත් රසවත් දේවල්

මූලාශ්රය: www.habr.com