හිතවත් Google Cloud, පසුපසට නොගැලපීම ඔබව විනාශ කරයි.

අපොයි ගූගල්, මට නැවත බ්ලොග් කිරීමට අවශ්‍ය නොවීය. මට කරන්න ගොඩක් දේවල් තියෙනවා. බ්ලොග්කරණයට කාලය, ශක්තිය සහ නිර්මාණශීලිත්වය අවශ්‍ය වේ, එය මට හොඳින් ප්‍රයෝජනයට ගත හැකිය: මගේ පොත්, සංගීතය, මගේ ක්‍රීඩාව සහ යනාදිය. ඒත් ඔයා මට මේක ලියන්න තරම් කේන්ති ගියා.

ඉතින් අපි මේක ඉවර කරමු.

මම මුලින්ම Google හි වැඩ කිරීමට පටන් ගත් දා සිට කෙටි නමුත් උපදේශාත්මක කතාවකින් පටන් ගැනීමට මට ඉඩ දෙන්න. මම මෑතක සිට Google ගැන බොහෝ නරක දේවල් ප්‍රකාශ කළ බව මම දනිමි, නමුත් මගේම සමාගම නිතිපතා අදක්ෂ ව්‍යාපාරික තීරණ ගන්නා විට එය මා කලබලයට පත් කරයි. ඒ අතරම, අපි එයට නිසියාකාරව ලබා දිය යුතුය: ගූගල් හි අභ්‍යන්තර යටිතල ව්‍යුහය සැබවින්ම අසාමාන්‍ය ය, අද වඩා හොඳ කිසිවක් නොමැති බව පැවසීම ආරක්ෂිත ය. Google හි නිර්මාතෘවරුන් මට වඩා හොඳ ඉංජිනේරුවන් වූ අතර, මෙම කතාවෙන් තහවුරු වන්නේ එම කරුණ පමණි.

පළමුව, කුඩා පසුබිමක්: Google සතුව දත්ත ගබඩා කිරීමේ තාක්ෂණයක් ඇත බිග් ටේබල්. එය කැපී පෙනෙන තාක්ෂණික ජයග්‍රහණයක් වූ අතර, පළමු (පළමුවැන්න නොවේ නම්) “අසීමිත පරිමාණය කළ හැකි” යතුරු-අගය ගබඩාව (K/V): මූලික වශයෙන් NoSQL හි ආරම්භය. මේ දිනවල තරමක් ජනාකීර්ණ K/V ගබඩා අවකාශය තුළ Bigtable තවමත් හොඳින් ක්‍රියා කරයි, නමුත් ඒ වන විට (2005) එය පුදුම සහගත ලෙස සිසිල් විය.

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

තවත් සිත්ගන්නාසුලු විස්තරයක් නම්, ටික කලකට බිග්ටේබල් ගූගල් තුළ ජනප්‍රිය වූ අතර සෑම කණ්ඩායමකටම තමන්ගේම ගබඩාවක් තිබීමයි. ඒ නිසා සිකුරාදා රැස්වීම්වලින් එකකදී ලැරී පේජ් අහම්බෙන් අහනවා: “ඇයි අපිට Bigtable එකකට වඩා තියෙන්නේ? ඇයි එක විතරක් නැත්තෙ?" න්‍යායාත්මකව, Google හි සියලුම ගබඩා අවශ්‍යතා සඳහා එක් ගබඩාවක් ප්‍රමාණවත් විය යුතුය. ඇත්ත වශයෙන්ම, ඔවුන් කිසි විටෙකත් ප්‍රායෝගික සංවර්ධන හේතූන් මත (විභව අසාර්ථකත්වයේ ප්‍රතිවිපාක වැනි) එකකට පමණක් ගියේ නැත, නමුත් න්‍යාය සිත්ගන්නා සුළු විය. මුළු විශ්වය සඳහාම එක් ගබඩාවක් (මාර්ගය වන විට, Amazon ඔවුන්ගේ Sable එකෙන් මෙය කළාද යන්න කවුරුන් හෝ දන්නවාද?)

කොහොමහරි මෙන්න මගේ කතාව.

ඒ වන විට, මම Google හි වසර දෙකකට වැඩි කාලයක් සේවය කරමින් සිටි අතර, එක් දිනක් මට Bigtable ඉංජිනේරු කණ්ඩායමෙන් ඊමේල් එකක් ලැබුණි, එය මෙවැනි දෙයක් විය:

හිතවත් ස්ටීව්,

ආයුබෝවන් Bigtable කණ්ඩායමෙන්. [දත්ත මධ්‍යස්ථානයේ නම] ඔබ ඉතා පැරණි බිග්ටබල් ද්විමයයක් භාවිතා කරන බව අපි ඔබට දැනුම් දීමට කැමැත්තෙමු. මෙම අනුවාදය තවදුරටත් සහාය නොදක්වන අතර නවතම අනුවාදයට උත්ශ්‍රේණි කිරීමට ඔබට උදවු කිරීමට අපට අවශ්‍යය.

මෙම ගැටලුව සම්බන්ධයෙන් එකට වැඩ කිරීමට ඔබට යම් කාලයක් උපලේඛනගත කළ හැකි නම් කරුණාකර මට දන්වන්න.

සියල්ලම සාර්ථක වෙන්න කියා ප්රාර්ථනා කරනවා,
Bigtable කණ්ඩායම

Google හි ඔබට තැපැල් ගොඩක් ලැබේ, එබැවින් බැලූ බැල්මට මම මේ වගේ දෙයක් කියෙව්වා:

හිතවත් ලබන්නා,

යම් කණ්ඩායමකින් ආයුබෝවන්. අපට සන්නිවේදනය කිරීමට අවශ්‍ය වන්නේ බ්ලා බ්ලා බ්ලා බ්ලා බ්ලා බ්ලා ය. බ්ලා බ්ලා බ්ලා බ්ලා බ්ලා බ්ලා, සහ බ්ලා බ්ලා බ්ලා බ්ලා වහාම.

බ්ලා බ්ලා බ්ලා සඳහා ඔබේ වටිනා කාලය උපලේඛනගත කළ හැකි නම් කරුණාකර අපට දන්වන්න.

සියල්ලම සාර්ථක වෙන්න කියා ප්රාර්ථනා කරනවා,
යම් ආකාරයක විධානයක්

මම එය වහාම මකා දැමුවෙමි, නමුත් මගේ සිහිය අද්දර මට එය වේදනාකාරී, කරදරකාරී හැඟීමක් දැනුනි ඇත්තෙන්ම නැහැ එය විධිමත් ලිපියක් ලෙස පෙනේ පැහැදිලිවම, මම Bigtable භාවිතා නොකළ නිසා ලබන්නා වැරදී ඇති බව.

නමුත් එය අමුතු දෙයක් විය.

මම දවසේ ඉතිරි කාලය මාරුවෙන් මාරුවට සිතුවේ වැඩ සහ ක්ෂුද්‍ර කුස්සියේ කුමන මෝර මස් අත්හදා බැලිය යුතුද යන්නයි, එයින් තිදෙනෙකුවත් හොඳින් ඉලක්ක කරගත් විස්කෝතුවකින් මගේ අසුනේ සිට පහර දීමට තරම් සමීප විය, නමුත් ලිවීමේ සිතුවිල්ල කිසි විටෙකත් මා තුළ වර්ධනය වන හැඟීමක් මෘදු කාංසාවක් ඇති කළේ නැත.

ඔවුන් මගේ නම පැහැදිලිව කිව්වා. ඒවගේම ඊමේල් එක යවලා තියෙන්නේ මගේ ඊමේල් ලිපිනයට මිසක් වෙන කාගේවත් නෙවෙයි, ඒක cc: හෝ bcc: නෙවෙයි. ස්වරය ඉතා පෞද්ගලික සහ පැහැදිලි ය. සමහර විට මෙය යම් ආකාරයක වැරැද්දක්ද?

අන්තිමට කුතුහලය වැඩි වෙලා මම එයාල කියපු ඩේටා සෙන්ටර් එකේ Borg console එක බලන්න ගියා.

ඇත්ත වශයෙන්ම, මට කළමනාකරණය යටතේ BigTable ගබඩාව තිබුණි. මට සමාවෙන්න, මොකක්ද? මම එහි අන්තර්ගතය දෙස බැලුවෙමි, සහ නියමයි! එය 2005 ජූනි මාසයේ Google හි මගේ පළමු සතිය තුළ මම වාඩි වී සිටි Codelab ඉන්කියුබේටරයෙන්. Codelab ඔබට එහි සමහර අගයන් ලිවීමට Bigtable ධාවනය කිරීමට බල කළ අතර, පෙනෙන විදිහට මම ඉන් පසුව කිසි දිනෙක ගබඩාව වසා නොගත්තෙමි. වසර දෙකකට වැඩි කාලයක් ගත වී ඇතත් එය තවමත් ක්‍රියාත්මක විය.

