ඊශ්රායලයේ පළමු DevOps සහතිකයේ ආරම්භකයින් සහ උපදේශකයෙකු වන Otomato මෘදුකාංගයේ නිර්මාතෘ සහ අධ්යක්ෂ ඇන්ටන් වයිස් පසුගිය වසරේ කතා කළේය.
අපි වාර්තාවේ පෙළ පිටපතක් සකස් කර ඇත.
සුභ උදෑසනක්
අඛණ්ඩව දෙවන වසර සඳහා මොස්කව්හි DevOpsDays, මෙම වේදිකාවේ මගේ දෙවන අවස්ථාව මෙයයි, ඔබගෙන් බොහෝ දෙනෙක් මෙම කාමරයේ දෙවන වරටත් සිටිති. එයින් අදහස් කරන්නේ කුමක් ද? මෙයින් අදහස් කරන්නේ රුසියාවේ DevOps ව්යාපාරය වර්ධනය වෙමින්, ගුණ කරමින්, සහ වඩාත්ම වැදගත් දෙය නම්, එයින් අදහස් වන්නේ 2018 දී DevOps යනු කුමක්ද යන්න ගැන කතා කිරීමට කාලය පැමිණ ඇති බවයි.
DevOps දැනටමත් 2018 දී වෘත්තියක් යැයි සිතන ඔබේ දෑත් ඔසවන්න? එහෙම තියෙනවා. "DevOps Engineer" යනුවෙන් සඳහන් රැකියා විස්තරය සහිත DevOps ඉංජිනේරුවන් කාමරයේ සිටීද? කාමරයේ DevOps කළමනාකරුවන් සිටීද? එහෙම එකක් නැහැ. DevOps ගෘහ නිර්මාණ ශිල්පීන්? එසේම නැත. මදි. ඔවුන් DevOps ඉංජිනේරුවෙකු යැයි කිසිවෙකු නොකියන බව ඇත්තද?
ඉතින් ඔබ බොහෝ දෙනා සිතන්නේ මෙය විරෝධී රටාවක් ලෙසද? එවැනි වෘත්තියක් නොතිබිය යුතු බව? අපට අවශ්ය ඕනෑම දෙයක් අපට සිතිය හැකිය, නමුත් අප සිතමින් සිටින අතරතුර, කර්මාන්තය DevOps හොරණෑවේ හඬ වෙත ගාම්භීර ලෙස ඉදිරියට ගමන් කරයි.
DevDevOps නම් නව මාතෘකාවක් ගැන අසා ඇත්තේ කවුද? මෙය සංවර්ධකයින් සහ devops අතර ඵලදායී සහයෝගීතාවයක් සඳහා ඉඩ සලසන නව තාක්ෂණයකි. හා එතරම් අලුත් නොවේ. Twitter විසින් විනිශ්චය කිරීම, ඔවුන් දැනටමත් වසර 4 කට පෙර මේ ගැන කතා කිරීමට පටන් ගත්හ. මේ වන තුරු, මේ සඳහා උනන්දුව වර්ධනය වෙමින් වර්ධනය වෙමින් පවතී, එනම් ගැටලුවක් තිබේ. ගැටලුව විසඳිය යුතුය.
අපි නිර්මාණශීලී පුද්ගලයන්, අපි සැහැල්ලුවෙන් විවේක ගන්නේ නැහැ. අපි කියන්නේ: DevOps යනු ප්රමාණවත් තරම් විස්තීර්ණ වචනයක් නොවේ; එයට තවමත් විවිධ, රසවත් අංග සියල්ලම නොමැත. තවද අපි අපගේ රහස් රසායනාගාර වෙත ගොස් රසවත් විකෘති නිෂ්පාදනය කිරීමට පටන් ගනිමු: DevTestOps, GitOps, DevSecOps, BizDevOps, ProdOps.
ලොජික් එක යකඩයි නේද? අපගේ බෙදා හැරීමේ පද්ධතිය ක්රියාකාරී නොවේ, අපගේ පද්ධති අස්ථායී වන අතර අපගේ පරිශීලකයින් සෑහීමකට පත් නොවේ, නියමිත වේලාවට මෘදුකාංග නිකුත් කිරීමට අපට කාලය නැත, අපි අයවැයට නොගැලපේ. අපි මේ සියල්ල විසඳන්නේ කෙසේද? අපි අලුත් වචනයක් සමඟ එන්නෙමු! එය "Ops" සමඟ අවසන් වන අතර ගැටළුව විසඳනු ලැබේ.
එබැවින් මම මෙම ප්රවේශය ලෙස හඳුන්වමි - "Ops, සහ ගැටළුව විසඳා ඇත."
අපි මේ සියල්ල ඉදිරිපත් කළේ ඇයිද යන්න අපටම මතක් කළහොත් මේ සියල්ල පසුබිමට මැකී යයි. මෘදුකාංග බෙදා හැරීම සහ මෙම ක්රියාවලිය තුළ අපගේම කාර්යය බාධාවකින් තොරව, වේදනා රහිත, කාර්යක්ෂම, සහ වඩාත්ම වැදගත් ලෙස, හැකිතාක් ප්රීතිමත් කිරීමට අපි මෙම සම්පූර්ණ DevOps දෙය ඉදිරිපත් කළෙමු.
DevOps වේදනාවෙන් වර්ධනය විය. ඒ වගේම අපි දුක් විඳලා මහන්සියි. මේ සියල්ල සිදු වීම සඳහා, අපි සදාහරිත භාවිතයන් මත විශ්වාසය තබමු: ඵලදායී සහයෝගීතාව, ප්රවාහ පරිචයන්, සහ වඩාත්ම වැදගත් ලෙස, පද්ධති චින්තනය, එය නොමැතිව කිසිදු DevOps ක්රියා නොකරන බැවිනි.
පද්ධතිය යනු කුමක්ද?
අපි දැනටමත් පද්ධති චින්තනය ගැන කතා කරන්නේ නම්, පද්ධතියක් යනු කුමක්දැයි අපට මතක් කර ගනිමු.
ඔබ විප්ලවවාදී හැකර් කෙනෙක් නම්, ඔබට පද්ධතිය පැහැදිලිවම නරක ය. එය ඔබ මත එල්ලා වැටෙන වලාකුළක් වන අතර ඔබට කිරීමට අවශ්ය නොවන දේ කිරීමට ඔබට බල කරයි.
පද්ධති චින්තනයේ දෘෂ්ටි කෝණයෙන්, පද්ධතියක් යනු කොටස් වලින් සමන්විත සමස්තයකි. මේ අර්ථයෙන් ගත් කල, අප සෑම කෙනෙකුම පද්ධතියකි. අප වැඩ කරන ආයතන පද්ධති වේ. ඔබ සහ මම ගොඩනඟන දේ පද්ධතියක් ලෙස හැඳින්වේ.
මේ සියල්ල එක් විශාල සමාජ-තාක්ෂණ පද්ධතියක කොටසකි. මෙම සමාජ-තාක්ෂණ පද්ධතිය එකට ක්රියා කරන ආකාරය අප තේරුම් ගන්නේ නම් පමණක්, අපට මේ කාරණය සම්බන්ධයෙන් යමක් සැබවින්ම ප්රශස්ත කිරීමට හැකි වනු ඇත.
පද්ධති චින්තනයේ දෘෂ්ටිකෝණයකින්, පද්ධතියකට විවිධ රසවත් ගුණාංග ඇත. පළමුව, එය කොටස් වලින් සමන්විත වේ, එනම් එහි හැසිරීම කොටස්වල හැසිරීම මත රඳා පවතී. එපමණක් නොව, එහි සියලුම කොටස් ද අන්තර් රඳා පවතී. පද්ධතියක කොටස් වැඩි වන තරමට එහි හැසිරීම තේරුම් ගැනීම හෝ පුරෝකථනය කිරීම වඩාත් අපහසු වන බව පෙනේ.
හැසිරීම් දෘෂ්ටි කෝණයෙන් තවත් සිත්ගන්නා කරුණක් තිබේ. පද්ධතියට එහි එක් එක් කොටසකට කළ නොහැකි දෙයක් කළ හැකිය.
ආචාර්ය රසල් ඇකොෆ් (පද්ධති චින්තනයේ නිර්මාතෘවරයෙකු) පැවසූ පරිදි, මෙය චින්තන අත්හදා බැලීමකින් ඔප්පු කිරීම ඉතා පහසුය. උදාහරණයක් ලෙස, කේතය ලියන්නේ කෙසේදැයි කාමරයේ සිටින කවුද? අත් විශාල ප්රමාණයක් ඇති අතර මෙය සාමාන්ය දෙයකි, මන්ද මෙය අපගේ වෘත්තිය සඳහා ප්රධාන අවශ්යතා වලින් එකකි. ඔබ ලියන්නේ කෙසේදැයි දන්නවාද, නමුත් ඔබේ දෑතින් ඔබෙන් වෙන වෙනම කේතය ලිවිය හැකිද? "කේතය ලියන්නේ මගේ අත් නොවේ, කේතය ලියන්නේ මගේ මොළය" යැයි පවසන අය සිටිති. ඔබේ මොළයට ඔබෙන් වෙන්ව කේතය ලිවිය හැකිද? හොඳයි, සමහරවිට නැහැ.
මොළය යනු පුදුමාකාර යන්ත්රයකි, එය එහි ක්රියා කරන්නේ කෙසේදැයි අපි 10% ක් වත් නොදනිමු, නමුත් එයට අපගේ ශරීරය වන පද්ධතියෙන් වෙන්ව ක්රියා කළ නොහැක. මෙය ඔප්පු කිරීම පහසුය: ඔබේ හිස් කබල විවෘත කරන්න, ඔබේ මොළය ඉවතට ගන්න, පරිගණකය ඉදිරිපිට තබන්න, ඔහුට සරල දෙයක් ලිවීමට උත්සාහ කිරීමට ඉඩ දෙන්න. උදාහරණයක් ලෙස Python හි "Hello, world".
පද්ධතියකට එහි කිසිදු කොටසකට වෙන වෙනම කළ නොහැකි දෙයක් කළ හැකි නම්, මෙයින් අදහස් කරන්නේ එහි හැසිරීම එහි කොටස්වල හැසිරීම අනුව තීරණය නොවන බවයි. එසේ නම් එය තීරණය කරන්නේ කුමක් ද? එය තීරණය වන්නේ මෙම කොටස් අතර අන්තර්ක්රියා මගිනි. ඒ අනුව, කොටස් වැඩි වන තරමට, අන්තර්ක්රියා වඩාත් සංකීර්ණ වන තරමට, පද්ධතියේ හැසිරීම තේරුම් ගැනීම සහ පුරෝකථනය කිරීම වඩාත් අපහසු වේ. තවද මෙය එවැනි පද්ධතියක් අවුල් සහගත කරයි, මන්ද යත්, පද්ධතියේ ඕනෑම කොටසක, වඩාත්ම නොවැදගත්, නොපෙනෙන වෙනසක් පවා සම්පූර්ණයෙන්ම අනපේක්ෂිත ප්රතිපලවලට තුඩු දිය හැකි බැවිනි.
මුල් තත්ත්වයට මෙම සංවේදිතාව මුලින්ම සොයා ගෙන අධ්යයනය කරන ලද්දේ ඇමරිකානු කාලගුණ විද්යාඥ එඩ් ලොරෙන්ස් විසිනි. පසුව, එය "සමනල බලපෑම" ලෙස හැඳින්වූ අතර "අවුල් න්යාය" නම් විද්යාත්මක චින්තනයේ ව්යාපාරයක් වර්ධනය කිරීමට හේතු විය. මෙම න්යාය 20 වන සියවසේ විද්යාවේ ප්රධාන සුසමාදර්ශ මාරු වලින් එකක් බවට පත් විය.
අවුල් න්යාය
ව්යාකූලත්වය ගැන අධ්යයනය කරන අය තමන්ව හඳුන්වන්නේ ව්යාකූල විද්යාඥයන් ලෙසයි.
ඇත්ත වශයෙන්ම, මෙම වාර්තාවට හේතුව වූයේ, සංකීර්ණ බෙදා හරින ලද පද්ධති සහ විශාල ජාත්යන්තර සංවිධාන සමඟ වැඩ කරන විට, යම් අවස්ථාවක දී මට හැඟෙන්නේ මෙය බව මට වැටහුණි. මම ව්යාකූල විද්යාඥයෙක්මි. මෙය මූලික වශයෙන් කීමට දක්ෂ ක්රමයකි: "මට මෙහි සිදුවන්නේ කුමක්දැයි නොතේරෙන අතර ඒ සම්බන්ධයෙන් කුමක් කළ යුතු දැයි මම නොදනිමි."
මම හිතන්නේ ඔබගෙන් බොහෝ දෙනෙකුට ද බොහෝ විට මෙය දැනෙනු ඇත, එබැවින් ඔබත් ව්යාකූල විද්යාඥයන් වේ. ව්යාකූල විද්යාඥයින්ගේ සංසදයට මම ඔබට ආරාධනා කරමි. හිතවත් ව්යාකූල විද්යාඥයින් වන ඔබ සහ මම අධ්යයනය කරනු ලබන පද්ධති "සංකීර්ණ අනුවර්තන පද්ධති" ලෙස හැඳින්වේ.
අනුවර්තනය වීමේ හැකියාව යනු කුමක්ද? අනුවර්තනය වීම යනු එවැනි අනුවර්තන පද්ධතියක කොටස්වල පුද්ගල සහ සාමූහික හැසිරීම වෙනස් වී ස්වයං-සංවිධානය වන අතර, පද්ධතියේ සිදුවීම් හෝ ක්ෂුද්ර සිදුවීම් දාමයන්ට ප්රතිචාර දැක්වීමයි. එනම්, පද්ධතිය ස්වයං-සංවිධානය හරහා වෙනස්කම් වලට අනුගත වේ. ස්වයං-සංවිධානය කිරීමේ මෙම හැකියාව නිදහස් ස්වාධීන නියෝජිතයින්ගේ ස්වේච්ඡා, සම්පූර්ණයෙන්ම විමධ්යගත සහයෝගීතාවය මත පදනම් වේ.
එවැනි පද්ධතිවල තවත් රසවත් දේපලක් වන්නේ ඒවා නිදහසේ පරිමාණය කිරීමයි. ව්යාකූල විද්යාඥයන්-ඉංජිනේරුවන් ලෙස අපට සැකයකින් තොරව උනන්දු විය යුතු දේ. එසේ නම්, සංකීර්ණ පද්ධතියක හැසිරීම තීරණය වන්නේ එහි කොටස්වල අන්තර්ක්රියා අනුව බව අප පැවසුවහොත්, අප උනන්දු විය යුත්තේ කුමක් ද? අන්තර්ක්රියා.
තවත් රසවත් සොයාගැනීම් දෙකක් තිබේ.
පළමුව, සංකීර්ණ පද්ධතියක් එහි කොටස් සරල කිරීමෙන් සරල කළ නොහැකි බව අපි තේරුම් ගනිමු. දෙවනුව, සංකීර්ණ පද්ධතියක් සරල කිරීමට ඇති එකම මාර්ගය වන්නේ එහි කොටස් අතර අන්තර්ක්රියා සරල කිරීමයි.
අපි අන්තර් ක්රියා කරන්නේ කෙසේද? ඔබත් මමත් සියල්ලෝම මානව සමාජය නමැති විශාල තොරතුරු පද්ධතියක කොටස්ය. අපි පොදු භාෂාවක් හරහා අන්තර් ක්රියා කරමු, අපට එය තිබේ නම්, අපට එය හමු වුවහොත්.
නමුත් භාෂාවම සංකීර්ණ අනුවර්තන පද්ධතියකි. ඒ අනුව, වඩාත් කාර්යක්ෂමව හා සරලව අන්තර් ක්රියා කිරීම සඳහා, අපි යම් ආකාරයක ප්රොටෝකෝලයක් නිර්මාණය කළ යුතුය. එනම්, අප අතර තොරතුරු හුවමාරුව සරල, වඩාත් පුරෝකථනය කළ හැකි, වඩාත් අවබෝධ කර ගත හැකි සංකේත සහ ක්රියාවන්හි යම් අනුපිළිවෙලකි.
සංකීර්ණත්වයට, අනුවර්තනයට, විමධ්යගත කිරීමට, අවුල් සහගත වීමට යන ප්රවණතා සෑම දෙයකින්ම සොයාගත හැකි බව මට පැවසීමට අවශ්යයි. ඔබ සහ මම ගොඩනඟන පද්ධතිවල සහ අප කොටස්කරුවන් වන එම පද්ධතිවල.
සහ පදනම් විරහිත වීමට නොවේ, අපි නිර්මාණය කරන පද්ධති වෙනස් වන්නේ කෙසේදැයි බලමු.
ඔබ මේ වචනය එනතුරු බලා සිටියා, මට තේරෙනවා. අපි DevOps සම්මන්ත්රණයක සිටිමු, අද මෙම වචනය සිය දහස් වාරයක් පමණ ඇසෙනු ඇත, එවිට අපි රාත්රියේ ඒ ගැන සිහින දකිමු.
Microservices යනු DevOps භාවිතයන්ට ප්රතික්රියාවක් ලෙස මතු වූ පළමු මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය වන අතර එය අපගේ පද්ධති වඩාත් නම්යශීලී, වඩා පරිමාණය කළ හැකි සහ අඛණ්ඩ බෙදා හැරීම සහතික කිරීමට නිර්මාණය කර ඇත. ඇය මෙය කරන්නේ කෙසේද? සේවා පරිමාව අඩු කිරීම, මෙම සේවාවන් ක්රියාවට නංවන ගැටළු වල විෂය පථය අඩු කිරීම, බෙදා හැරීමේ කාලය අඩු කිරීම. එනම්, අපි පද්ධතියේ කොටස් අඩු කිරීම සහ සරල කිරීම, ඒවායේ සංඛ්යාව වැඩි කිරීම, සහ ඒ අනුව, මෙම කොටස් අතර අන්තර්ක්රියා වල සංකීර්ණත්වය නිරන්තරයෙන් වැඩි වේ, එනම්, අප විසින් විසඳිය යුතු නව ගැටළු මතු වේ.
Microservices යනු අවසානය නොවේ, microservices සාමාන්යයෙන්, දැනටමත් ඊයේ, Serverless එන නිසා. සියලුම සේවාදායකයන් දැවී ගියේය, සේවාදායකයන් නැත, මෙහෙයුම් පද්ධති නොමැත, පිරිසිදු ක්රියාත්මක කළ හැකි කේතය පමණි. වින්යාසයන් වෙනම, ප්රාන්ත වෙනම, සියල්ල සිදුවීම් මගින් පාලනය වේ. අලංකාරය, පිරිසිදුකම, නිශ්ශබ්දතාවය, සිදුවීම් නැත, කිසිවක් සිදු නොවේ, සම්පූර්ණ පිළිවෙල.
සංකීර්ණත්වය කොහෙද? දුෂ්කරතාවය, ඇත්ත වශයෙන්ම, අන්තර්ක්රියා තුළ වේ. එක් කාර්යයක් තනිවම කළ හැක්කේ කොපමණ ද? එය අනෙකුත් කාර්යයන් සමඟ අන්තර්ක්රියා කරන්නේ කෙසේද? පණිවිඩ පෝලිම්, දත්ත සමුදායන්, සමතුලිත කරන්නන්. අසාර්ථක වූ විට යම් සිදුවීමක් නැවත නිර්මාණය කරන්නේ කෙසේද? ප්රශ්න ගොඩක් සහ පිළිතුරු කිහිපයක්.
Microservices සහ Serverless කියන්නේ අපි geek hipsters කියන්නේ Cloud Native කියලා. ඒ සියල්ල වලාකුළ ගැන ය. නමුත් වලාකුළ එහි පරිමාණය තුළ සහජයෙන්ම සීමා වේ. අපි එය බෙදාහැරීමේ පද්ධතියක් ලෙස සිතීමට පුරුදු වී සිටිමු. ඇත්ත වශයෙන්ම, වලාකුළු සපයන්නන්ගේ සේවාදායකයන් ජීවත් වන්නේ කොහේද? දත්ත මධ්යස්ථාන වල. එනම්, අපට මෙහි ඇත්තේ මධ්යගත, ඉතා සීමිත, බෙදා හරින ලද මාදිලියකි.
Internet of Things යනු නිහතමානී අනාවැකි වලට අනුව, අන්තර්ජාලයට සම්බන්ධ උපාංග බිලියන ගණනක් ඉදිරි වසර පහක් හෝ දහයක් තුළ අප බලා සිටින විශාල වචන පමණක් නොවන බව අද අපට වැටහේ. වලාකුළට ඒකාබද්ධ කර වලාකුළෙන් උඩුගත කරන ප්රයෝජනවත් සහ නිෂ්ඵල දත්ත විශාල ප්රමාණයක්.
වලාකුළ නොපවතියි, ඒ නිසා අපි වැඩි වැඩියෙන් කතා කරන්නේ එජ් කම්පියුටින් නම් දෙයක් ගැන ය. එසේත් නැතිනම් "මීදුම පරිගණනය" යන අපූරු නිර්වචනයටද මම කැමතියි. එය රොමෑන්ටිකවාදයේ සහ අභිරහස පිළිබඳ ගුප්තවාදයෙන් වැසී ඇත.
මීදුම පරිගණනය. කාරණය වන්නේ වලාකුළු යනු ජලය, වාෂ්ප, අයිස් සහ ගල්වල මධ්යගත පොකුරු බවයි. මීදුම යනු වායුගෝලයේ අප වටා විසිරී ඇති ජල බිඳිති වේ.
මීදුම ආදර්ශය තුළ, බොහෝ කාර්යයන් මෙම ජල බිඳිති මගින් සම්පූර්ණයෙන්ම ස්වයංක්රීයව හෝ වෙනත් ජල බිඳිති සමඟ සහයෝගයෙන් සිදු කෙරේ. ඔවුන් වලාකුළ දෙසට හැරෙන්නේ ඔවුන් ඇත්තටම තද කළ විට පමණි.
එනම්, නැවතත් විමධ්යගත කිරීම, ස්වාධීනත්වය සහ, ඇත්ත වශයෙන්ම, මේ සියල්ල යන්නේ කොතැනටදැයි ඔබගෙන් බොහෝ දෙනෙක් දැනටමත් තේරුම් ගෙන ඇත, මන්ද ඔබට බ්ලොක්චේන් සඳහන් නොකර විමධ්යගත කිරීම ගැන කතා කළ නොහැකි බැවිනි.
විශ්වාස කරන අය ඉන්නවා, මේ අය cryptocurrency වල ආයෝජනය කරපු අය. උදාහරණයක් ලෙස මා වැනි විශ්වාස කරන නමුත් බිය වන අය සිටිති. ඒ වගේම විශ්වාස නොකරන අයත් ඉන්නවා. මෙහිදී ඔබට වෙනස් ලෙස සැලකිය හැකිය. තාක්ෂණය තියෙනවා, අලුත් නොදන්නා කරුණක්, ගැටලු තියෙනවා. ඕනෑම නව තාක්ෂණයක් මෙන්, එය පිළිතුරු දීමට වඩා වැඩි ප්රශ්න මතු කරයි.
බ්ලොක්චේන් වටා ඇති උද්දීපනය තේරුම් ගත හැකිය. රන් රෂ් පසෙකට දමා, තාක්ෂණය විසින්ම දීප්තිමත් අනාගතයක් සඳහා කැපී පෙනෙන පොරොන්දු දරයි: වැඩි නිදහසක්, වැඩි ස්වයං පාලනයක්, බෙදා හරින ලද ගෝලීය විශ්වාසය. මොනවද ඕනේ නැත්තේ?
ඒ අනුව, ලොව පුරා වැඩි වැඩියෙන් ඉංජිනේරුවන් විමධ්යගත යෙදුම් සංවර්ධනය කිරීමට පටන් ගනී. මෙය සරලව පැවසීමෙන් බැහැර කළ නොහැකි බලයකි: "ආහ්, බ්ලොක්චේන් යනු දුර්වල ලෙස ක්රියාත්මක කරන ලද බෙදා හරින ලද දත්ත ගබඩාවක් පමණි." නැතහොත් සංශයවාදීන් පැවසීමට කැමති පරිදි: "බ්ලොක්චේන් සඳහා සැබෑ යෙදුම් නොමැත." පොඩ්ඩක් හිතල බැලුවොත් මීට අවුරුදු 150කට කලින් විදුලිය ගැන කිව්වෙත් ඔය ටිකමයි. අද විදුලි බලයෙන් කළ හැකි දේ 19 වන සියවසේදී කිසිසේත් කළ නොහැකි වූ නිසා ඒවා යම් ආකාරයකින් නිවැරදි විය.
මාර්ගය වන විට, තිරය මත කුමන ආකාරයේ ලාංඡනයක් දැයි දන්නේ කවුද? මෙය Hyperledger වේ. මෙය ලිනක්ස් පදනමේ අනුග්රහය යටතේ සංවර්ධනය වෙමින් පවතින ව්යාපෘතියක් වන අතර බ්ලොක්චේන් තාක්ෂණ මාලාවක් ඇතුළත් වේ. මෙය සැබවින්ම අපගේ විවෘත මූලාශ්ර ප්රජාවේ ශක්තියයි.
අවුල් ඉංජිනේරු
එබැවින්, අප වර්ධනය කරන පද්ධතිය වඩ වඩාත් සංකීර්ණ, වඩ වඩාත් අවුල් සහගත සහ වඩ වඩාත් අනුවර්තනය වෙමින් පවතී. Netflix යනු ක්ෂුද්ර සේවා පද්ධතිවල පුරෝගාමීන්ය. ඔවුන් මෙය තේරුම් ගත් පළමු අය අතර සිටි අතර, ඔවුන් සිමියන් හමුදාව ලෙස හැඳින්වූ මෙවලම් කට්ටලයක් නිර්මාණය කළ අතර ඒවායින් වඩාත් ප්රසිද්ධ විය
මාර්ගය වන විට, වාර්තාවේ වැඩ කිරීමේ ක්රියාවලියේදී, අපි මෙම පාඨය රුසියානු භාෂාවට පවා පරිවර්තනය කළෙමු, එබැවින් යන්න
කෙටියෙන්, අවුල් ඉංජිනේරු විද්යාවේ මූලධර්ම පහත සඳහන් දේ පවසයි. සංකීර්ණ බෙදා හරින ලද පද්ධති සහජයෙන්ම අනපේක්ෂිත වන අතර සහජයෙන්ම දෝෂ සහිතය. දෝෂ නොවැළැක්විය හැකිය, එනම් අපි මෙම දෝෂ පිළිගෙන මෙම පද්ධති සමඟ සම්පූර්ණයෙන්ම වෙනස් ආකාරයකින් වැඩ කළ යුතුය.
අපගේ පද්ධති එකම අනුවර්තනය වීමේ හැකියාව, ස්වයං-සංවිධානය සඳහා ඇති හැකියාව, පැවැත්ම සඳහා පරීක්ෂා කිරීම සඳහා මෙම දෝෂ අපගේ නිෂ්පාදන පද්ධති තුළට හඳුන්වා දීමට අප විසින්ම උත්සාහ කළ යුතුය.
තවද එය සියල්ල වෙනස් කරයි. අපි නිෂ්පාදන සඳහා පද්ධති දියත් කරන ආකාරය පමණක් නොව, අපි ඒවා සංවර්ධනය කරන්නේ කෙසේද, අපි ඒවා පරීක්ෂා කරන්නේ කෙසේද. කේතය ස්ථාවර කිරීමේ හෝ කැටි කිරීමේ ක්රියාවලියක් නොමැත; ඊට ප්රතිවිරුද්ධව, අස්ථාවර කිරීමේ නිරන්තර ක්රියාවලියක් පවතී. අපි හදන්නේ සිස්ටම් එක මරලා ඒක දිගටම පවතිනවා බලන්න.
බෙදා හරින ලද පද්ධති ඒකාබද්ධ කිරීමේ ප්රොටෝකෝල
ඒ අනුව මේ සඳහා අපේ පද්ධති කෙසේ හෝ වෙනස් විය යුතුයි. ඒවා වඩාත් ස්ථායී වීමට නම්, ඒවායේ කොටස් අතර අන්තර්ක්රියා සඳහා නව ප්රොටෝකෝල කිහිපයක් අවශ්ය වේ. එබැවින් මෙම කොටස් එකඟ වී යම් ආකාරයක ස්වයං සංවිධානයකට පැමිණිය හැකිය. තවද සියලු වර්ගවල නව මෙවලම්, නව ප්රොටෝකෝල පැනනගින අතර, මම එය හඳුන්වන්නේ "බෙදා හරින ලද පද්ධතිවල අන්තර්ක්රියා සඳහා වූ ප්රොටෝකෝල" ලෙසිනි.
මම කතා කරන්නේ කුමක් ගැනද? පළමුව, ව්යාපෘතිය
තව දුරටත් -
අප කී පරිදි, අපගේ පද්ධති වැඩි වැඩියෙන් සිදුවීම් මත පදනම් වේ. සර්වර්ලස් යනු සිදුවීම් මත පදනම් වූ පද්ධති සඳහා විශිෂ්ට උදාහරණයකි. අපට පද්ධති අතර සිදුවීම් මාරු කිරීමට සහ ඒවා ලුහුබැඳීමට, අපට පොදු භාෂාවක් අවශ්ය වේ, අපි සිදුවීම් ගැන කතා කරන ආකාරය, ඒවා එකිනෙකාට සම්ප්රේෂණය කරන ආකාරය සඳහා පොදු ප්රොටෝකෝලය කිහිපයක් අවශ්ය වේ. මෙය ව්යාපෘතියක් ලෙස හැඳින්වේ
අපගේ පද්ධති මත සෝදා හරින නිරන්තර වෙනස්කම් ධාරාව, ඒවා නිරන්තරයෙන් අස්ථාවර කිරීම, මෘදුකාංග කෞතුක වස්තු අඛණ්ඩ ප්රවාහයකි. අපට මෙම නිරන්තර වෙනස්වීම් ප්රවාහය පවත්වා ගැනීම සඳහා, අපට යම් ආකාරයක පොදු ප්රොටෝකෝලයක් අවශ්ය වන අතර එමඟින් මෘදුකාංග කෞතුක වස්තුවක් යනු කුමක්ද, එය පරීක්ෂා කරන්නේ කෙසේද, එය සමත් වී ඇත්තේ කුමන සත්යාපනයද යන්න ගැන කතා කළ හැකිය. මෙය ව්යාපෘතියක් ලෙස හැඳින්වේ
අවසාන වශයෙන්, අපගේ පද්ධති සම්පූර්ණයෙන්ම ස්වාධීන, අනුවර්තනය සහ ස්වයං-සංවිධානය වීමට අපට අවශ්ය නම්, අපි ඔවුන්ට ස්වයං-හඳුනාගැනීමේ අයිතිය ලබා දිය යුතුය. ව්යාපෘතිය ලෙස හැඳින්වේ
මේ සියලු ව්යාපෘති තරුණයි, ඒ සියල්ලටම අපේ ආදරය, අපේ වලංගුභාවය අවශ්යයි. මේ සියල්ල විවෘත මූලාශ්ර, අපගේ පරීක්ෂණය, ක්රියාත්මක කිරීම. ඔවුන් අපට පෙන්වන්නේ තාක්ෂණය යන්නේ කොතැනටද යන්නයි.
නමුත් DevOps කිසි විටෙකත් මූලික වශයෙන් තාක්ෂණය ගැන නොවේ, එය සැමවිටම මිනිසුන් අතර සහයෝගීතාවය පිළිබඳ වේ. තවද, ඒ අනුව, අප වර්ධනය කරන පද්ධති වෙනස් කිරීමට අවශ්ය නම්, අප විසින්ම වෙනස් විය යුතුය. ඇත්ත වශයෙන්ම, අපි කෙසේ හෝ වෙනස් වෙමින් සිටිමු; අපට බොහෝ තේරීමක් නොමැත.
පුදුමයක් තියෙනවා
එවිට ඉතා දිගු කාලයක් - විශ්වාසය මධ්යගත වූ අඳුරු කාලයක්, අපි එකම රාජ්ය හෝ රාජ්ය ආයතනයකට අයත් බව පදනම් කරගෙන අප නොදන්නා පුද්ගලයින් විශ්වාස කිරීමට පටන් ගත්හ.
අපගේ නූතන ලෝකයේ අප දකින්නේ මෙයයි: විශ්වාසය වඩ වඩාත් බෙදා හරිමින් සහ විමධ්යගත වෙමින් පවතින අතර එය තොරතුරු ගලා යාමේ නිදහස, තොරතුරු ලබා ගැනීමේ හැකියාව මත පදනම් වේ.
ඔබ ඒ ගැන සිතන්නේ නම්, මෙම විශ්වාසය ඇති කරවන මෙම ප්රවේශ්යතාවය ඔබ සහ මම ක්රියාත්මක කරන්නේ එයයි. මෙයින් අදහස් කරන්නේ පැරණි මධ්යගත, ධූරාවලි තොරතුරු තාක්ෂණ සංවිධාන තවදුරටත් ක්රියා නොකරන නිසා අප සහයෝගීව කටයුතු කරන ආකාරය සහ එය කරන ආකාරය යන දෙකම වෙනස් විය යුතු බවයි. ඔවුන් මිය යාමට පටන් ගනී.
DevOps සංවිධානයේ මූලික කරුණු
අනාගතයේ පරමාදර්ශී DevOps සංවිධානය යනු ස්වාධීන කණ්ඩායම් වලින් සමන්විත විමධ්යගත, අනුවර්තන පද්ධතියකි, ඒ සෑම එකක්ම ස්වාධීන පුද්ගලයින්ගෙන් සමන්විත වේ. මෙම කණ්ඩායම් ලොව පුරා විසිරී ඇත, ඉතා විනිවිද පෙනෙන සන්නිවේදන ප්රොටෝකෝල භාවිතා කරමින් අසමමුහුර්ත සන්නිවේදනය භාවිතා කරමින් එකිනෙකා සමඟ ඵලදායී ලෙස සහයෝගයෙන් කටයුතු කරයි. හරිම ලස්සනයි නේද? හරිම ලස්සන අනාගතයක්.
ඇත්ත වශයෙන්ම, සංස්කෘතික වෙනස්කම් නොමැතිව මේ කිසිවක් කළ නොහැකිය. අපට පරිවර්තනීය නායකත්වයක්, පුද්ගලික වගකීමක්, අභ්යන්තර අභිප්රේරණයක් තිබිය යුතුය.
DevOps සංවිධානවල පදනම මෙයයි: තොරතුරු විනිවිදභාවය, අසමමුහුර්ත සන්නිවේදනය, පරිවර්තනීය නායකත්වය, විමධ්යගත කිරීම.
පිළිස්සීම
අප කොටස්කරුවන් වන සහ අප ගොඩනඟන පද්ධති වඩ වඩාත් අවුල් සහගත වන අතර මිනිසුන් වන අපට මෙම සිතුවිල්ල සමඟ කටයුතු කිරීම දුෂ්කර ය, පාලනය පිළිබඳ මිත්යාව අත්හැරීම දුෂ්කර ය. අපි ඒවා දිගටම පාලනය කිරීමට උත්සාහ කරන අතර, මෙය බොහෝ විට දැවී යාමට හේතු වේ. මම මේක කියන්නේ මගේම අත්දැකීමෙන්, මමත් දැවී ගියා, නිෂ්පාදනයේ අනපේක්ෂිත අසාර්ථකත්වය නිසා මමත් ආබාධිත වුණා.
පිළිස්සීම ඇති වන්නේ අප ස්වභාවයෙන්ම පාලනය කළ නොහැකි දෙයක් පාලනය කිරීමට උත්සාහ කරන විටය. අපි දැවී ගිය විට, අලුත් දෙයක් කිරීමට ඇති ආශාව නැති වී යන නිසා සෑම දෙයක්ම එහි අර්ථය නැති වී යයි, අපි ආරක්ෂා වී අප සතුව ඇති දේ ආරක්ෂා කිරීමට පටන් ගනිමු.
ඉංජිනේරු වෘත්තිය, මම බොහෝ විට මට මතක් කර ගැනීමට කැමති පරිදි, පළමුවෙන්ම සහ ප්රධාන වශයෙන් නිර්මාණාත්මක වෘත්තියකි. අපට යමක් නිර්මාණය කිරීමට ඇති ආශාව නැති වුවහොත්, අපි අළු බවට පත්වේ, අළු බවට පත්වේ. මිනිස්සු පිච්චෙනවා, මුළු සංවිධානම පිච්චෙනවා.
මගේ මතය අනුව, අවුල් සහගත නිර්මාණාත්මක බලය පමණක් පිළිගැනීම, එහි මූලධර්මවලට අනුව සහයෝගීතාවය ගොඩනැගීම පමණක් අපගේ වෘත්තියේ හොඳ දේ නැති කර නොගැනීමට උපකාරී වේ.
මම ඔබට ප්රාර්ථනා කරන්නේ මෙයයි: ඔබේ රැකියාවට ආදරය කිරීමට, අප කරන දෙයට ආදරය කිරීමට. මේ ලෝකය තොරතුරු මත පෝෂණය වේ, එය පෝෂණය කිරීමේ ගෞරවය අපට ඇත. එබැවින් අපි අවුල් සහගත බව අධ්යයනය කරමු, අපි අවුල් සහගත විද්යාඥයින් වෙමු, අපි වටිනාකමක් ගෙනෙමු, අලුත් දෙයක් නිර්මාණය කරමු, හොඳයි, ගැටළු, අප දැනටමත් සොයාගෙන ඇති පරිදි, නොවැළැක්විය හැකි අතර, ඒවා දිස් වූ විට, අපි සරලව කියමු, ගැටළුව විසඳනු ලැබේ. .
Chaos Monkey හැර වෙන මොනවද?
ඇත්ත වශයෙන්ම, මෙම සියලු උපකරණ ඉතා තරුණයි. එම Netflix තමන් සඳහාම මෙවලම් ගොඩනගා ඇත. ඔබේම මෙවලම් සාදන්න. වෙනත් කෙනෙකු දැනටමත් ගොඩනගා ඇති වෙනත් මෙවලම් සොයා ගැනීමට උත්සාහ කරනවාට වඩා අවුල් ඉංජිනේරු විද්යාවේ මූලධර්ම කියවා එම මූලධර්මවලට අනුකූලව ජීවත් වන්න.
ඔබේ පද්ධති බිඳ වැටෙන ආකාරය තේරුම් ගැනීමට උත්සාහ කර ඒවා බිඳ දැමීමට පටන් ගෙන ඒවා රඳවා තබා ගන්නා ආකාරය බලන්න. මෙය මුලින්ම පැමිණේ. තවද ඔබට මෙවලම් සෙවිය හැකිය. සියලුම ආකාරයේ ව්යාපෘති තිබේ.
පද්ධතිය එහි සංරචක සරල කිරීමෙන් සරල කළ නොහැකි බව ඔබ පැවසූ මොහොත මට එතරම් නොතේරුණු අතර වහාම ක්ෂුද්ර සේවා වෙත යොමු වූ අතර එය සංරචක සරල කිරීමෙන් සහ අන්තර්ක්රියා සංකීර්ණ කිරීමෙන් පද්ධතිය සරල කරයි. මේවා මූලික වශයෙන් එකිනෙකට පරස්පර කොටස් දෙකකි.
ඒක හරි, microservices කියන්නේ පොදුවේ ගොඩක් මතභේදාත්මක මාතෘකාවක්. ඇත්ත වශයෙන්ම, කොටස් සරල කිරීම නම්යශීලීභාවය වැඩි කරයි. ක්ෂුද්ර සේවා සපයන්නේ කුමක්ද? ඔවුන් අපට නම්යශීලී බවක් සහ වේගයක් ලබා දෙයි, නමුත් ඒවා නිසැකවම අපට සරල බවක් ලබා නොදේ. ඔවුන් දුෂ්කරතාවය වැඩි කරයි.
ඉතින්, DevOps දර්ශනය තුළ, microservices එතරම් හොඳ දෙයක් නොවේද?
ඕනෑම භාණ්ඩයක ප්රතිලෝම පැත්තක් ඇත. ප්රතිලාභය නම් එය නම්යශීලී බව වැඩි කරයි, අපට ඉක්මනින් වෙනස්කම් කිරීමට ඉඩ සලසයි, නමුත් එය සංකීර්ණත්වය වැඩි කරන අතර එම නිසා සමස්ත පද්ධතියේ අස්ථාවරත්වය වැඩි කරයි.
තවමත්, වඩාත් අවධාරණය කරන්නේ කුමක්ද: අන්තර්ක්රියා සරල කිරීම හෝ කොටස් සරල කිරීම?
ඇත්ත වශයෙන්ම, අවධාරණය වන්නේ අන්තර්ක්රියා සරල කිරීම සඳහා ය, මන්ද අපි ඔබ සමඟ වැඩ කරන ආකාරය පිළිබඳ දෘෂ්ටි කෝණයෙන් මෙය දෙස බැලුවහොත්, පළමුව, අපි අවධානය යොමු කළ යුත්තේ අන්තර්ක්රියා සරල කිරීම කෙරෙහි මිස කාර්යය සරල කිරීම කෙරෙහි නොවේ. අප එක් එක් කෙනාගෙන් වෙන වෙනම. මොකද වැඩේ සරල කරනවා කියන්නේ රොබෝලා බවට පත්වෙන එක. මෙන්න මැක්ඩොනල්ඩ්ස් හි ඔබට උපදෙස් ඇති විට එය සාමාන්යයෙන් ක්රියා කරයි: මෙන්න ඔබ බර්ගර් දමා, මෙන්න ඔබ එයට සෝස් වත් කරන්න. මෙය අපගේ නිර්මාණ කාර්යයේදී කිසිසේත්ම ක්රියාත්මක නොවේ.
ඔබ කී සෑම දෙයක්ම තරඟයක් නැති ලෝකයක ජීවත් වන බවත්, එහි අවුල් සහගත බව ඉතා කරුණාවන්ත බවත්, මෙම අවුල් ජාලය තුළ ප්රතිවිරෝධතා නොමැති බවත්, කිසිවෙකු කන්න හෝ කිසිවෙකු මරා දැමීමට අවශ්ය නොවන බවත් ඇත්තද? තරඟය සහ DevOps ගාස්තු කෙසේ විය යුතුද?
හොඳයි, අපි කතා කරන්නේ කුමන ආකාරයේ තරඟයක් මතද යන්න මත රඳා පවතී. එය සේවා ස්ථානයේ තරඟයක් හෝ සමාගම් අතර තරඟයක් ගැනද?
සේවා සමාගම් කිහිපයක් නොවන නිසා පවතින සේවා තරඟය ගැන. අපි නව ආකාරයේ තොරතුරු පරිසරයක් නිර්මාණය කරමින් සිටින අතර, තරඟයකින් තොරව ඕනෑම පරිසරයක් ජීවත් විය නොහැක. හැමතැනම තරගයක් තියෙනවා.
එකම Netflix, අපි ඔවුන්ව ආදර්ශයක් ලෙස ගනිමු. ඔවුන් මෙය ඉදිරිපත් කළේ ඇයි? ඔවුන් තරඟකාරී විය යුතු නිසා. මෙම නම්යශීලීභාවය සහ චලනය වීමේ වේගය නිශ්චිතවම ඉතා තරඟකාරී අවශ්යතාවයකි; එය අපගේ පද්ධති තුළට අවුල් ඇති කරයි. එනම් අවුල් වියවුල් යනු අපට අවශ්ය නිසා අපි සවිඥානිකව කරන දෙයක් නොව ලෝකය එය ඉල්ලා සිටින නිසා සිදුවන දෙයකි. අපිට තියෙන්නේ අනුගත වෙන්න විතරයි. සහ අවුල්, එය හරියටම තරඟයේ ප්රතිඵලයකි.
මෙයින් අදහස් කරන්නේ අවුල් සහගත බව යනු ඉලක්ක නොමැතිකමද? නැත්නම් අපි දකින්න අකමැති අර ඉලක්කද? අපි නිවසේ සිටින අතර අන් අයගේ අරමුණු තේරුම් නොගනිමු. ඇත්ත වශයෙන්ම, තරඟයට හේතුව අපට පැහැදිලි ඉලක්ක තිබීම සහ සෑම ඊළඟ මොහොතකම අප අවසන් වන්නේ කොතැනදැයි අපි දන්නා බැවිනි. මෙය, මගේ දෘෂ්ටි කෝණයෙන්, DevOps හි සාරය වේ.
ප්රශ්නය දෙස ද බලන්න. මම හිතන්නේ අපි හැමෝටම එකම ඉලක්කයක් තියෙනවා: ජීවත් වෙන්න සහ එය කරන්න
ලොකුම සතුට. තවද ඕනෑම සංවිධානයක තරඟකාරී ඉලක්කය එකම වේ. පැවැත්ම බොහෝ විට සිදුවන්නේ තරඟය හරහා ය, ඔබට ඒ ගැන කළ හැකි කිසිවක් නැත.
මෙවර සමුළුව
DevOpsDays මොස්කව් දෙසැම්බර් 7 වැනිදා ටෙක්නොපොලිස් හිදී පැවැත්වේ. අපි නොවැම්බර් 11 දක්වා වාර්තා සඳහා අයදුම්පත් භාර ගනිමු.ලියන්න ඔබ කතා කිරීමට කැමති නම් අපෙන්.සහභාගිවන්නන් සඳහා ලියාපදිංචිය විවෘතයි, ටිකට්පත්වල මිල රුබල් 7000 කි. අප හා එක් වන්න!
මූලාශ්රය: www.habr.com