මෙම කතාවේ සැලකිය යුතු අංශ කිහිපයක් තිබේ. පළමුව, Bigtable හි කාර්යය ගූගල් පරිමාණයෙන් එතරම් නොවැදගත් වූ අතර වසර දෙකකට පසුව කිසිවෙකු අමතර ආචයනය දුටුවේය, සහ ද්විමය අනුවාදය යල් පැන ගිය නිසා පමණි. සංසන්දනය කිරීම සඳහා, මම වරක් භාවිතා කිරීමට සලකා බැලුවා Google Cloud මත විශාල වගු මගේ ඔන්ලයින් ක්‍රීඩාව සඳහා. එකල මෙම සේවාව සඳහා වසරකට ඩොලර් 16 ක් පමණ වැය වේ. හිස් GCP මත විශාල වගුවකි. මම කියන්නේ නැහැ ඔවුන් ඔබව වංචා කරනවා කියලා, නමුත් මගේ පෞද්ගලික මතය අනුව, හිස් මගුලක් දත්ත ගබඩාවකට එය විශාල මුදලක්.

තවත් කැපී පෙනෙන අංගයක් වන්නේ ගබඩා කිරීමයි අවුරුදු දෙකකට පසුව තවමත් වැඩ. WTF? දත්ත මධ්‍යස්ථාන පැමිණේ; ඔවුන් ඇනහිටීම් අත්විඳිති, ඔවුන් නියමිත නඩත්තු වලට භාජනය වේ, ඔවුන් සෑම විටම වෙනස් වේ. දෘඪාංග යාවත්කාලීන වේ, ස්විචයන් මාරු කරනු ලැබේ, සෑම දෙයක්ම නිරන්තරයෙන් වැඩිදියුණු වේ. මේ සියලු වෙනස්කම් සමඟ මගේ වැඩසටහන වසර දෙකක් පවත්වා ගෙන යාමට ඔවුන්ට හැකි වූයේ කෙසේද? මෙය 2020 දී නිහතමානී ජයග්‍රහණයක් සේ පෙනෙන නමුත් 2005-2007 දී එය ඉතා ආකර්ෂණීය විය.

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

මම ඔවුන්ට ස්තුති කළෙමි, ගබඩාව මකා දැමුවෙමි, ජීවිතය සුපුරුදු පරිදි සිදු විය. ඒත් අවුරුදු දහතුනකට පස්සෙත් මම ඒ ලියුම ගැන හිතනවා. මොකද සමහර වෙලාවට Google Cloud එකෙන් මට සමාන ඊමේල් එනවා. ඔවුන් මේ ආකාරයට පෙනේ:

හිතවත් Google Cloud User,

මතක් කිරීමක් ලෙස, අපි 2020 අගෝස්තු වන විට [ඔබ භාවිතා කරන අත්‍යවශ්‍ය සේවාව] සේවාව නවත්වන්නෙමු, ඉන් පසුව ඔබට ඔබේ අවස්ථා උත්ශ්‍රේණි කිරීමට නොහැකි වනු ඇත. බීටා පරීක්‍ෂණයේ පවතින, ලේඛන නොමැති, සංක්‍රමණ මාර්ගයක් නොමැති සහ අපගේ කාරුණික සහාය ඇතිව කලින් යල් පැන ගිය නවතම අනුවාදය වෙත උත්ශ්‍රේණි කිරීම අපි නිර්දේශ කරමු.

මෙම වෙනස Google Cloud වේදිකාවේ සියලුම පරිශීලකයින්ට අවම බලපෑමක් ඇති බව සහතික කිරීමට අපි කැපවී සිටිමු.

සදහටම හොඳම මිතුරන්,
Google Cloud Platform

නමුත් මම කිසි විටෙකත් එවැනි ලිපි කියවා නැත, මන්ද ඔවුන් ඇත්ත වශයෙන්ම පවසන දේ:

හිතවත් ලබන්නා,

අපායට පලයන්. ෆක් යූ, ෆක් යූ, ෆක් යූ. ඔබ කරන සෑම දෙයක්ම කමක් නැති නිසා අතහරින්න. වැදගත් වන්නේ අපේ කාලයයි. අපි අපේ ජරාව නඩත්තු කිරීමට කාලය සහ මුදල් නාස්ති කරන අතර අපට එය එපා වී ඇති නිසා අපි තවදුරටත් එයට සහාය නොදක්වමු. ඒ නිසා ඔයාගේ මගුල් සැලසුම් අත්හැරලා අපේ ජරා ලියකියවිලි හාරන්න පටන් ගන්න, ෆෝරම් වල ඉතුරු ටික ඉල්ලනවා, ඒ වගේම අපේ අලුත් ජරාව පරණ ජරාවට වඩා සම්පූර්ණයෙන්ම වෙනස්, මොකද අපි මේ නිර්මාණය ගොඩක් නරකයි, හෙහ්, ඒත් ඒක ඔයාගේ ගැටලුව, අපගේ නොවේ.

ඔබගේ සියලු සංවර්ධන කටයුතු වසරක් ඇතුළත භාවිතයට ගත නොහැකි බවට සහතික කිරීමට අපි දිගටම උත්සාහ කරන්නෙමු.

කරුණාකරල මගුලට යන්න
Google Cloud Platform

ඒ වගේම මට මාසෙකට සැරයක් වගේ එවැනි ලිපි ලැබෙනවා. මෙය නොවැළැක්විය හැකි පරිදි බොහෝ විට සහ නිරන්තරයෙන් සිදු වේ ඉවතට තල්ලු කළා මම GCP සිට වලාකුළු විරෝධී කඳවුරට. මම තවදුරටත් ඔවුන්ගේ හිමිකාර වර්ධනයන් මත යැපීමට එකඟ නොවෙමි, මන්ද ඇත්ත වශයෙන්ම devops හට “යල් පැන ගිය” නිෂ්පාදන වසා දැමීමේ ප්‍රතිපත්තිය සමඟ Google සමඟ සිටීමට උත්සාහ කරනවාට වඩා හිස් අතථ්‍ය යන්ත්‍රයක විවෘත කේත පද්ධතියක් පවත්වාගෙන යාම පහසුය.

මම Google ක්ලවුඩ් වෙත ආපසු යාමට පෙර, I සමීපවත් නැත ඔවුන්ව විවේචනය කර නැත, අපි වෙනත් අංශවල සමාගමේ කාර්ය සාධනය දෙස බලමු. ගූගල් ඉංජිනේරුවන් ඔවුන්ගේ මෘදුකාංග ඉංජිනේරු විනය ගැන ආඩම්බර වන අතර ඇත්ත වශයෙන්ම ගැටළු ඇති කරන්නේ මෙයයි. උඩඟුකම යනු නොසැලකිලිමත් අය සඳහා උගුලක් වන අතර, බොහෝ ගූගල් සේවකයින් ඔවුන්ගේ තීරණ සැමවිටම නිවැරදි බවත්, නිවැරදි වීම (සමහර නොපැහැදිලි නොපැහැදිලි නිර්වචනයකට අනුව) ගනුදෙනුකරුවන් ගැන සැලකිලිමත් වීමට වඩා වැදගත් බවත් සිතීමට හේතු වී ඇත.

මම Google වලින් පිටත වෙනත් විශාල ව්‍යාපෘති වලින් අහඹු උදාහරණ කිහිපයක් දෙන්නම්, නමුත් ඔබ මෙම රටාව සෑම තැනකම දකිනු ඇතැයි මම බලාපොරොත්තු වෙමි. එය පහත පරිදි වේ: පසුගාමී අනුකූලතාව දශක ගණනාවක් තිස්සේ පද්ධති සජීවීව සහ යාවත්කාලීනව තබා ගනී.

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

මම තෝරන පළමු පද්ධතිය පැරණිතමයි: GNU Emacs, එය Windows Notepad, OS කර්නලය සහ ජාත්‍යන්තර අභ්‍යවකාශ මධ්‍යස්ථානය අතර දෙමුහුන් වර්ගයකි. එය පැහැදිලි කිරීමට ටිකක් අපහසුයි, නමුත් කෙටියෙන් කිවහොත්, Emacs යනු 1976 දී (ඔව්, අඩ සියවසකට පමණ පෙර) ඔබව වඩාත් ඵලදායී, නමුත් පෙළ සංස්කාරකයක් ලෙස වෙස්වලා ගැනීම සඳහා වැඩසටහන්කරණය සඳහා නිර්මාණය කරන ලද වේදිකාවකි.

මම හැමදාම Emacs පාවිච්චි කරනවා. ඔව්, මම ද සෑම දිනකම IntelliJ භාවිතා කරමි, එය ප්‍රබල මෙවලම් වේදිකාවක් දක්වා වර්ධනය වී ඇත. නමුත් IntelliJ සඳහා දිගු ලිවීම Emacs සඳහා දිගු ලිවීමට වඩා අභිලාෂකාමී සහ සංකීර්ණ කාර්යයකි. තවද වඩාත් වැදගත් දෙය නම්, Emacs සඳහා ලියා ඇති සෑම දෙයක්ම සංරක්ෂණය කර ඇත සදහටම.

මම තවමත් 1995 දී Emacs සඳහා ලියූ මෘදුකාංගය භාවිතා කරමි. ඒ වගේම මට විශ්වාසයි කවුරුහරි Emacs සඳහා ලියා ඇති මොඩියුල 80 දශකයේ මැද භාගයේදී, කලින් නොවේ නම් භාවිතා කරන බව. ඔවුන්ට වරින් වර කුඩා tweaking අවශ්‍ය විය හැකිය, නමුත් මෙය ඇත්ත වශයෙන්ම තරමක් දුර්ලභ ය. මම Emacs සඳහා ලියා ඇති (සහ මම බොහෝ දේ ලියා ඇත) නැවත ගෘහ නිර්මාණ ශිල්පයක් අවශ්‍ය වූ කිසිවක් ගැන මම නොදනිමි.

Emacs සතුව යල් පැන ගිය ආයතන සඳහා make-obsolete නමින් ශ්‍රිතයක් ඇත. මූලික පරිගණක සංකල්ප සඳහා Emacs පාරිභාෂිතය ("කවුළුවක්" යනු කුමක්ද යන්න) බොහෝ විට කර්මාන්ත සම්මුතීන්ගෙන් වෙනස් වන්නේ බොහෝ කලකට පෙර Emacs ඒවා හඳුන්වා දුන් බැවිනි. මෙය ඔවුන්ගේ කාලයට පෙර සිටින අයට සාමාන්‍ය අනතුරකි: ඔබගේ සියලු නියමයන් වැරදිය. නමුත් Emacs සතුව ක්ෂය වීම පිළිබඳ සංකල්පයක් ඇත, එය ඔවුන්ගේ ප්‍රභාෂාවෙන් හඳුන්වනු ලැබේ යල්පැන යාම.

නමුත් Emacs ලෝකයේ වෙනත් ක්‍රියාකාරී නිර්වචනයක් ඇති බව පෙනේ. ඔබට අවශ්‍ය නම්, වෙනත් යටින් පවතින දර්ශනයක්.

Emacs ලෝකයේ (සහ වෙනත් බොහෝ ක්ෂේත්‍රවල, අපි පහත ආවරණය කරනු ඇත), අත්හරින ලද API තත්ත්වය මූලික වශයෙන් අදහස් වන්නේ: "ඔබ මෙම ප්‍රවේශය භාවිතා නොකළ යුතුය, මන්ද එය ක්‍රියාත්මක වන අතර, එය අප විසින් සිදු කරනු ලබන විවිධ අඩුපාඩු වලින් පීඩා විඳිති. මෙහි ලැයිස්තුගත කරන්න. නමුත් දවස අවසානයේදී එය ඔබේ තේරීමයි."

Google හි ලෝකයේ, යල් පැන ගිය යන්නෙන් අදහස් වන්නේ, "අපි ඔබ වෙනුවෙන් අපගේ කැපවීම කඩ කරමින් සිටිමු" යන්නයි. මෙය සත්යයයි. එහි මූලික අර්ථය මෙයයි. මෙයින් අදහස් කරන්නේ ඔවුන් ඔබට බල කරන බවයි නිතිපතා ය සමහර වැඩ කරන්න, සමහර විට වැඩ ගොඩක් කරන්න, ඔවුන් විශ්වාස කිරීමට දඬුවමක් ලෙස වර්ණවත් වෙළඳ දැන්වීම්: හොඳම මෘදුකාංගය අප සතුව ඇත. වේගවත්ම! ඔබ උපදෙස් අනුව සෑම දෙයක්ම කරන්න, ඔබේ යෙදුම හෝ සේවාව දියත් කරන්න, පසුව බාම්, වසරක් හෝ දෙකකට පසු එය කැඩී යයි.

කිලෝමීටර් 1500ක් ගියාම අනිවාර්යයෙන්ම කැඩෙන පාවිච්චි කරන කාර් එකක් විකුනනවා වගේ වැඩක්.

මේවා "යල්පැන යාම" පිළිබඳ සම්පූර්ණයෙන්ම වෙනස් දාර්ශනික නිර්වචන දෙකකි. ගඳ සුවඳ පිළිබඳ Google හි නිර්වචනය සැලසුම්ගත යල්පැන යාම. මම මේක විශ්වාස කරන්නේ නැහැ ඇත්ත වශයෙන්ම ඇපල් හා සමාන අර්ථයෙන් යල්පැනීමට සැලසුම් කර ඇත. නමුත් ගූගල් අනිවාර්යයෙන්ම ඔබේ වැඩසටහන් කඩාකප්පල් කිරීමට සැලසුම් කරයි. මම අවුරුදු 12 කට වැඩි කාලයක් එහි මෘදුකාංග ඉංජිනේරුවෙකු ලෙස සේවය කළ නිසා මම මෙය දනිමි. කොපමණ පසුගාමී ගැළපීමක් අනුගමනය කළ යුතුද යන්න පිළිබඳ නොපැහැදිලි අභ්‍යන්තර මාර්ගෝපදේශ ඔවුන් සතුව ඇත, නමුත් එය අවසානයේ එක් එක් කණ්ඩායම හෝ සේවාව මත රඳා පවතී. ව්‍යවසාය හෝ ඉංජිනේරු මට්ටමේ නිර්දේශ නොමැති අතර, යල්පැන ගිය චක්‍ර සම්බන්ධයෙන් නිර්භීතම නිර්දේශය වන්නේ “පාරිභෝගිකයින්ට ඔවුන්ගේ සම්පූර්ණ පද්ධතිය බිඳ දැමීමට පෙර යාවත්කාලීන කිරීමට මාස 6-12ක් ලබා දීමට උත්සාහ කරන්න” යන්නයි.

ගැටලුව ඔවුන් සිතනවාට වඩා විශාල වන අතර පාරිභෝගික සත්කාරය ඔවුන්ගේ DNA වල නොමැති නිසා එය වසර ගණනාවක් පවතිනු ඇත. මේ පිළිබඳ වැඩි විස්තර පහතින්.

මේ අවස්ථාවේදී මම නිර්භීත ප්‍රකාශයක් කිරීමට යන්නේ Emacs බොහෝ දුරට සාර්ථක වන බවයි බොහෝ දුරට මන්ද ඔවුන් පසුපස ගැළපුම එතරම් බැරෑරුම් ලෙස සලකන බැවිනි. ඇත්ත වශයෙන්ම, මෙය අපගේ ලිපියේ නිබන්ධනයයි. සාර්ථක, දිගුකාලීන විවෘත පද්ධති ඔවුන්ගේ සාර්ථකත්වයට දශක ගණනාවක් තිස්සේ ඔවුන් වටා ජීවත් වූ ක්ෂුද්ර ප්රජාවන්ට ණයගැතියි. දිගු/ප්ලගින. මෙය පරිසර පද්ධතියයි. මම දැනටමත් වේදිකා වල ස්වභාවය සහ ඒවා කෙතරම් වැදගත්ද යන්න ගැන කතා කර ඇති අතර, ඇන්ඩ්‍රොයිඩ් හෝ ක්‍රෝම් වලින් පිටත සාර්ථක විවෘත වේදිකාවක් සෑදීමට යන්නේ කුමක්දැයි ගූගල් සිය සමස්ත ආයතනික ඉතිහාසය තුළ කිසි විටෙකත් තේරුම් ගෙන නැති ආකාරය ගැන කතා කර ඇත.

ඇත්ත වශයෙන්ම, මම Android ගැන කෙටියෙන් සඳහන් කළ යුත්තේ ඔබ ඒ ගැන සිතමින් සිටින බැවිනි.

මුලින්ම, Android යනු Google නොවේ. ඔවුන් එකිනෙකා සමඟ පොදු කිසිවක් නැති තරම්ය. ඇන්ඩ්‍රොයිඩ් යනු ගූගල් විසින් 2005 ජූලි මාසයේදී මිලදී ගන්නා ලද සමාගමකි, සමාගමට වැඩි වශයෙන් හෝ අඩුවෙන් ස්වයංක්‍රීයව ක්‍රියා කිරීමට අවසර දී ඇති අතර ඇත්ත වශයෙන්ම එය අතරමැදි වසරවලදී බොහෝ දුරට ස්පර්ශ නොවී පවතී. ඇන්ඩ්‍රොයිඩ් යනු කුප්‍රකට තාක්ෂණික තොගයක් වන අතර ඒ හා සමානව කුප්‍රකට ගොරෝසු සංවිධානයකි. එක් ගූගල්කරුවෙකු පවසන පරිදි, "ඔබට ඇන්ඩ්රොයිඩ් වෙත පමණක් ලොග් විය නොහැක."

Android හි සමහර මුල් නිර්මාණ තීරණ කෙතරම් නරකද යන්න මම කලින් ලිපියක සාකච්ඡා කළෙමි. අපොයි, මම එම ලිපිය ලියන විට ඔවුන් "ක්ෂණික යෙදුම්" නමින් ජරාවක් පෙරළමින් සිටි අතර ඒවා දැන් (පුදුමයක්!) යල් පැන ගිය, සහ Google වෙත සවන් දීමට සහ ඔබේ අන්තර්ගතය මෙම ක්ෂණික යෙදුම් වෙත ගෙන යාමට තරම් ඔබ මෝඩ වූයේ නම් මම අනුකම්පා කරමි.

නමුත් මෙහි වෙනසක් ඇත, සැලකිය යුතු වෙනසක් ඇත, එනම් ඇන්ඩ්‍රොයිඩ් වේදිකා කෙතරම් වැදගත් දැයි ඇන්ඩ්‍රොයිඩ් පුද්ගලයින් සැබවින්ම වටහාගෙන ඇති අතර, ඔවුන් පැරණි ඇන්ඩ්‍රොයිඩ් යෙදුම් ක්‍රියා කරවීමට උපරිම උත්සාහයක් දරයි. ඇත්ත වශයෙන්ම, පසුගාමී ගැළපුම පවත්වා ගැනීමට ඔවුන් දරන උත්සාහය කෙතරම් ආන්තිකද යත්, වසර කිහිපයකට පෙර ඇන්ඩ්‍රොයිඩ් අංශයේ මගේ කෙටි කාලය තුළදී, පැරණිතම උපාංග සහ API සඳහා සහය අත්හරින ලෙස මම ඔවුන්ට ඒත්තු ගැන්වීමට උත්සාහ කළෙමි (මම වැරදියි. , අතීතයේ සහ වර්තමාන වෙනත් බොහෝ දේවල මෙන්. සමාවෙන්න ඇන්ඩ්‍රොයිඩ් යාලුවනේ! මම ඉන්දුනීසියාවට ගොස් ඇති නිසා, අපට ඒවා අවශ්‍ය වන්නේ මන්දැයි මට වැටහේ).

ඇන්ඩ්‍රොයිඩ් පුද්ගලයින් ඔවුන්ගේ පද්ධති සහ මෙවලම් දාමයන් තුළ දැවැන්ත තාක්ෂණික ණය ප්‍රමාණයක් ගොඩ ගසමින් සිතාගත නොහැකි තරම් අන්තයන් වෙත ගැළපුම පසුපසට තල්ලු කරයි. අපොයි දෙයියනේ, උන්ගේ බිල්ඩ් සිස්ටම් එකේ උන්ට කරන්න තියෙන පිස්සු වැඩ ටිකක් බලන්න ඕනේ, ඒ ඔක්කොම ගැළපුම නාමයෙන්.

මේ සඳහා මම ඇන්ඩ්‍රොයිඩ් සඳහා "ඔබ ගූගල් නොවේ" සම්මානය පිරිනමමි. ඔවුන්ට ඇත්තටම ඇන්ඩ්‍රොයිඩ් මිස කල් පවතින වේදිකා නිර්මාණය කරන්නේ කෙසේදැයි නොදන්නා ගූගල් බවට පත්වීමට අවශ්‍ය නැත දන්නවා, එය කරන්නේ කෙසේද. ඒ නිසා Google එක පැත්තකින් ඉතා දක්ෂයි: Android මත මිනිසුන්ට තමන්ගේම ආකාරයෙන් දේවල් කිරීමට ඉඩ දීම.

කෙසේ වෙතත්, ඇන්ඩ්රොයිඩ් සඳහා ක්ෂණික යෙදුම් ඉතා මෝඩ අදහසක් විය. ඒ ඇයි දන්නවද? ඔවුන් ඉල්ලා සිටි නිසා ඔබගේ අයදුම්පත නැවත ලියන්න සහ නැවත සැලසුම් කරන්න! එය හරියට මිනිසුන් මිලියන දෙකක් අයදුම්පත් නැවත ලියන්නාක් මෙනි. මම අනුමාන කරන්නේ Instant Apps යනු කිසියම් Googler ගේ අදහසක් බවයි.

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

ඔබට එහි API වල පසුගාමී ගැළපුම සඳහා Android හි කැපවීම දැකිය හැක. ඔබට විවිධ උපපද්ධති හතරක් හෝ පහක් වචනාර්ථයෙන් එකම දේ කරන විට, එය හරයේ පසුගාමී ගැළපුම සඳහා කැපවීමක් ඇති බවට සහතික ලකුණකි. වේදිකා ලෝකයේ ඔබේ ගනුදෙනුකරුවන්ට සහ ඔබේ වෙළඳපොළට ඇති කැපවීම සමඟ සමාන වේ.

Google හි ප්‍රධාන ගැටලුව වන්නේ ඔවුන්ගේ ඉංජිනේරු සනීපාරක්ෂාව පිළිබඳ ඔවුන්ගේ අභිමානයයි. එකම දේ කිරීමට විවිධ ක්‍රම ඇති විට ඔවුන් කැමති නැත, පැරණි, අඩු ප්‍රියජනක ක්‍රම නව, මනඃකල්පිත ක්‍රම අසල වාඩි වී සිටිති. එය පද්ධතියට අලුත් අය සඳහා ඉගෙනීමේ වක්‍රය වැඩි කරයි, එය උරුම API නඩත්තු කිරීමේ බර වැඩි කරයි, එය නව විශේෂාංගවල වේගය අඩු කරයි, සහ ප්‍රධාන පාපය එය ලස්සන නොවීමයි. ගූගල් - ටිම් බර්ටන්ගේ ඇලිස් ඉන් වොන්ඩර්ලන්ඩ් හි ලේඩි ඇස්කොට් වැනි:

ඇස්කොට් ආර්යාව:
- ඇලිස්, ඔබ දන්නවාද මම වැඩිපුරම බිය වන්නේ කුමක්ද?
- රදළ පැලැන්තියේ පරිහානිය?
- මම බය වුණා මට එහෙම වෙයි කියලා කැත මුණුබුරන්.

ලස්සන සහ ප්‍රායෝගික අතර හුවමාරුව තේරුම් ගැනීමට, අපි තුන්වන සාර්ථක වේදිකාව දෙස බලමු (Emacs සහ Android වලින් පසුව) එය ක්‍රියා කරන ආකාරය බලමු: Java ම.

ජාවා සතුව යල් පැන ගිය API ගොඩක් තිබේ. Deprecation ජාවා ක්‍රමලේඛකයින් අතර ඉතා ජනප්‍රියයි, බොහෝ ක්‍රමලේඛන භාෂා වලට වඩා ජනප්‍රියයි. ජාවාම, මූලික භාෂාව සහ පුස්තකාල නිරන්තරයෙන් API අවලංගු කරයි.

උදාහරණ දහස් ගණනින් එකක් පමණක් ගතහොත්, නූල් වසා දැමීම යල් පැන ගිය ලෙස සැලකේ. 1.2 දෙසැම්බර් මාසයේදී Java 1998 නිකුත් වූ දා සිට එය අවලංගු කර ඇත. මේක තහනම් කරලා දැන් අවුරුදු 22ක් වෙනවා.

නමුත් නිෂ්පාදනයේ මගේ සැබෑ කේතය තවමත් නූල් මරා දමයි සෑම දිනකම. ඔබ ඇත්තටම එය හොඳ යැයි සිතනවාද? නියත වශයෙන්ම! මම කිව්වේ, ඇත්ත වශයෙන්ම, මම අද කේතය නැවත ලියන්නේ නම්, මම එය වෙනත් ආකාරයකින් ක්රියාත්මක කරමි. නමුත් පසුගිය දශක දෙකක කාලය තුළ ලක්ෂ සංඛ්‍යාත ජනතාවක් සතුටු කළ මගේ ක්‍රීඩාව සඳහා කේතය ලියා ඇත්තේ දිගු එල්ලෙන නූල් වසා දැමීමේ කාර්යයක් සමඟිනි, සහ මම කවදාවත් එය වෙනස් කිරීමට සිදු නොවීය. මම මගේ පද්ධතිය ඕනෑම කෙනෙකුට වඩා හොඳින් දනිමි, මට එය නිෂ්පාදනයේදී වසර 25 ක පළපුරුද්දක් ඇති අතර මට නිසැකවම පැවසිය හැකිය: මගේ නඩුවේදී, මෙම විශේෂිත සේවක නූල් වසා දැමීම සම්පූර්ණයෙන්ම වේ හානිකර නොවන. මෙම කේතය නැවත ලිවීමට කාලය සහ ශ්‍රමය වටින්නේ නැත, සහ ලැරී එලිසන්ට ස්තුති කරන්න (සමහර විට) Oracle මට එය නැවත ලිවීමට බල නොකළ බව.

ඔරකල් වේදිකා ද තේරුම් ගෙන ඇත. කව්ද දන්නේ.

කැනියන් එකක ග්ලැසියරයක රේඛා මෙන් යල්පැන ගිය තරංගවලින් පිරී ඇති මූලික ජාවා ඒපීඅයි පුරා සාක්ෂි සොයාගත හැකිය. ඔබට පහසුවෙන් ජාවා ස්විං පුස්තකාලයේ විවිධ යතුරුපුවරු සංචාලන කළමනාකරුවන් (KeyboardFocusManager) පහක් හෝ හයක් සොයා ගත හැක. අත් නොහරින ලද Java API සොයා ගැනීම ඇත්තෙන්ම අපහසුය. නමුත් ඔවුන් තවමත් වැඩ කරනවා! මම හිතන්නේ ජාවා කණ්ඩායම ඇත්තටම API එකක් ඉවත් කරන්නේ අතුරු මුහුණත දීප්තිමත් ආරක්ෂක ගැටළුවක් ඇති කරන්නේ නම් පමණි.

මෙන්න කාරණය, මිනිස්සු: අපි මෘදුකාංග සංවර්ධකයින් ඉතා කාර්යබහුලයි, සහ මෘදුකාංගයේ සෑම අංශයකම අපි තරඟකාරී විකල්පවලට මුහුණ දී සිටිමු. ඕනෑම අවස්ථාවක, X භාෂාවේ ක්‍රමලේඛකයින් Y භාෂාව හැකි ආදේශකයක් ලෙස සලකයි. ඔහ්, ඔයාට මාව විශ්වාස නැද්ද? ඔබට එය Swift ලෙස හැඳින්වීමට අවශ්‍යද? හැමෝම Swift වලට සංක්‍රමණය වෙනවා වගේම කවුරුත් ඒක අතහරින්නේ නෑ නේද? අපොයි, ඔයා දන්නේ කොච්චර අඩුවෙන්ද. සමාගම් ද්විත්ව ජංගම සංවර්ධන කණ්ඩායම්වල (iOS සහ Android) පිරිවැය ගණන් කරයි - සහ Flutter සහ React Native වැනි විසුළු නම් සහිත හරස් වේදිකා සංවර්ධන පද්ධති සැබවින්ම ක්‍රියා කරන බවත් ඒවායේ ප්‍රමාණය අඩු කිරීමට භාවිතා කළ හැකි බවත් ඔවුන් තේරුම් ගැනීමට පටන් ගෙන ඇත. ජංගම කණ්ඩායම් දෙවරක් හෝ, අනෙක් අතට, ඒවා දෙගුණයක් ඵලදායී කරන්න. සැබෑ මුදල් පරදුවට තබා ඇත. ඔව්, සම්මුතීන් ඇත, නමුත්, අනෙක් අතට, මුදල්.

අපි උපකල්පිතව උපකල්පනය කරමු Apple විසින් Guido van Rossum ගෙන් මෝඩ ලෙස ඉඟියක් ගෙන Swift 6.0 Swift 5.0 සමඟ පසුපසට නොගැලපෙන බව ප්‍රකාශ කළේය, Python 3 Python 2 සමඟ නොගැලපේ.

මම මේ කතාව කිව්වේ මීට අවුරුදු දහයකට විතර කලින්, නමුත් මීට අවුරුදු පහළොවකට විතර කලින් මම Guido එක්ක O'Reilly's Foo Camp එකට ගිහින්, Paul Graham එක්ක කූඩාරමක ඉඳගෙන ලොකු පහරවල් ගොන්නක් එක්ක හිටියා. ලැරී පේජ් ඔහුගේ පුද්ගලික හෙලිකොප්ටරයෙන් පිටතට පියාසර කරන තෙක් අපි දැඩි රස්නයේ වාඩි වී සිටි අතර ගයිඩෝ “පයිතන් 3000” ගැන ඩ්‍රෝන් කරන අතර සෑම කෙනෙකුටම එහි සංක්‍රමණය වීමට ගතවන වසර ගණන අනුව ඔහු එය නම් කළේය. ඔහු ගැළපුම බිඳ දමන්නේ මන්දැයි අපි ඔහුගෙන් දිගින් දිගටම විමසූ අතර ඔහු පිළිතුරු දුන්නේ “යුනිකෝඩ්” යනුවෙනි. තවද අපි ඇසුවෙමු, අපට අපගේ කේතය නැවත ලිවීමට සිදුවුවහොත්, අපට පෙනෙන වෙනත් ප්‍රතිලාභ මොනවාද? ඔහු පිළිතුරු දුන්නේ “Yoooooooooooooooouuuuuuuuniiiiiicooooooode” කියාය.

ඔබ Google Cloud Platform SDK ("gCloud") ස්ථාපනය කරන්නේ නම්, ඔබට පහත දැනුම්දීම ලැබෙනු ඇත:

හිතවත් ලබන්නා,

Python 2 සඳහා වන සහය අත්හරින ලද බව අපි ඔබට මතක් කිරීමට කැමැත්තෙමු, එබැවින් ඔබට මගුලක්

… සහ යනාදි. ජීවන චක්රය.

නමුත් කාරණය වන්නේ සෑම සංවර්ධකයෙකුටම තේරීමක් ඇති බවයි. ඔබ ඔවුන්ට බොහෝ විට කේතය නැවත ලිවීමට බල කළහොත්, ඔවුන් ඒ ගැන සිතනු ඇත වෙනත් විකල්ප. ඔබ කොතරම් කැමති වුවත් ඔවුන් ඔබේ ප්‍රාණ ඇපකරුවන් නොවේ. ඔවුන් ඔබේ අමුත්තන් ය. Python තවමත් ඉතා ජනප්‍රිය ක්‍රමලේඛන භාෂාවකි, නමුත් අපරාදේ, Python 3(000) විසින් එහි ප්‍රජාවන් තුළ සහ එහි ප්‍රජාවන් භාවිතා කරන්නන් අතර එවැනි අවුල් ජාලයක් නිර්මාණය කර ඇති අතර එහි ප්‍රතිවිපාක වසර පහළොවක් තිස්සේ පැහැදිලි කර නොමැත.

මෙම පසුගාමී නොගැලපීම හේතුවෙන් Go (හෝ Ruby, හෝ වෙනත් විකල්පයක්) තුළ කොපමණ Python වැඩසටහන් නැවත ලියා තිබේද? පයිතන් හැර වෙනත් දෙයක කොපමණ නව මෘදුකාංග ලියා ඇතත් එය වෙන්න පුළුවන් පයිතන් වලින් ලියා ඇත, ගයිඩෝ මුළු ගමම ගිනි නොදැමුවේ නම්? කීමට අපහසු නමුත් පයිතන් පැහැදිලිවම දුක් විඳ ඇත. ඒක ලොකු අවුලක් නිසා හැමෝම පරදිනවා.

ඉතින් අපි හිතමු Apple Guido ගෙන් ඉඟියක් අරගෙන ගැළපුම කඩනවා කියලා. ඊළඟට කුමක් සිදුවේ යැයි ඔබ සිතන්නේද? හොඳයි, සමහර විට 80-90% සංවර්ධකයින් හැකි නම් ඔවුන්ගේ මෘදුකාංග නැවත ලියයි. වෙනත් වචන වලින් කිවහොත්, පරිශීලක පදනමෙන් 10-20% ස්වයංක්‍රීයව Flutter වැනි තරඟකාරී භාෂාවකට යයි.

මෙය කිහිප වතාවක් කරන්න, එවිට ඔබට ඔබේ පරිශීලක පදනමෙන් අඩක් අහිමි වනු ඇත. ක්‍රීඩාවේ මෙන්, ක්‍රමලේඛන ලෝකයේ, වර්තමාන ස්වරූපය ද වැදගත් වේ. හැමදේම. වසර පහක් තුළ තම පරිශීලකයන්ගෙන් අඩක් අහිමි වන ඕනෑම අයෙකු Big Fat Loser ලෙස සලකනු ලැබේ. වේදිකා ලෝකයේ ඔබ ප්‍රවණතා විය යුතුය. නමුත් පැරණි අනුවාද සඳහා සහය නොදැක්වීම කාලයත් සමඟ ඔබව විනාශ කරනු ඇත්තේ මෙහිදීය. මක්නිසාද යත්, ඔබ සමහර සංවර්ධකයින් ඉවත් කරන සෑම අවස්ථාවකම, ඔබ (අ) කොන්ත්‍රාත්තුව කඩ කිරීම නිසා ඔවුන් ඔබ කෙරෙහි කෝපයෙන් සිටින නිසා සහ (ආ) ඔවුන්ව ඔබේ තරඟකරුවන්ට ලබා දීම නිසා ඔබට ඔවුන් සදහටම අහිමි වේ.

හාස්‍යයට කරුණක් නම්, මම Grok නිර්මාණය කරන විට Google හට එවැනි ප්‍රීමා ඩෝනාවක් බවට පත්වීමට උදව් කළෙමි, එය කේතය ස්වයංක්‍රීය කිරීම සහ උපකරණය කිරීම පහසු කරන මූලාශ්‍ර කේත විශ්ලේෂණ සහ අවබෝධ පද්ධතියකි - IDE එකකට සමාන නමුත් මෙහි Cloud සේවා ගබඩා කරයි. විශාල දත්ත ගබඩාවක් තුළ Google මූලාශ්‍ර කේතයේ සියලුම බිලියන ගණනක රේඛාවල ද්‍රව්‍යමය නිරූපණය.

Grok Googlers හට ඔවුන්ගේ සම්පූර්ණ කේත පදනම (වචනයෙන් Google පුරා) හරහා ස්වයංක්‍රීය ප්‍රතිනිර්මාණය කිරීම් සිදු කිරීම සඳහා ප්‍රබල රාමුවක් ලබා දුන්නේය. පද්ධතිය ඔබගේ උඩුගං පරායත්තතා (ඔබ රඳා පවතින) පමණක් නොව ගණනය කරයි බැස යනවා (ඒවා ඔබට භාරයි) එබැවින් ඔබ API වෙනස් කරන විට ඔබ කඩ කරන සියල්ලන්ම ඔබ දන්නවා! මේ ආකාරයට, ඔබ වෙනස්කම් සිදු කරන විට, ඔබේ API හි සෑම පාරිභෝගිකයෙකුම නව අනුවාදයට යාවත්කාලීන කර ඇති බව ඔබට සත්‍යාපනය කළ හැකි අතර, යථාර්ථයේ දී, බොහෝ විට ඔවුන් විසින් ලියන ලද Rosie මෙවලම සමඟ, ඔබට ක්‍රියාවලිය සම්පූර්ණයෙන්ම ස්වයංක්‍රීය කළ හැකිය.

මෙය Google හි කේත පදනම අභ්‍යන්තරව පාහේ අද්භූත ලෙස පිරිසිදු වීමට ඉඩ සලසයි, මන්ද ඔවුන් මෙම රොබෝ සේවකයන් නිවස පුරා සැරිසරන අතර ඔවුන් SomeDespicablyLongFunctionName ලෙස SomeDespicablyLongMethodName ලෙස නැවත නම් කළහොත් සියල්ල ස්වයංක්‍රීයව පිරිසිදු කරයි, මන්ද යමෙකු එය අවලස්සන මුනුබුරෙකු බව තීරණය කළ නිසා සහ ඔහුගේ අවශ්‍යතා නිදි කරවිය යුතුය.

සහ අවංකවම, එය Google සඳහා ඉතා හොඳින් ක්‍රියා කරයි... අභ්‍යන්තරව. මම අදහස් කළේ, ඔව්, Google හි Go ප්‍රජාව අඛණ්ඩව ප්‍රතිනිර්මාණය කිරීමේ පුරුද්ද නිසා Google හි ජාවා ප්‍රජාව සමඟ හොඳින් සිනාසෙයි. ඔබ යමක් N වාරයක් නැවත ආරම්භ කරන්නේ නම්, එයින් අදහස් වන්නේ ඔබ එය N-1 වරක් ඉස්කුරුප්පු කර ඇති බව පමණක් නොව, Nth උත්සාහයේදී ඔබ එය බොහෝ විට ඉස්කුරුප්පු කර ඇති බව ටික වේලාවකට පසුව පැහැදිලි වේ. එහෙත්, විශාල වශයෙන්, ඔවුන් මේ සියලු කලබලවලට වඩා ඉහළින් සිටින අතර කේතය "පිරිසිදු" ලෙස තබා ගනී.

ගැටලුව ආරම්භ වන්නේ ඔවුන් මෙම ආකල්පය ඔවුන්ගේ වලාකුළු සේවාලාභීන් සහ වෙනත් API භාවිතා කරන්නන් මත පැටවීමට උත්සාහ කරන විටය.

මම ඔබට Emacs, Android සහ Java ගැන ටිකක් හඳුන්වා දුන්නා; නවතම සාර්ථක දිගුකාලීන වේදිකාව දෙස බලමු: වෙබ් ම. 1995 සිට අපි ෆ්ලෑෂිං ටැග් භාවිතා කරන විට HTTP කොපමණ පුනරාවර්තන සිදුවී ඇත්දැයි ඔබට සිතාගත හැකිද? සහ වෙබ් පිටු මත "ඉදිකිරීම් යටතේ" අයිකන.

නමුත් එය තවමත් ක්රියා කරයි! තවද මෙම පිටු තවමත් ක්‍රියාත්මක වේ! ඔව්, යාලුවනේ, පසුගාමී අනුකූලතාවයේ ලෝක ශූරයන් වන්නේ බ්‍රව්සර් ය. ක්‍රෝම් යනු දුර්ලභ ගූගල් වේදිකාවේ තවත් උදාහරණයක් වන අතර එහි හිස් නිවැරදිව ඉස්කුරුප්පු කර ඇති අතර, ඔබ අනුමාන කළ පරිදි, ක්‍රෝම් අනෙකුත් ගූගල් වෙතින් වෙන්වූ වැලිපිල්ල සමාගමක් ලෙස කාර්යක්ෂමව ක්‍රියාත්මක වේ.

මෙහෙයුම් පද්ධති සංවර්ධකයින් තුළ සිටින අපගේ මිතුරන්ටද ස්තූති කිරීමට මට අවශ්‍යය: Windows, Linux, APPLE FUCK YOU APPLE, FreeBSD, යනාදී., ඔවුන්ගේ සාර්ථක වේදිකාවල (Apple හොඳම C එකක් ලබා ගනී) අවාසිය නම් ඔවුන් හොඳ හේතුවක් නොමැතිව සෑම විටම සියල්ල බිඳ දැමීමයි, නමුත් කෙසේ හෝ සෑම නිකුතුවකින්ම ප්‍රජාව එය වටා ගමන් කරයි, සහ OS X බහාලුම් තවමත් සම්පූර්ණයෙන්ම යල්පැන ගොස් නැත.

නමුත් ඉන්න, ඔබ කියනවා. අපි ඇපල් සසඳන්නේ දොඩම් වලට නොවේද - Emacs/JDK/Android/Chrome වැනි තනි යන්ත්‍රයක බහු-සේවාදායක පද්ධති සහ APIs වැනි ක්ලවුඩ් සේවා වැනි තනි යන්ත්‍රයක පවතින මෘදුකාංග පද්ධති?

හොඳයි, මම මේ ගැන ඊයේ ට්වීට් කළා, නමුත් ලැරී වෝල් (Programming Language හි නිර්මාතෘ - perl - දළ වශයෙන්.) ශෛලිය තුල "sucks/rules" යන මූලධර්මය මත මම වචනය සොයා බැලුවෙමි. අතහැර දමනු ලැබේ Google සහ Amazon සංවර්ධක අඩවි වල. AWS සතුව තිබුණත් සිය ගනනක් GCP ට වඩා වාර ගණනක් වැඩි සේවා පිරිනැමීම්, Google හි සංවර්ධක ලේඛනවල ක්ෂයවීම් හත් ගුණයකින් පමණ නිතර සඳහන් කරයි.

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

නමුත් මේ වසර ගණනාවකට පසුවත්, Google Cloud තවමත් අංක 3 සේවාවයි (මම කිසි විටෙකත් අංක 2 බවට පත්වීමේ අසාර්ථක උත්සාහය ගැන ලිපියක් ලියා නැත), නමුත් අභ්‍යන්තරිකයින් විශ්වාස කරන්නේ නම්, ඔවුන් ඉක්මනින් පහත වැටිය හැකි ගැටළු කිහිපයක් තිබේ. අංක 4.

මගේ නිබන්ධනය "ඔප්පු" කිරීමට මට බලගතු තර්ක නොමැත. මා සතුව ඇත්තේ සංවර්ධකයෙකු ලෙස වසර 30ක් පුරා මා රැස් කරගත් වර්ණවත් උදාහරණ පමණි. මෙම ගැටලුවේ ගැඹුරු දාර්ශනික ස්වභාවය මම දැනටමත් සඳහන් කර ඇත; යම් ආකාරයකින් එය සංවර්ධක ප්‍රජාවන් තුළ දේශපාලනීකරණය වී ඇත. සමහරු එය විශ්වාස කරති නිර්මාණකරුවන් වේදිකා ගැළපුම ගැන සැලකිලිමත් විය යුතු අතර අනෙක් අය සිතන්නේ මෙය කනස්සල්ලට කරුණක් බවයි පරිශීලකයන් (සංවර්ධකයින් විසින්ම). දෙකෙන් එකක්. ඇත්ත වශයෙන්ම, පොදු ප්‍රශ්නවල පිරිවැය දැරිය යුත්තේ කවුරුන්ද යන්න අප තීරණය කරන විට එය දේශපාලන ප්‍රශ්නයක් නොවේද?

ඉතින් මේක තමයි දේශපාලනය. ඒ වගේම මගේ කතාවට බොහෝ විට කෝපාවිෂ්ට ප්‍රතිචාර ඇති වේවි.

කොහොමද පරිශීලකයා Google Cloud Platform, සහ වසර දෙකක AWS පරිශීලකයෙකු ලෙස (Grab සඳහා වැඩ කරන අතරතුර), ප්‍රමුඛතා සම්බන්ධයෙන් Amazon සහ Google හි දර්ශන අතර විශාල වෙනසක් ඇති බව මට පැවසිය හැකිය. මම AWS මත සක්‍රියව දියුණු නොවෙමි, එබැවින් ඔවුන් කොපමණ වාරයක් පැරණි API ඉවත් කරන්නේ දැයි මම හොඳින් නොදනිමි. නමුත් Google හි මෙන් මෙය බොහෝ විට සිදු නොවන බවට සැකයක් පවතී. GCP හි මෙම නිරන්තර මතභේදයේ සහ කලකිරීමේ මූලාශ්‍රය වේදිකාවේ සංවර්ධනය අඩාල කරන විශාලතම සාධකයක් බව මම සැබවින්ම විශ්වාස කරමි.

මම තවදුරටත් සහාය නොදක්වන GCP පද්ධති සඳහා නිශ්චිත උදාහරණ නම් නොකළ බව මම දනිමි. ජාල (පැරණිම සිට VPC දක්වා) සිට ආචයනය (Cloud SQL v1-v2), Firebase (දැන් සම්පූර්ණයෙන්ම වෙනස් API එකක් සහිත Firestore), App Engine (අපි ආරම්භ නොකරමු) දක්වා මා භාවිතා කළ සෑම දෙයක්ම පාහේ බව මට පැවසිය හැක. , cloud endpoints Cloud Endpoint සහ දක්වා... මම දන්නේ නැහැ - නියත වශයෙන්ම මේ සියල්ල උපරිම වසර 2-3කට පසුව කේතය නැවත ලිවීමට ඔබට බල කළ අතර, ඔවුන් කිසිවිටෙක ඔබ වෙනුවෙන් සංක්‍රමණය ස්වයංක්‍රීය නොකළ අතර බොහෝ විට ලේඛනගත සංක්‍රමණ මාර්ගයක් තිබුණේ නැත. එය එසේ විය යුතු වූවාක් මෙන්.

මම AWS බලන හැම වෙලාවකම මම මගෙන්ම අහනවා ඇයි මම තාම GCP එකේ ඉන්නේ කියලා. ඔවුන්ට පැහැදිලිවම ගනුදෙනුකරුවන් අවශ්‍ය නැත. ඔවුන්ට අවශ්යයි ගැනුම්කරුවන්. ඔබට වෙනස තේරෙනවාද? මට පැහැදිලි කරන්න දෙන්න.

Google Cloud සතුව ඇත වෙළඳපොළෙහි, මිනිසුන් ඔවුන්ගේ මෘදුකාංග විසඳුම් යෝජනා කරන තැන්වල සහ හිස් ආපනශාලා ආචරණය වළක්වා ගැනීම සඳහා, ඔවුන්ට එය යෝජනා කිහිපයක් පිරවීමට අවශ්‍ය වූ අතර, එබැවින් ඔවුන් "එක් ක්ලික් කිරීමකින්" යෙදවිය හැකි විසඳුම් සමූහයක් නිර්මාණය කිරීමට Bitnami නම් සමාගමක් සමඟ ගිවිසුම් ගත විය. මම එය "විසඳුම්" ලෙස ලියන්නේ මේවා මගුලක් විසඳන්නේ නැති බැවිනි. ඒවා හුදෙක් පිරික්සුම් පෙට්ටි ලෙස, අලෙවිකරණ පිරවුමක් ලෙස පවතින අතර, මෙවලම් කිසිවක් සත්‍ය වශයෙන්ම ක්‍රියා කරන්නේ දැයි Google කිසිවිටෙක තැකීමක් කර නැත. රියදුරු අසුනේ සිටි නිෂ්පාදන කළමනාකරුවන් මම දනිමි, මෙම පුද්ගලයින් ගණන් නොගන්නා බව මට සහතික විය හැකිය.

උදාහරණයක් ලෙස, "එක්-ක්ලික්" යෙදවීමේ විසඳුමක් යැයි කියනු ලැබේ. පර්කෝනා. මම ගූගල් ක්ලවුඩ් SQL ෂෙනානිගන්ස් නිසා මරණයට පත් වූ අතර, ඒ නිසා මම විකල්පයක් ලෙස මගේම පර්කෝනා පොකුරක් තැනීමට පටන් ගතිමි. මේ වතාවේ ගූගල් හොඳ කාර්යයක් කර ඇති බවක් පෙනෙන්නට තිබුණි, ඔවුන් බොත්තමක් ක්ලික් කිරීමෙන් මට යම් කාලයක් හා වෑයමක් ඉතිරි කරයි!

නියමයි, අපි යමු. අපි සබැඳිය අනුගමනය කර මෙම බොත්තම ක්ලික් කරමු. සියලු පෙරනිමි සැකසුම් වලට එකඟ වීමට "ඔව්" තෝරන්න සහ ඔබේ Google වලාකුළු ව්‍යාපෘතියේ පොකුර යෙදවීමට. හහ්, ඒක හරියන්නේ නෑ. මේ කිසිම ජරාව වැඩක් නෑ. මෙවලම කිසි විටෙකත් පරීක්‍ෂා නොකළ අතර එය පළමු මිනිත්තුවේ සිට කුණු වීමට පටන් ගත් අතර "විසඳුම්" වලින් අඩකට වඩා එක් ක්ලික් යෙදවීම් නම් එය මා පුදුමයට පත් නොවනු ඇත (උපුටා දැක්වීම් ඇයි දැයි දැන් අපට වැටහේ) පොදුවේ වැඩ කරන්නේ නෑ. මෙය සම්පූර්ණයෙන්ම බලාපොරොත්තු රහිත අන්ධකාරයකි, එහිදී ඇතුළු නොවීම වඩා හොඳය.

නමුත් ගූගල් හරි දිරිගන්වයි ඔබ ඒවා භාවිතා කිරීමට. ඔවුන් ඔබට අවශ්යයි මිලදී ගත්තා. ඔවුන්ට එය ගනුදෙනුවකි. ඔවුන්ට කිසිවක් අවශ්ය නැත සහයෝගය. එය Google හි DNA වල කොටසක් නොවේ. ඔව්, බිග්ටේබල් සමඟ මගේ කතාවෙන් පෙනෙන පරිදි ඉංජිනේරුවන් එකිනෙකාට සහයෝගය දක්වයි. නමුත් සාමාන්‍ය මිනිසුන් සඳහා නිෂ්පාදන සහ සේවා වලදී ඔවුන් හැම විටම තුළ නිර්දය විය ඕනෑම සේවාවක් වසා දැමීම, මිලියන ගණනක් භාවිතා කරන්නන් සිටියත් ලාභදායිත්වය සඳහා තීරුව සපුරාලන්නේ නැත.

මෙය GCP සඳහා සැබෑ අභියෝගයක් ඉදිරිපත් කරයි, මන්ද මෙය සියලුම වලාකුළු පිරිනැමීම් පිටුපස ඇති DNA වේ. ඔවුන් කිසිම දෙයකට සහයෝගය දැක්වීමට උත්සාහ නොකරයි; ඔවුන් ඕනෑම තෙවන පාර්ශවීය මෘදුකාංගයක් සත්කාරකත්වය (කළමනාකරණය කරන ලද සේවාවක් ලෙස) ප්‍රතික්ෂේප කරන බව දන්නා කරුණකි තුරු, AWS එයම කර එය වටා සාර්ථක ව්‍යාපාරයක් ගොඩනඟන තෙක් සහ පාරිභෝගිකයින් වචනාර්ථයෙන් එයම ඉල්ලා සිටින විට. කෙසේ වෙතත්, Google යම් දෙයකට සහාය වීමට යම් උත්සාහයක් ගත යුතුය.

මෙම ආධාරක සංස්කෘතිය නොමැතිකම, “එය වඩාත් අලංකාර කිරීමට එය බිඳ දමමු” යන මානසිකත්වය සමඟ සංවර්ධකයින් ඈත් කරයි.

ඔබට දිගුකාලීන වේදිකාවක් තැනීමට අවශ්‍ය නම් එය හොඳ දෙයක් නොවේ.

Google, අවදි වෙන්න, අපරාදේ. දැන් 2020 යි. ඔබ තවමත් පරදිනවා. කැඩපත දෙස දැඩි බැල්මක් හෙළා ඔබට ඇත්තටම වලාකුළු ව්‍යාපාරයේ රැඳී සිටීමට අවශ්‍ය දැයි පිළිතුරු දීමට කාලයයි.

ඉන්න ඕන නම් එහෙනම් සියල්ල බිඳ දැමීම නවත්වන්න. යාලුවනේ, ඔයා පොහොසත්. අපි සංවර්ධකයින් එසේ නොවේ. එබැවින් ගැළපුමේ බර උසුලන්නේ කවුරුන්ද යන්න සම්බන්ධයෙන්, ඔබ එය ඔබම භාර ගත යුතුය. අපි වෙනුවෙන් නෙවෙයි.

මක්නිසාද යත් අවම වශයෙන් තවත් හොඳ වලාකුළු තුනක්වත් ඇති බැවිනි. ඔවුන් අඬගසයි.

දැන් මම මගේ කැඩුණු පද්ධති සියල්ල නිවැරදි කිරීමට ඉදිරියට යන්නෙමි. ඊ.

ඊළඟ වතාවේ තෙක්!

මෙම ලිපියේ සමහර සාකච්ඡා කියවීමෙන් පසු PS යාවත්කාලීන කරන්න (සාකච්ඡා විශිෂ්ටයි, btw). Firebase සහාය අත්හිටුවා නැති අතර මා දන්නා කිසිදු සැලසුමක් නොමැත. කෙසේ වෙතත්, ඔවුන් ජාවා සේවාදායකයා App Engine හි ඇනහිටීමට හේතු වන නරක ප්‍රවාහ දෝෂයක් ඇත. ඔවුන්ගේ ඉංජිනේරුවෙකු මෙම ගැටලුව විසඳීමට මට උදව් කළා, මම Google හි වැඩ කරන විට, නමුත් ඔවුන් කිසි විටෙකත් දෝෂය නිවැරදි කළේ නැත, එබැවින් මට සෑම දිනකම GAE යෙදුම නැවත ආරම්භ කිරීමට අවශ්‍ය ක්‍රමානුකූල වැඩකි. ඉතින් එය වසර හතරක් ගත වී ඇත! එයාලට දැන් Firestore තියෙනවා. එය සම්පූර්ණයෙන්ම වෙනස් පද්ධතියක් වන අතර Firebase දෝෂය කිසිවිටෙක නිවැරදි නොවන බැවින් එයට සංක්‍රමණය වීමට විශාල වෙහෙසක් දැරීමට සිදුවේ. කුමන නිගමනයකට එළඹිය හැකිද? ඔබට උපකාර ලබා ගත හැක ඔබ සමාගමක වැඩ කරන්නේ නම්. මම GAE හි Firebase භාවිතා කරන්නේ 100% දේශීය යෙදුමකට යතුරු 100කට වඩා අඩු ප්‍රමාණයක් නිසා සහ දන්නා දෝෂයක් හේතුවෙන් එය දින දෙකකට වරක් ක්‍රියා කිරීම නවත්වන නිසා බොහෝ විට මා පමණක් විය හැක. ඔබේම අවදානමකින් එය භාවිතා කිරීම හැර මට කුමක් කිව හැකිද? මම රෙඩිස් එකට මාරු වෙනවා.

AWS සාමාන්‍යයෙන් කිසිඳු සේවාවක් සඳහා සහය දැක්වීම නතර නොකරන බව තවත් පළපුරුදු AWS භාවිතා කරන්නන් කීපදෙනෙක් ද මම දැක ඇත්තෙමි, සහ SimpleDB හොඳ උදාහරණයක්. AWS හට Google මෙන් උපකාරක රෝගයේ අවසානයක් නොමැති බව මගේ උපකල්පන සාධාරණ බව පෙනේ.

මීට අමතරව, දින 20කට පෙර Google App Engine කණ්ඩායම තීරණාත්මක Go පුස්තකාලයක සත්කාරකත්වය බිඳ දැමූ බව මම දුටුවෙමි, මූලික Go සංවර්ධකයෙකුගෙන් GAE යෙදුමක් වසා දමන ලදී. එය ඇත්තෙන්ම මෝඩ විය.

අවසාන වශයෙන්, ගූගල් කරුවන් දැනටමත් මෙම ගැටලුව ගැන සාකච්ඡා කරන බවත් සාමාන්‍යයෙන් මා සමඟ එකඟ වන බවත් මම අසා ඇත්තෙමි (ඔබට ආදරෙයි!). නමුත් Google හි සංස්කෘතියට කිසි විටෙක නිවැරදි දිරිගැන්වීමේ ව්‍යුහයක් නොතිබූ නිසා ගැටලුව විසඳිය නොහැකි යැයි ඔවුන් සිතන බව පෙනේ. ග්‍රාබ් හි සේවය කරන අතරතුර AWS ඉංජිනේරුවන් සමඟ මා වැඩ කළ අතිශය විශ්මයජනක අත්දැකීම සාකච්ඡා කිරීමට යම් කාලයක් ගත කිරීම හොඳ යැයි මම සිතුවෙමි. අනාගතයේ දවසක, මම බලාපොරොත්තු වෙනවා!

ඔව්, 2005 දී ඔවුන් ගොඩනැඟිලි 43 හි යෝධ බුෆේ එකේ විවිධ වර්ගයේ මෝර මස් තිබී ඇති අතර, මගේ ප්‍රියතම වූයේ hammerhead මෝර මස් ය. කෙසේ වෙතත්, 2006 වන විට, ලැරී සහ සර්ජි සියළුම සෞඛ්‍යයට අහිතකර ආහාර වලින් මිදුණි. ඉතින් 2007 Bigtable කතාවේදී ඇත්තටම මෝරුන් හිටියේ නැහැ මම ඔයාව රැවැට්ටුවා.

මම මීට අවුරුදු හතරකට කලින් cloud Bigtable බලපුවාම ( දෙන්න හෝ ගන්න ) මෙතන තමයි වියදම උනේ. එය දැන් ටිකක් පහත වැටී ඇති බව පෙනේ, නමුත් හිස් දත්ත ගබඩාවක් සඳහා එය තවමත් භයානක දෙයකි, විශේෂයෙන් මගේ පළමු කතාවෙන් පෙන්නුම් කරන්නේ හිස් විශාල වගුවක් ඒවායේ පරිමාණයෙන් කෙතරම් නොසැලකිලිමත්ද යන්නයි.

Apple ප්‍රජාව අමනාප කිරීම ගැන සහ Microsoft යනාදිය ගැන හොඳ කිසිවක් නොකියා සිටීම ගැන සමාවන්න. ඔබ සියල්ල හොඳින්, මෙම ලිපිය ජනනය කර ඇති සියලුම සාකච්ඡා මම ඉතා අගය කරමි! ඒත් සමහර වෙලාවට සාකච්ඡාවක් පටන් ගන්න ටිකක් රැල්ලක් ඇති කරන්න ඕන, දන්නවද?

කියවීමට ස්තූතියි.

යාවත්කාලීන 2, 19.08.2020/XNUMX/XNUMX. ඉරි API නිවැරදිව යාවත්කාලීන කරයි!

යාවත්කාලීන 3, 31.08.2020/2/2. මගේ පැරණි මිතුරෙකු බවට පත් වූ Cloud Marketplace හි Google ඉංජිනේරුවෙකු විසින් මා සම්බන්ධ කර ගන්නා ලදී. ඔහුට CXNUMXD ක්‍රියා නොකරන්නේ මන්දැයි සොයා ගැනීමට අවශ්‍ය වූ අතර, එය මා වසර ගණනාවකට පෙර මගේ ජාලය ගොඩනගා තිබූ නිසා බවත්, උපජාල පරාමිතිය ඒවායේ සැකිලිවල නොමැති නිසා CXNUMXD ලෙගසි ජාල මත ක්‍රියා නොකළ බවත් අවසානයේ අපට වැටහුණි. විභව GCP භාවිතා කරන්නන් Google හි ප්‍රමාණවත් ඉංජිනේරුවන් දන්නා බව සහතික කර ගැනීම වඩාත් සුදුසු යැයි මම සිතමි...

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