ప్రియమైన Google క్లౌడ్, వెనుకకు అనుకూలం కాకపోవడం మిమ్మల్ని చంపేస్తోంది.

పాపం గూగుల్, నేను మళ్లీ బ్లాగ్ చేయాలనుకోలేదు. నేను చేయాల్సింది చాలా ఉంది. బ్లాగింగ్‌కు సమయం, శక్తి మరియు సృజనాత్మకత అవసరం, నేను వీటిని సద్వినియోగం చేసుకోగలను: నా పుస్తకాలు, музыка, నా ఆట మరియు మొదలైనవి. కానీ నేను దీన్ని వ్రాయవలసిందిగా మీరు నన్ను విసిగించారు.

కాబట్టి దీనిని ముగించుదాం.

నేను Googleలో పని చేయడం ప్రారంభించినప్పటి నుండి చిన్న కానీ బోధనాత్మకమైన కథనంతో ప్రారంభిస్తాను. నేను ఇటీవల Google గురించి చాలా చెడ్డ విషయాలు చెబుతున్నానని నాకు తెలుసు, కానీ నా స్వంత కంపెనీ క్రమం తప్పకుండా అసమర్థ వ్యాపార నిర్ణయాలు తీసుకుంటే అది నన్ను కలవరపెడుతుంది. అదే సమయంలో, మేము దాని కారణాన్ని ఇవ్వాలి: Google యొక్క అంతర్గత మౌలిక సదుపాయాలు నిజంగా అసాధారణమైనవి, ఈ రోజు మెరుగైనది ఏమీ లేదని చెప్పడం సురక్షితం. Google వ్యవస్థాపకులు నా కంటే మెరుగైన ఇంజనీర్లు, మరియు ఈ కథనం ఆ వాస్తవాన్ని మాత్రమే నిర్ధారిస్తుంది.

ముందుగా, కొద్దిగా నేపథ్యం: Google అనే డేటా నిల్వ సాంకేతికత ఉంది బిగ్ టేబుల్. ఇది ఒక విశేషమైన సాంకేతిక విజయం, ఇది మొదటిది (మొదటిది కాకపోయినా) "అనంతమైన స్కేలబుల్" కీ-వాల్యూ స్టోర్ (K/V): ముఖ్యంగా NoSQL ప్రారంభం. ఈ రోజుల్లో బిగ్‌టేబుల్ ఇప్పటికీ రద్దీగా ఉండే K/V నిల్వ స్థలంలో బాగా పని చేస్తోంది, అయితే ఆ సమయంలో (2005) ఇది అద్భుతంగా ఉంది.

బిగ్‌టేబుల్ గురించిన ఒక తమాషా ఏమిటంటే, పెద్ద ఇండెక్స్‌లతో టాబ్లెట్ సర్వర్లు అని పిలువబడే అంతర్గత నియంత్రణ ప్లేన్ ఆబ్జెక్ట్‌లను (అమలు చేయడంలో భాగంగా) కలిగి ఉన్నారు మరియు సిస్టమ్‌ను స్కేలింగ్ చేసేటప్పుడు అవి ఏదో ఒక సమయంలో అడ్డంకిగా మారాయి. బిగ్‌టేబుల్ ఇంజనీర్లు స్కేలబిలిటీని ఎలా అమలు చేయాలనే దానిపై అయోమయంలో ఉన్నారు మరియు వారు టాబ్లెట్ సర్వర్‌లను ఇతర బిగ్‌టేబుల్ నిల్వతో భర్తీ చేయగలరని అకస్మాత్తుగా గ్రహించారు. కాబట్టి Bigtable అనేది Bigtable అమలులో భాగం. ఈ నిల్వ సౌకర్యాలు అన్ని స్థాయిలలో ఉన్నాయి.

మరొక ఆసక్తికరమైన వివరాలు ఏమిటంటే, కొంతకాలంగా బిగ్‌టేబుల్ Googleలో ప్రజాదరణ పొందింది మరియు ప్రతి జట్టుకు దాని స్వంత రిపోజిటరీని కలిగి ఉంది. కాబట్టి శుక్రవారం సమావేశాలలో ఒకదానిలో, లారీ పేజ్ అడిగాడు: “మనకు ఒకటి కంటే ఎక్కువ బిగ్‌టేబుల్‌లు ఎందుకు ఉన్నాయి? ఒక్కటి మాత్రమే ఎందుకు కాదు?" సిద్ధాంతపరంగా, Google యొక్క అన్ని నిల్వ అవసరాలకు ఒక నిల్వ సరిపోతుంది. వాస్తవానికి, వారు ఆచరణాత్మక అభివృద్ధి కారణాల కోసం (సంభావ్య వైఫల్యం యొక్క పరిణామాలు వంటివి) కేవలం ఒకదానికి వెళ్లలేదు, కానీ సిద్ధాంతం ఆసక్తికరంగా ఉంది. మొత్తం విశ్వానికి ఒక రిపోజిటరీ (మార్గం ద్వారా, అమెజాన్ తమ సేబుల్‌తో ఇలా చేసిందో ఎవరికైనా తెలుసా?)

ఏది ఏమైనా, ఇదిగో నా కథ.

ఆ సమయంలో, నేను కేవలం రెండు సంవత్సరాలుగా Googleలో పని చేస్తున్నాను మరియు ఒక రోజు నాకు బిగ్‌టేబుల్ ఇంజనీరింగ్ బృందం నుండి ఒక ఇమెయిల్ వచ్చింది, అది ఇలా జరిగింది:

ప్రియమైన స్టీవ్,

బిగ్ టేబుల్ టీమ్ నుండి హలో. మీరు [డేటా సెంటర్ పేరు] వద్ద చాలా పాత బిగ్ టేబుల్ బైనరీని ఉపయోగిస్తున్నారని మేము మీకు తెలియజేయాలనుకుంటున్నాము. ఈ సంస్కరణకు ఇకపై మద్దతు లేదు మరియు తాజా సంస్కరణకు అప్‌గ్రేడ్ చేయడంలో మేము మీకు సహాయం చేయాలనుకుంటున్నాము.

ఈ సమస్యపై కలిసి పని చేయడానికి మీరు కొంత సమయాన్ని షెడ్యూల్ చేయగలరా అని దయచేసి నాకు తెలియజేయండి.

అంతా మంచి జరుగుగాక,
బిగ్ టేబుల్ టీమ్

Googleలో మీరు చాలా మెయిల్‌లను పొందుతారు, కాబట్టి మొదటి చూపులో నేను ఇలాంటివి చదివాను:

ప్రియమైన గ్రహీత,

కొంతమంది బృందం నుండి హలో. మేము బ్లా బ్లా బ్లా బ్లా బ్లా అని కమ్యూనికేట్ చేయాలనుకుంటున్నాము. బ్లా బ్లా బ్లా బ్లా బ్లా బ్లా, మరియు బ్లా బ్లా బ్లా వెంటనే.

దయచేసి మీరు బ్లా బ్లా బ్లా కోసం మీ విలువైన సమయాన్ని షెడ్యూల్ చేయగలరా అని మాకు తెలియజేయండి.

అంతా మంచి జరుగుగాక,
ఒక రకమైన ఆదేశం

నేను వెంటనే దాన్ని దాదాపుగా తొలగించాను, కానీ నా స్పృహ అంచున నేను బాధాకరమైన, బాధాకరమైన అనుభూతిని అనుభవించాను నిజంగా కాదు ఇది ఒక అధికారిక లేఖ వలె కనిపిస్తుంది స్పష్టంగా, నేను బిగ్‌టేబుల్‌ని ఉపయోగించనందున స్వీకర్త తప్పుగా భావించారు.

కానీ విచిత్రంగా ఉంది.

నేను రోజంతా ప్రత్యామ్నాయంగా పని గురించి మరియు మైక్రో-కిచెన్‌లో ఎలాంటి షార్క్ మాంసాన్ని ప్రయత్నించాలి అనే దాని గురించి ఆలోచిస్తూ గడిపాను, అందులో కనీసం మూడు బిస్కెట్‌ను బాగా లక్ష్యంగా విసిరి నా సీటు నుండి కొట్టడానికి సరిపోయేంత దగ్గరగా ఉన్నాయి, కానీ వ్రాత యొక్క ఆలోచన నన్ను ఎప్పుడూ తేలికపాటి ఆందోళనను పెంచలేదు.

వారు నా పేరు స్పష్టంగా చెప్పారు. మరియు ఇమెయిల్ నా ఇమెయిల్ చిరునామాకు పంపబడింది, మరొకరిది కాదు మరియు అది cc: లేదా bcc: కాదు. స్వరం చాలా వ్యక్తిగతమైనది మరియు స్పష్టంగా ఉంది. బహుశా ఇది ఒక రకమైన పొరపాటు?

చివరగా, ఉత్సుకత పెరిగింది మరియు నేను వారు పేర్కొన్న డేటా సెంటర్‌లోని బోర్గ్ కన్సోల్‌ని చూడటానికి వెళ్ళాను.

మరియు వాస్తవానికి, నేను నిర్వహణలో BigTable నిల్వను కలిగి ఉన్నాను. నన్ను క్షమించండి, ఏమిటి? నేను దాని కంటెంట్‌లను చూశాను మరియు వావ్! ఇది జూన్ 2005లో Googleలో నా మొదటి వారంలో నేను కూర్చున్న కోడ్‌ల్యాబ్ ఇంక్యుబేటర్ నుండి వచ్చింది. కోడ్‌ల్యాబ్ అక్కడ కొన్ని విలువలను వ్రాయడానికి బిగ్‌టేబుల్‌ని అమలు చేయమని మిమ్మల్ని బలవంతం చేసింది మరియు నేను ఆ తర్వాత స్టోరేజ్‌ని ఎప్పుడూ మూసివేయలేదు. రెండేళ్లకు పైగా గడిచినా అది పని చేస్తూనే ఉంది.

ఈ కథలో అనేక ముఖ్యమైన అంశాలు ఉన్నాయి. ముందుగా, బిగ్‌టేబుల్ యొక్క పని Google స్థాయిలో చాలా తక్కువగా ఉంది, కేవలం రెండు సంవత్సరాల తర్వాత ఎవరైనా అదనపు నిల్వను గమనించారు మరియు బైనరీ వెర్షన్ పాతది అయినందున మాత్రమే. పోలిక కోసం, నేను ఒకసారి ఉపయోగించాలని భావించాను Google క్లౌడ్‌లో పెద్ద పట్టిక నా ఆన్‌లైన్ గేమ్ కోసం. ఆ సమయంలో, ఈ సేవ సంవత్సరానికి సుమారు $16 ఖర్చు అవుతుంది. ఖాళీ GCPలో పెద్ద పట్టిక. వారు మిమ్మల్ని స్కామ్ చేస్తున్నారని నేను చెప్పడం లేదు, కానీ నా వ్యక్తిగత అభిప్రాయం ప్రకారం, ఖాళీ ఫకింగ్ డేటాబేస్ కోసం ఇది చాలా డబ్బు.

మరో గమనించదగ్గ అంశం ఏమిటంటే నిల్వ రెండేళ్ల తర్వాత ఇప్పటికీ పనిచేస్తున్నారు. WTF? డేటా కేంద్రాలు వస్తాయి మరియు వెళ్తాయి; వారు అంతరాయాలను అనుభవిస్తారు, వారు షెడ్యూల్ చేయబడిన నిర్వహణకు లోనవుతారు, అవి అన్ని సమయాలలో మారుతూ ఉంటాయి. హార్డ్‌వేర్ నవీకరించబడింది, స్విచ్‌లు మార్చబడతాయి, ప్రతిదీ నిరంతరం మెరుగుపరచబడుతోంది. ఇన్ని మార్పులతో నా కార్యక్రమాన్ని రెండేళ్లపాటు ఎలా కొనసాగించగలిగారు? ఇది 2020లో నిరాడంబరమైన విజయంగా అనిపించవచ్చు, కానీ 2005-2007లో ఇది బాగా ఆకట్టుకుంది.

మరియు అత్యంత అద్భుతమైన అంశం ఏమిటంటే, వేరే రాష్ట్రంలోని బయటి ఇంజినీరింగ్ బృందం, బిగ్‌టేబుల్ యొక్క కొన్ని చిన్న, దాదాపు ఖాళీ ఉదాహరణకి యజమాని అయిన నన్ను సంప్రదించింది. జీరో ట్రాఫిక్ గత రెండు సంవత్సరాలుగా - మరియు దానిని అప్‌డేట్ చేయడానికి సహాయం అందిస్తున్నారు.

నేను వారికి కృతజ్ఞతలు తెలిపాను, నిల్వను తొలగించాను మరియు జీవితం యథావిధిగా కొనసాగింది. కానీ పదమూడేళ్ల తర్వాత కూడా ఆ ఉత్తరం గురించే ఆలోచిస్తున్నాను. ఎందుకంటే కొన్నిసార్లు నేను Google క్లౌడ్ నుండి ఇలాంటి ఇమెయిల్‌లను స్వీకరిస్తాను. అవి ఇలా కనిపిస్తాయి:

ప్రియమైన Google క్లౌడ్ వినియోగదారు,

రిమైండర్‌గా, మేము ఆగస్ట్ 2020 నాటికి [మీరు ఉపయోగించే ముఖ్యమైన సేవ] సేవను నిలిపివేస్తాము, ఆ తర్వాత మీరు మీ ఇన్‌స్టాన్స్‌లను అప్‌గ్రేడ్ చేయలేరు. బీటా టెస్టింగ్‌లో ఉన్న, డాక్యుమెంటేషన్ లేని, మైగ్రేషన్ పాత్ లేని తాజా వెర్షన్‌కి అప్‌గ్రేడ్ చేయమని మేము సిఫార్సు చేస్తున్నాము మరియు మా సహాయంతో ఇదివరకే పాతది.

Google క్లౌడ్ ప్లాట్‌ఫారమ్‌లోని వినియోగదారులందరిపై ఈ మార్పు అతితక్కువ ప్రభావాన్ని చూపుతుందని నిర్ధారించడానికి మేము కట్టుబడి ఉన్నాము.

ఎప్పటికీ మంచి స్నేహితులు,
Google క్లౌడ్ ప్లాట్‌ఫారమ్

కానీ నేను అలాంటి లేఖలను ఎప్పుడూ చదవలేదు, ఎందుకంటే వారు వాస్తవానికి చెప్పేది:

ప్రియమైన గ్రహీత,

నరకానికి వెళ్ళు. ఫక్ యు, ఫక్ యు, ఫక్ యు. మీరు చేసే ప్రతి పనిని వదిలివేయండి ఎందుకంటే ఇది పట్టింపు లేదు. మన సమయం ముఖ్యం. మేము మా చెత్తను నిర్వహించడానికి సమయాన్ని మరియు డబ్బును వృధా చేస్తాము మరియు మేము దానితో విసిగిపోయాము కాబట్టి మేము ఇకపై మద్దతు ఇవ్వము. కాబట్టి మీ ఫకింగ్ ప్లాన్‌లను విడిచిపెట్టి, మా చెత్త డాక్యుమెంటేషన్‌ను తవ్వడం ప్రారంభించండి, ఫోరమ్‌లలో స్క్రాప్‌ల కోసం వేడుకోవడం ప్రారంభించండి మరియు మార్గం ద్వారా, మా కొత్త ఒంటి పాత ఒంటికి పూర్తిగా భిన్నంగా ఉంది, ఎందుకంటే మేము ఈ డిజైన్‌ను చాలా చెడ్డగా చేసాము, హే, కానీ అది మీది సమస్య, మాది కాదు.

మీ అభివృద్ధిలన్నీ ఒక సంవత్సరంలో నిరుపయోగంగా ఉండేలా మేము ప్రయత్నాలు చేస్తూనే ఉన్నాము.

దయచేసి ఫక్ ఆఫ్ చేయండి
Google క్లౌడ్ ప్లాట్‌ఫారమ్

మరియు వాస్తవం ఏమిటంటే నేను నెలకు ఒకసారి అలాంటి లేఖలను అందుకుంటాను. ఇది చాలా తరచుగా మరియు నిరంతరం జరుగుతుంది కాబట్టి అవి అనివార్యంగా ఉంటాయి దూరంగా నెట్టారు నేను GCP నుండి యాంటీ క్లౌడ్ క్యాంప్‌కి. నేను ఇకపై వారి యాజమాన్య డెవలప్‌మెంట్‌లపై ఆధారపడటానికి అంగీకరించను, ఎందుకంటే వాస్తవానికి డెవొప్‌లు "చెల్లిన" ఉత్పత్తులను మూసివేసే విధానాన్ని Googleతో కొనసాగించడానికి ప్రయత్నించడం కంటే బేర్ వర్చువల్ మెషీన్‌లో ఓపెన్ సోర్స్ సిస్టమ్‌ను నిర్వహించడం సులభం.

నేను Google క్లౌడ్‌కి తిరిగి వెళ్లడానికి ముందు ఎందుకంటే I దగ్గరగా కూడా లేదు వాటిని విమర్శించడం పూర్తి కాలేదు, మరికొన్ని రంగాల్లో కంపెనీ పనితీరును చూద్దాం. Google ఇంజనీర్లు తమ సాఫ్ట్‌వేర్ ఇంజనీరింగ్ క్రమశిక్షణపై గర్వపడతారు మరియు ఇది వాస్తవానికి సమస్యలను కలిగిస్తుంది. అహంకారం అనేది అజాగ్రత్త కోసం ఒక ఉచ్చు, మరియు ఇది చాలా మంది Google ఉద్యోగులు తమ నిర్ణయాలు ఎల్లప్పుడూ సరైనదేనని మరియు కస్టమర్‌ల గురించి పట్టించుకోవడం కంటే సరైనది (కొన్ని అస్పష్టమైన అస్పష్టమైన నిర్వచనం ప్రకారం) చాలా ముఖ్యమైనదని భావించేలా చేసింది.

నేను Google వెలుపలి ఇతర పెద్ద ప్రాజెక్ట్‌ల నుండి కొన్ని యాదృచ్ఛిక ఉదాహరణలను ఇస్తాను, కానీ మీరు ఈ నమూనాను ప్రతిచోటా చూస్తారని నేను ఆశిస్తున్నాను. ఇది క్రింది విధంగా ఉంది: వెనుకబడిన అనుకూలత దశాబ్దాలుగా సిస్టమ్‌లను సజీవంగా మరియు తాజాగా ఉంచుతుంది.

వెనుకకు అనుకూలత అనేది రూపొందించబడిన అన్ని విజయవంతమైన సిస్టమ్‌ల రూపకల్పన లక్ష్యం తెరవండి ఉపయోగం, అంటే, ఓపెన్ సోర్స్ కోడ్ మరియు/లేదా ఓపెన్ స్టాండర్డ్స్‌తో అమలు చేయబడుతుంది. ప్రతి ఒక్కరూ అసౌకర్యంగా ఉన్నారని నేను చాలా స్పష్టంగా చెబుతున్నట్లు నాకు అనిపిస్తుంది, కానీ లేదు. ఇది రాజకీయ సమస్య కాబట్టి ఉదాహరణలు కావాలి.

నేను ఎంచుకునే మొదటి సిస్టమ్ పురాతనమైనది: GNU Emacs, ఇది విండోస్ నోట్‌ప్యాడ్, OS కెర్నల్ మరియు అంతర్జాతీయ అంతరిక్ష కేంద్రం మధ్య హైబ్రిడ్ రకం. ఇది వివరించడం కొంచెం కష్టం, కానీ క్లుప్తంగా చెప్పాలంటే, Emacs అనేది 1976లో (అవును, దాదాపు అర్ధ శతాబ్దం క్రితం) ప్రోగ్రామింగ్ కోసం రూపొందించబడిన ప్లాట్‌ఫారమ్, ఇది మిమ్మల్ని మరింత ఉత్పాదకతను కలిగిస్తుంది, కానీ టెక్స్ట్ ఎడిటర్‌గా మారువేషంలో ఉంది.

నేను ప్రతిరోజూ Emacsని ఉపయోగిస్తాను. అవును, నేను ప్రతిరోజూ IntelliJని కూడా ఉపయోగిస్తాను, ఇది దాని స్వంత శక్తితో శక్తివంతమైన టూలింగ్ ప్లాట్‌ఫారమ్‌గా ఎదిగింది. కానీ IntelliJ కోసం పొడిగింపులను వ్రాయడం Emacs కోసం పొడిగింపులను వ్రాయడం కంటే చాలా ప్రతిష్టాత్మకమైన మరియు సంక్లిష్టమైన పని. మరియు మరింత ముఖ్యంగా, Emacs కోసం వ్రాసిన ప్రతిదీ భద్రపరచబడింది నిత్య.

నేను 1995లో Emacs కోసం వ్రాసిన సాఫ్ట్‌వేర్‌నే ఇప్పటికీ ఉపయోగిస్తున్నాను. మరియు 80ల మధ్యకాలంలో ఎమాక్స్ కోసం వ్రాసిన మాడ్యూల్‌లను ఎవరైనా ఉపయోగిస్తున్నారని నేను ఖచ్చితంగా అనుకుంటున్నాను. వారికి ఎప్పటికప్పుడు కొద్దిగా ట్వీకింగ్ అవసరం కావచ్చు, కానీ ఇది నిజంగా చాలా అరుదు. రీ-ఆర్కిటెక్చర్ అవసరమయ్యే నేను Emacs కోసం వ్రాసిన (మరియు నేను చాలా వ్రాసాను) ఏదీ నాకు తెలియదు.

Emacs వాడుకలో లేని ఎంటిటీల కోసం make-obsolete అనే ఫంక్షన్‌ను కలిగి ఉంది. ప్రాథమిక కంప్యూటర్ కాన్సెప్ట్‌ల కోసం ఇమాక్స్ పరిభాష ("విండో" అంటే ఏమిటి) తరచుగా పరిశ్రమ సంప్రదాయాల నుండి భిన్నంగా ఉంటుంది, ఎందుకంటే Emacs వాటిని చాలా కాలం క్రితం పరిచయం చేసింది. సమయం కంటే ముందు ఉన్నవారికి ఇది ఒక సాధారణ ప్రమాదం: మీ నిబంధనలన్నీ తప్పు. కానీ ఎమాక్స్‌కు డిప్రికేషన్ అనే భావన ఉంది, దానిని వారి పరిభాషలో అంటారు వాడుకలో లేనిది.

కానీ ఈమాక్స్ ప్రపంచంలో వేరే పని నిర్వచనం కనిపిస్తుంది. వేరే అంతర్లీన తత్వశాస్త్రం, మీరు కోరుకుంటే.

Emacs ప్రపంచంలో (మరియు మేము క్రింద కవర్ చేసే అనేక ఇతర ప్రాంతాలలో), నిలిపివేయబడిన API స్థితి ప్రాథమికంగా అర్థం: "మీరు నిజంగా ఈ విధానాన్ని ఉపయోగించకూడదు, ఎందుకంటే ఇది పని చేస్తున్నప్పుడు, ఇది మేము చేసే అనేక లోపాలతో బాధపడుతోంది. ఇక్కడ జాబితా. కానీ రోజు చివరిలో, అది మీ ఇష్టం."

Google ప్రపంచంలో, వాడుకలో లేదు అంటే, "మేము మీ పట్ల మా నిబద్ధతను ఉల్లంఘిస్తున్నాము." ఇది నిజం. ఇది ప్రధానంగా అర్థం. వారు మిమ్మల్ని బలవంతం చేస్తారని దీని అర్థం క్రమం తప్పకుండా వాటిని నమ్మినందుకు శిక్షగా కొంత పని చేయండి, బహుశా చాలా పని చేయండి రంగుల ప్రకటనలు: మా వద్ద అత్యుత్తమ సాఫ్ట్‌వేర్ ఉంది. వేగవంతమైన! మీరు సూచనల ప్రకారం ప్రతిదీ చేస్తారు, మీ అప్లికేషన్ లేదా సేవను ప్రారంభించండి, ఆపై బామ్, ఒకటి లేదా రెండు సంవత్సరాల తర్వాత అది విచ్ఛిన్నమవుతుంది.

1500 కి.మీ తర్వాత ఖచ్చితంగా పాడైపోయే వాడిన కారును అమ్మడం లాంటిది.

ఇవి "నిరుపయోగం" యొక్క రెండు పూర్తిగా భిన్నమైన తాత్విక నిర్వచనాలు. వాసనకు Google నిర్వచనం ప్రణాళికాబద్ధమైన వాడుకలో లేదు. నేను దీన్ని నమ్మను నిజానికి Apple వలె అదే అర్థంలో వాడుకలో లేని ప్రణాళిక. కానీ Google ఖచ్చితంగా మీ ప్రోగ్రామ్‌లను రౌండ్అబౌట్ మార్గంలో విచ్ఛిన్నం చేయడానికి ప్లాన్ చేస్తోంది. నేను 12 సంవత్సరాలకు పైగా సాఫ్ట్‌వేర్ ఇంజనీర్‌గా పనిచేసినందున నాకు ఇది తెలుసు. ఎంత వెనుకకు అనుకూలతను అనుసరించాలి అనే దానిపై వారు అస్పష్టమైన అంతర్గత మార్గదర్శకాలను కలిగి ఉన్నారు, అయితే ఇది చివరికి ప్రతి వ్యక్తి బృందం లేదా సేవపై ఆధారపడి ఉంటుంది. ఎంటర్‌ప్రైజ్ లేదా ఇంజినీరింగ్-స్థాయి సిఫార్సులు ఏవీ లేవు మరియు వాడుకలో లేని చక్రాల పరంగా ధైర్యమైన సిఫార్సు ఏమిటంటే "కస్టమర్‌లకు వారి మొత్తం వ్యవస్థను విచ్ఛిన్నం చేయడానికి ముందు అప్‌గ్రేడ్ చేయడానికి 6-12 నెలల సమయం ఇవ్వడానికి ప్రయత్నించండి."

సమస్య వారు అనుకున్నదానికంటే చాలా పెద్దది మరియు కస్టమర్ కేర్ వారి DNAలో లేనందున ఇది రాబోయే సంవత్సరాల్లో కొనసాగుతుంది. దీని గురించి మరింత దిగువన.

ఈ సమయంలో నేను ఎమాక్స్ చాలా వరకు విజయవంతమైందని ధైర్యంగా ప్రకటన చేయబోతున్నాను ఎక్కువగా ఎందుకంటే వారు వెనుకకు అనుకూలతను చాలా తీవ్రంగా పరిగణిస్తారు. అసలైన, ఇది మా వ్యాసం యొక్క థీసిస్. విజయవంతమైన, దీర్ఘకాలిక ఓపెన్ సిస్టమ్‌లు తమ విజయానికి దశాబ్దాలుగా తమ చుట్టూ ఉన్న సూక్ష్మ సంఘాలకు రుణపడి ఉంటాయి పొడిగింపులు/ప్లగిన్లు. ఇది పర్యావరణ వ్యవస్థ. ప్లాట్‌ఫారమ్‌ల స్వభావం మరియు అవి ఎంత ముఖ్యమైనవి అనే దాని గురించి నేను ఇప్పటికే మాట్లాడాను మరియు Android లేదా Chrome వెలుపల విజయవంతమైన ఓపెన్ ప్లాట్‌ఫారమ్‌ను సృష్టించడం గురించి Google తన మొత్తం కార్పొరేట్ చరిత్రలో ఎన్నడూ అర్థం చేసుకోలేదు.

వాస్తవానికి, నేను ఆండ్రాయిడ్ గురించి క్లుప్తంగా ప్రస్తావించాలి ఎందుకంటే మీరు బహుశా దాని గురించి ఆలోచిస్తున్నారు.

అన్నింటిలో మొదటిది, ఆండ్రాయిడ్ గూగుల్ కాదు. వారు ఒకరికొకరు దాదాపు ఏమీ లేదు. ఆండ్రాయిడ్ అనేది జూలై 2005లో Google చేత కొనుగోలు చేయబడిన ఒక సంస్థ, కంపెనీ ఎక్కువ లేదా తక్కువ స్వయంప్రతిపత్తితో పనిచేయడానికి అనుమతించబడింది మరియు వాస్తవానికి ఈ మధ్య సంవత్సరాల్లో పెద్దగా తాకబడలేదు. ఆండ్రాయిడ్ ఒక అపఖ్యాతి పాలైన టెక్ స్టాక్ మరియు అదే విధంగా అపఖ్యాతి పాలైన సంస్థ. ఒక గూగ్లర్ చెప్పినట్లుగా, "మీరు కేవలం Androidకి లాగిన్ చేయలేరు."

మునుపటి కథనంలో, Android యొక్క కొన్ని ప్రారంభ డిజైన్ నిర్ణయాలు ఎంత చెడ్డవి అని నేను చర్చించాను. హెక్, నేను ఆ కథనాన్ని వ్రాసినప్పుడు వారు "ఇన్‌స్టంట్ యాప్‌లు" అని పిలవబడే చెత్తను విడుదల చేస్తున్నారు (ఆశ్చర్యం!) కాలం చెల్లిన, మరియు మీరు Googleని వినడానికి మరియు మీ కంటెంట్‌ను ఈ ఇన్‌స్టంట్ యాప్‌లకు తరలించేంత తెలివితక్కువవారు అయితే నేను సానుభూతి వ్యక్తం చేస్తున్నాను.

కానీ ఇక్కడ ఒక తేడా ఉంది, ఒక ముఖ్యమైన తేడా ఉంది, అంటే Android వ్యక్తులు ప్లాట్‌ఫారమ్‌లు ఎంత ముఖ్యమైనవో నిజంగా అర్థం చేసుకుంటారు, పాత Android యాప్‌లు పని చేయడానికి వారు తమ వంతు ప్రయత్నం చేస్తారు. వాస్తవానికి, వెనుకకు అనుకూలతను కొనసాగించడానికి వారి ప్రయత్నాలు చాలా విపరీతంగా ఉన్నాయి, నేను కూడా కొన్ని సంవత్సరాల క్రితం ఆండ్రాయిడ్ డివిజన్‌లో నా క్లుప్త పనిలో, కొన్ని పురాతన పరికరాలు మరియు APIలకు మద్దతును వదులుకోమని వారిని ఒప్పించేందుకు ప్రయత్నించాను (నేను తప్పు చేశాను , గత మరియు ప్రస్తుత అనేక ఇతర విషయాలలో ఉన్నట్లుగా. క్షమించండి ఆండ్రాయిడ్ అబ్బాయిలు! ఇప్పుడు నేను ఇండోనేషియాకు వెళ్లాను, మనకు అవి ఎందుకు అవసరమో నాకు అర్థమైంది).

ఆండ్రాయిడ్ వ్యక్తులు తమ సిస్టమ్‌లు మరియు టూల్‌చెయిన్‌లలో భారీ మొత్తంలో లెగసీ టెక్నికల్ డెట్‌ను పోగు చేసి, దాదాపుగా ఊహించలేని విపరీతాలకు అనుకూలతను వెనుకకు నెట్టారు. ఓహ్ మై గాడ్, వారి బిల్డ్ సిస్టమ్‌లో వారు చేసే కొన్ని వెర్రి పనులను మీరు చూడాలి, అన్నీ అనుకూలత పేరుతో.

దీని కోసం, నేను ఆండ్రాయిడ్‌కు గౌరవనీయమైన "యు ఆర్ నాట్ గూగుల్" అవార్డును ప్రదానం చేస్తున్నాను. వారు నిజంగా మన్నికైన ప్లాట్‌ఫారమ్‌లను ఎలా సృష్టించాలో తెలియని Googleగా మారాలని కోరుకోరు, కానీ Android తెలుసు, ఇది ఎలా చెయ్యాలి. కాబట్టి Google ఒక విషయంలో చాలా తెలివిగా వ్యవహరిస్తోంది: Androidలో వ్యక్తులు తమ స్వంత మార్గంలో పనులు చేసుకోవడానికి అనుమతిస్తుంది.

అయితే, Android కోసం తక్షణ యాప్‌లు చాలా తెలివితక్కువ ఆలోచన. మరి ఎందుకో తెలుసా? ఎందుకంటే వారు డిమాండ్ చేశారు మీ దరఖాస్తును తిరిగి వ్రాయండి మరియు పునఃరూపకల్పన చేయండి! ప్రజలు కేవలం రెండు మిలియన్ల దరఖాస్తులను తిరిగి వ్రాసినట్లుగా ఉంది. ఇన్‌స్టంట్ యాప్‌లు అనేది కొంతమంది గూగ్లర్ ఆలోచన అని నేను ఊహిస్తున్నాను.

కానీ తేడా ఉంది. వెనుకబడిన అనుకూలత అధిక ధరతో వస్తుంది. ఈ ఖర్చుల భారాన్ని ఆండ్రాయిడ్ స్వయంగా భరిస్తుంది, అయితే భారాన్ని భరించాలని గూగుల్ పట్టుబట్టింది вы, చెల్లింపు క్లయింట్.

మీరు దాని APIలలో వెనుకకు అనుకూలతకు Android నిబద్ధతను చూడవచ్చు. మీరు నాలుగు లేదా ఐదు వేర్వేరు సబ్‌సిస్టమ్‌లు అక్షరాలా అదే పనిని చేస్తున్నప్పుడు, కోర్‌లో వెనుకకు అనుకూలతకు నిబద్ధత ఉందని ఇది ఖచ్చితంగా సంకేతం. ప్లాట్‌ఫారమ్‌ల ప్రపంచంలో ఏది మీ కస్టమర్‌లు మరియు మీ మార్కెట్ పట్ల నిబద్ధతకు పర్యాయపదంగా ఉంటుంది.

ఇక్కడ Google యొక్క ప్రధాన సమస్య వారి ఇంజనీరింగ్ పరిశుభ్రతలో వారి గర్వం. ఒకే పనిని చేయడానికి అనేక విభిన్న మార్గాలు ఉన్నప్పుడు, కొత్త, ఫ్యాన్సీయర్ మార్గాల పక్కన పాత, తక్కువ కోరుకునే మార్గాలతో కూర్చోవడం వారికి ఇష్టం లేదు. ఇది సిస్టమ్‌కు కొత్త వారికి అభ్యాస వక్రతను పెంచుతుంది, ఇది లెగసీ APIలను నిర్వహించడం యొక్క భారాన్ని పెంచుతుంది, ఇది కొత్త ఫీచర్ల వేగాన్ని తగ్గిస్తుంది మరియు కార్డినల్ పాపం ఇది అందంగా లేదు. గూగుల్ - టిమ్ బర్టన్ యొక్క ఆలిస్ ఇన్ వండర్ల్యాండ్ నుండి లేడీ అస్కాట్ లాగా:

లేడీ అస్కాట్:
- ఆలిస్, నేను దేనికి ఎక్కువగా భయపడుతున్నానో మీకు తెలుసా?
- దొరల క్షీణత?
- నేను కలిగి ఉంటానని భయపడ్డాను వికారమైన మనవరాళ్ళు.

అందమైన మరియు ఆచరణాత్మకమైన మధ్య లావాదేవీని అర్థం చేసుకోవడానికి, మూడవ విజయవంతమైన ప్లాట్‌ఫారమ్‌ను (Emacs మరియు Android తర్వాత) చూద్దాం మరియు అది ఎలా పనిచేస్తుందో చూద్దాం: జావా కూడా.

జావాలో చాలా పాత APIలు ఉన్నాయి. జావా ప్రోగ్రామర్‌లలో డిప్రికేషన్ చాలా ప్రజాదరణ పొందింది, చాలా ప్రోగ్రామింగ్ భాషలలో కంటే కూడా ఎక్కువ జనాదరణ పొందింది. జావా, ప్రధాన భాష మరియు లైబ్రరీలు నిరంతరం APIలను నిరాకరిస్తూనే ఉన్నాయి.

వేల ఉదాహరణల్లో ఒక్కటి మాత్రమే తీసుకుంటే, థ్రెడ్లను మూసివేయడం వాడుకలో లేనిదిగా పరిగణించబడుతుంది. డిసెంబర్ 1.2లో జావా 1998 విడుదలైనప్పటి నుండి ఇది నిలిపివేయబడింది. దీన్ని రద్దు చేసి 22 ఏళ్లు పూర్తయ్యాయి.

కానీ ఉత్పత్తిలో నా అసలు కోడ్ ఇప్పటికీ థ్రెడ్‌లను చంపుతోంది ప్రతి రోజు. ఇది మంచిదని మీరు నిజంగా అనుకుంటున్నారా? ఖచ్చితంగా! నా ఉద్దేశ్యం, నేను ఈ రోజు కోడ్‌ను తిరిగి వ్రాస్తే, నేను దానిని భిన్నంగా అమలు చేస్తాను. కానీ గత రెండు దశాబ్దాలుగా లక్షలాది మందిని సంతోషపెట్టిన నా గేమ్ కోడ్, చాలా పొడవుగా వేలాడుతున్న థ్రెడ్‌లను మూసివేయడానికి ఒక ఫంక్షన్‌తో వ్రాయబడింది మరియు నేను దానిని మార్చవలసిన అవసరం లేదు. నా సిస్టమ్ అందరికంటే నాకు బాగా తెలుసు, ఉత్పత్తిలో దానితో పనిచేసిన అక్షరాలా 25 సంవత్సరాల అనుభవం నాకు ఉంది మరియు నేను ఖచ్చితంగా చెప్పగలను: నా విషయంలో, ఈ నిర్దిష్ట వర్కర్ థ్రెడ్‌లను మూసివేయడం పూర్తిగా ప్రమాదకరం. ఈ కోడ్‌ని తిరిగి వ్రాయడానికి సమయం మరియు కృషి విలువైనది కాదు మరియు ఒరాకిల్ నన్ను తిరిగి వ్రాయమని బలవంతం చేయనందుకు లారీ ఎల్లిసన్ (బహుశా) ధన్యవాదాలు.

ఒరాకిల్ బహుశా ప్లాట్‌ఫారమ్‌లను కూడా అర్థం చేసుకుంటుంది. ఎవరికీ తెలుసు.

కోర్ జావా APIల అంతటా ఆధారాలు కనుగొనబడతాయి, ఇవి ఒక లోయలోని హిమానీనదం యొక్క రేఖల వలె వాడుకలో లేని అలలతో నిండి ఉన్నాయి. మీరు జావా స్వింగ్ లైబ్రరీలో ఐదు లేదా ఆరు వేర్వేరు కీబోర్డ్ నావిగేషన్ మేనేజర్‌లను (కీబోర్డ్ ఫోకస్ మేనేజర్) సులభంగా కనుగొనవచ్చు. విస్మరించబడని జావా APIని కనుగొనడం నిజానికి కష్టం. కానీ అవి ఇప్పటికీ పనిచేస్తాయి! ఇంటర్‌ఫేస్ మెరుస్తున్న భద్రతా సమస్యను కలిగిస్తే మాత్రమే జావా బృందం నిజంగా APIని తొలగిస్తుందని నేను భావిస్తున్నాను.

ఇక్కడ విషయం ఏమిటంటే, ఫోల్క్స్: మేము సాఫ్ట్‌వేర్ డెవలపర్‌లమందరం చాలా బిజీగా ఉన్నాము మరియు సాఫ్ట్‌వేర్ యొక్క ప్రతి రంగంలో మేము పోటీపడే ప్రత్యామ్నాయాలను ఎదుర్కొంటున్నాము. ఏ సమయంలోనైనా, X భాషలోని ప్రోగ్రామర్లు Y భాషని సాధ్యమైన ప్రత్యామ్నాయంగా పరిగణిస్తున్నారు. ఓహ్, మీరు నన్ను నమ్మలేదా? మీరు దీన్ని స్విఫ్ట్ అని పిలవాలనుకుంటున్నారా? ఇలా, ప్రతి ఒక్కరూ స్విఫ్ట్‌కి వలస వెళుతున్నారు మరియు ఎవరూ దానిని విడిచిపెట్టడం లేదు, సరియైనదా? వావ్, మీకు ఎంత తక్కువ తెలుసు. కంపెనీలు డ్యూయల్ మొబైల్ డెవలప్‌మెంట్ టీమ్‌ల (iOS మరియు ఆండ్రాయిడ్) ఖర్చులను లెక్కిస్తున్నాయి - మరియు ఫ్లట్టర్ మరియు రియాక్ట్ నేటివ్ వంటి ఫన్నీ పేర్లతో ఉన్న క్రాస్-ప్లాట్‌ఫారమ్ డెవలప్‌మెంట్ సిస్టమ్‌లు వాస్తవానికి పనిచేస్తాయని మరియు వాటి పరిమాణాన్ని తగ్గించడానికి ఉపయోగించవచ్చని వారు గ్రహించడం ప్రారంభించారు. మొబైల్ బృందాలు రెండుసార్లు లేదా, దానికి విరుద్ధంగా, వాటిని రెండు రెట్లు ఉత్పాదకతను కలిగిస్తాయి. ప్రమాదంలో నిజమైన డబ్బు ఉంది. అవును, రాజీలు ఉన్నాయి, కానీ, మరోవైపు, డబ్బు.

యాపిల్ మూర్ఖంగా గైడో వాన్ రోసమ్ నుండి క్యూ తీసుకుని, స్విఫ్ట్ 6.0 స్విఫ్ట్ 5.0తో వెనుకకు అనుకూలంగా లేదని ప్రకటించింది, పైథాన్ 3 పైథాన్ 2కి అనుకూలంగా లేదు.

నేను బహుశా ఈ కథను దాదాపు పదేళ్ల క్రితం చెప్పాను, కానీ దాదాపు పదిహేనేళ్ల క్రితం నేను గైడోతో కలిసి ఓ'రైల్లీస్ ఫూ క్యాంప్‌కి వెళ్లాను, పాల్ గ్రాహంతో పాటు టెంట్‌లో కూర్చుని పెద్ద షాట్‌లు కొట్టాను. లారీ పేజ్ తన వ్యక్తిగత హెలికాప్టర్‌లో ఎగిరిపోయే వరకు మేము మండుతున్న వేడిలో కూర్చున్నాము, గైడో "పైథాన్ 3000"లో డ్రోన్ చేసాడు, ప్రతి ఒక్కరూ అక్కడికి వలస వెళ్ళడానికి ఎన్ని సంవత్సరాలు పడుతుంది. అతను అనుకూలతను ఎందుకు విచ్ఛిన్నం చేస్తున్నాడని మేము అతనిని అడిగాము మరియు అతను ఇలా సమాధానమిచ్చాడు: "యూనికోడ్." మరియు మేము అడిగాము, మేము మా కోడ్‌ను తిరిగి వ్రాయవలసి వస్తే, మనం ఏ ఇతర ప్రయోజనాలను చూస్తాము? మరియు అతను "Yoooooooooooooooouuuuuuuuniiiiiiicoooooooode" అని జవాబిచ్చాడు.

మీరు Google క్లౌడ్ ప్లాట్‌ఫారమ్ SDK ("gcloud")ని ఇన్‌స్టాల్ చేస్తే, మీరు క్రింది నోటిఫికేషన్‌ను అందుకుంటారు:

ప్రియమైన గ్రహీత,

పైథాన్ 2కి మద్దతు నిలిపివేయబడిందని మేము మీకు గుర్తు చేయాలనుకుంటున్నాము, కాబట్టి మిమ్మల్ని ఫక్ చేయండి

… మరియు అందువలన న. జీవిత వృత్తం.

కానీ ప్రతి డెవలపర్‌కు ఎంపిక ఉంటుంది. మరియు మీరు తరచుగా కోడ్‌ని తిరిగి వ్రాయమని వారిని బలవంతం చేస్తే, వారు దాని గురించి ఆలోచించవచ్చు ఇతర ఎంపికలు. వారు మీ బందీలు కాదు, మీరు వారిని ఎంతగా కోరుకున్నా. వారు మీ అతిథులు. పైథాన్ ఇప్పటికీ చాలా ప్రజాదరణ పొందిన ప్రోగ్రామింగ్ లాంగ్వేజ్, కానీ పాపం, పైథాన్ 3(000) తన కమ్యూనిటీలలో మరియు దాని కమ్యూనిటీల వినియోగదారులలో పదిహేను సంవత్సరాలుగా దాని పర్యవసానాలను క్లియర్ చేయలేదు.

ఈ బ్యాక్‌వర్డ్ అననుకూలత కారణంగా Go (లేదా రూబీ లేదా ఏదైనా ఇతర ప్రత్యామ్నాయం)లో ఎన్ని పైథాన్ ప్రోగ్రామ్‌లు తిరిగి వ్రాయబడ్డాయి? పైథాన్ కాకుండా వేరే దానిలో ఎంత కొత్త సాఫ్ట్‌వేర్ వ్రాయబడింది అవ్వచ్చు పైథాన్‌లో వ్రాయబడింది, గైడో గ్రామం మొత్తాన్ని కాల్చివేయకపోతే? చెప్పడం కష్టం, కానీ పైథాన్ స్పష్టంగా బాధపడ్డాడు. ఇది పెద్ద గందరగోళం మరియు ప్రతి ఒక్కరూ నష్టపోతారు.

కాబట్టి Apple Guido నుండి క్యూ తీసుకొని అనుకూలతను విచ్ఛిన్నం చేస్తుందని అనుకుందాం. తరువాత ఏమి జరుగుతుందని మీరు అనుకుంటున్నారు? సరే, 80-90% మంది డెవలపర్లు వీలైతే వారి సాఫ్ట్‌వేర్‌ను తిరిగి వ్రాస్తారు. మరో మాటలో చెప్పాలంటే, 10-20% యూజర్ బేస్ స్వయంచాలకంగా ఫ్లట్టర్ వంటి కొన్ని పోటీ భాషలకు వెళుతుంది.

ఇలా అనేక సార్లు చేయండి మరియు మీరు మీ వినియోగదారు బేస్‌లో సగం కోల్పోతారు. క్రీడలలో వలె, ప్రోగ్రామింగ్ ప్రపంచంలో, ప్రస్తుత రూపం కూడా ముఖ్యమైనది. అన్ని. ఐదేళ్లలో సగం మంది వినియోగదారులను కోల్పోయిన ఎవరైనా బిగ్ ఫ్యాట్ లూజర్‌గా పరిగణించబడతారు. ప్లాట్‌ఫారమ్‌ల ప్రపంచంలో మీరు తప్పనిసరిగా ట్రెండీగా ఉండాలి. కానీ ఇక్కడే పాత సంస్కరణలకు మద్దతు ఇవ్వకపోవడం కాలక్రమేణా మిమ్మల్ని నాశనం చేస్తుంది. ఎందుకంటే మీరు కొంతమంది డెవలపర్‌లను తొలగించిన ప్రతిసారీ, మీరు (ఎ) ఒప్పందాన్ని ఉల్లంఘించినందుకు మీపై కోపంగా ఉన్నందున మీరు వారిని శాశ్వతంగా కోల్పోతారు మరియు (బి) వాటిని మీ పోటీదారులకు ఇవ్వండి.

హాస్యాస్పదంగా, నేను గ్రోక్‌ని సృష్టించినప్పుడు వెనుకకు అనుకూలతను విస్మరించే ప్రైమా డోనాగా మారడానికి Googleకి నేను సహాయం చేసాను, ఇది ఒక సోర్స్ కోడ్ విశ్లేషణ మరియు అవగాహన వ్యవస్థ, ఇది కోడ్‌ను స్వయంచాలకంగా మరియు ఇన్‌స్ట్రుమెంట్ చేయడాన్ని సులభతరం చేస్తుంది - IDE లాగానే, కానీ ఇక్కడ క్లౌడ్ సర్వీస్ స్టోర్ చేస్తుంది పెద్ద డేటా వేర్‌హౌస్‌లో అన్ని బిలియన్ల పంక్తుల Google సోర్స్ కోడ్ యొక్క మెటీరియలైజ్డ్ ప్రాతినిధ్యాలు.

గ్రోక్ గూగ్లర్‌లకు వారి మొత్తం కోడ్‌బేస్ (అక్షరాలా Google అంతటా) అంతటా ఆటోమేటెడ్ రీఫ్యాక్టరింగ్‌లను నిర్వహించడానికి శక్తివంతమైన ఫ్రేమ్‌వర్క్‌ను అందించాడు. సిస్టమ్ మీ అప్‌స్ట్రీమ్ డిపెండెన్సీలను మాత్రమే కాకుండా (మీరు ఆధారపడే వాటిపై) కూడా లెక్కిస్తుంది అవరోహణ (అవి మీ ఇష్టం) కాబట్టి మీరు APIలను మార్చినప్పుడు మీరు విచ్ఛిన్నం చేస్తున్న ప్రతి ఒక్కరికీ తెలుస్తుంది! ఈ విధంగా, మీరు మార్పులు చేసినప్పుడు, మీ API యొక్క ప్రతి వినియోగదారుడు కొత్త సంస్కరణకు నవీకరించబడ్డారని మీరు ధృవీకరించవచ్చు మరియు వాస్తవానికి, తరచుగా వారు వ్రాసిన రోసీ సాధనంతో, మీరు ప్రక్రియను పూర్తిగా ఆటోమేట్ చేయవచ్చు.

ఇది Google యొక్క కోడ్‌బేస్ అంతర్గతంగా దాదాపు అతీంద్రియంగా శుభ్రంగా ఉండటానికి అనుమతిస్తుంది, ఎందుకంటే వారి వద్ద ఈ రోబోటిక్ సేవకులు ఇంటి చుట్టూ తిరుగుతూ ఉంటారు మరియు వారు SomeDespicablyLongFunctionName పేరును SomeDespicablyLongMethodNameగా మార్చినట్లయితే స్వయంచాలకంగా ప్రతిదీ శుభ్రపరుస్తుంది, ఎందుకంటే ఎవరైనా ఇది వికారమైన మనవడు మరియు అతనిని నిద్రపోవాలి.

మరియు స్పష్టంగా, ఇది Google కోసం చాలా బాగా పనిచేస్తుంది... అంతర్గతంగా. నా ఉద్దేశ్యం, అవును, Googleలోని Go కమ్యూనిటీ నిరంతరం రీఫ్యాక్టరింగ్ చేసే అలవాటు కారణంగా Googleలోని జావా సంఘంతో బాగా నవ్వుతుంది. మీరు ఏదైనా N సార్లు పునఃప్రారంభించినట్లయితే, మీరు దానిని N-1 సార్లు మాత్రమే స్క్రూ చేయలేదని అర్థం, కానీ కొంత సమయం తర్వాత మీరు బహుశా Nth ప్రయత్నంలో కూడా దాన్ని స్క్రూ చేసినట్లు స్పష్టంగా తెలుస్తుంది. కానీ, పెద్దగా, వారు ఈ రచ్చలన్నింటికీ మించి ఉంటారు మరియు కోడ్‌ను “క్లీన్” గా ఉంచుతారు.

వారు తమ క్లౌడ్ క్లయింట్‌లు మరియు ఇతర APIల వినియోగదారులపై ఈ వైఖరిని విధించడానికి ప్రయత్నించినప్పుడు సమస్య ప్రారంభమవుతుంది.

నేను మీకు Emacs, Android మరియు Javaకి కొద్దిగా పరిచయం చేసాను; తాజా విజయవంతమైన దీర్ఘకాల ప్లాట్‌ఫారమ్‌ను చూద్దాం: వెబ్‌లోనే. మేము ఫ్లాషింగ్ ట్యాగ్‌లను ఉపయోగించినప్పుడు 1995 నుండి HTTP ఎన్ని పునరావృత్తులు జరిగిందో మీరు ఊహించగలరా? మరియు వెబ్ పేజీలలో "అండర్ కన్స్ట్రక్షన్" చిహ్నాలు.

కానీ ఇది ఇప్పటికీ పనిచేస్తుంది! మరియు ఈ పేజీలు ఇప్పటికీ పని చేస్తున్నాయి! అవును, అబ్బాయిలు, వెనుకబడిన అనుకూలతలో బ్రౌజర్‌లు ప్రపంచ ఛాంపియన్‌లు. Chrome అనేది అరుదైన Google ప్లాట్‌ఫారమ్‌కు మరొక ఉదాహరణ, దాని తలలు సరిగ్గా స్క్రూ చేయబడుతున్నాయి మరియు మీరు ఊహించినట్లుగా, Chrome ఇతర Google నుండి వేరుగా ఉన్న శాండ్‌బాక్స్డ్ కంపెనీగా సమర్థవంతంగా పనిచేస్తుంది.

ఆపరేటింగ్ సిస్టమ్ డెవలపర్‌లలోని మా స్నేహితులకు కూడా నేను ధన్యవాదాలు చెప్పాలనుకుంటున్నాను: Windows, Linux, NOT APPLE FUCK YOU APPLE, FreeBSD మొదలైనవి, వారి విజయవంతమైన ప్లాట్‌ఫారమ్‌లలో (ఆపిల్ ఉత్తమంగా Cని పొందుతుంది) ప్రతికూలత ఏమిటంటే, వారు ఎటువంటి మంచి కారణం లేకుండా ప్రతిదాన్ని విచ్ఛిన్నం చేస్తారు, కానీ ఏదో ఒకవిధంగా సంఘం ప్రతి విడుదలతో దాని చుట్టూ తిరుగుతుంది మరియు OS X కంటైనర్లు ఇప్పటికీ పూర్తిగా వాడుకలో లేవు... ఇంకా).

అయితే వేచి ఉండండి, మీరు అంటున్నారు. మేము ఆపిల్‌లను ఆరెంజ్‌లతో పోల్చడం లేదా - Emacs/JDK/Android/Chrome వర్సెస్ మల్టీ-సర్వర్ సిస్టమ్‌లు మరియు క్లౌడ్ సర్వీస్‌ల వంటి API వంటి ఒకే మెషీన్‌లో స్వతంత్ర సాఫ్ట్‌వేర్ సిస్టమ్‌లు?

సరే, నేను దీని గురించి నిన్న ట్వీట్ చేసాను, కానీ లారీ వాల్ (ప్రోగ్రామింగ్ లాంగ్వేజ్ పెర్ల్ యొక్క సృష్టికర్త - సుమారుగా.) శైలిలో "సక్స్/రూల్స్" సూత్రంపై నేను పదాన్ని చూశాను. డీప్రికేటెడ్ Google మరియు Amazon డెవలపర్ సైట్‌లలో. మరియు AWS ఉన్నప్పటికీ వందల GCP కంటే రెట్లు ఎక్కువ సేవా సమర్పణలు, Google యొక్క డెవలపర్ డాక్యుమెంటేషన్ దాదాపు ఏడు రెట్లు ఎక్కువగా డిప్రికేషన్‌ను ప్రస్తావిస్తుంది.

Googleలో ఎవరైనా దీన్ని చదువుతున్నట్లయితే, వారు వాస్తవానికి ప్రతిదీ సరిగ్గా చేస్తున్నారని మరియు "తొలగించబడిన పదం యొక్క ప్రస్తావనల సంఖ్య వర్సెస్" వంటి అన్యాయమైన పోలికలను చూపించే డోనాల్డ్ ట్రంప్ తరహా చార్ట్‌లను తీసివేయడానికి వారు బహుశా సిద్ధంగా ఉంటారు. సేవల సంఖ్య ""

కానీ ఇన్ని సంవత్సరాల తర్వాత, Google క్లౌడ్ ఇప్పటికీ నంబర్. 3 సేవ (నేనెప్పుడూ నంబర్ 2 కావడానికి విఫల ప్రయత్నం గురించి కథనం రాయలేదు), కానీ అంతర్గత వ్యక్తులను విశ్వసిస్తే, వారు త్వరలో పడిపోవచ్చు అనే కొన్ని ఆందోళనలు ఉన్నాయి. సంఖ్య 4.

నా థీసిస్‌ను "రుజువు" చేయడానికి నా దగ్గర బలవంతపు వాదనలు లేవు. డెవలపర్‌గా నేను 30 ఏళ్లుగా సేకరించిన రంగుల ఉదాహరణలు మాత్రమే నా వద్ద ఉన్నాయి. ఈ సమస్య యొక్క లోతైన తాత్విక స్వభావాన్ని నేను ఇప్పటికే ప్రస్తావించాను; డెవలపర్ కమ్యూనిటీలలో కొన్ని మార్గాల్లో ఇది రాజకీయం చేయబడింది. అని కొందరు నమ్ముతున్నారు సృష్టికర్తలు ప్లాట్‌ఫారమ్‌లు అనుకూలత గురించి శ్రద్ధ వహించాలి, అయితే ఇతరులు ఇది ఆందోళనగా భావిస్తారు వినియోగదారులు (డెవలపర్లు స్వయంగా). ఇద్దరిలో ఒకటి. నిజానికి, సాధారణ సమస్యలకు అయ్యే ఖర్చులను ఎవరు భరించాలో మనం నిర్ణయించుకోవడం రాజకీయ సమస్య కాదా?

కాబట్టి ఇది రాజకీయం. మరియు బహుశా నా ప్రసంగానికి కోపంతో కూడిన ప్రతిస్పందనలు ఉండవచ్చు.

ఎలా యూజర్ Google క్లౌడ్ ప్లాట్‌ఫారమ్, మరియు AWS యూజర్‌గా రెండు సంవత్సరాలు (గ్రాబ్ కోసం పనిచేస్తున్నప్పుడు), ప్రాధాన్యతల విషయానికి వస్తే Amazon మరియు Google యొక్క ఫిలాసఫీల మధ్య చాలా వ్యత్యాసం ఉందని నేను చెప్పగలను. నేను AWSలో యాక్టివ్‌గా డెవలప్ చేయను, కాబట్టి వారు పాత APIలను ఎంత తరచుగా తీసివేస్తారో నాకు బాగా తెలియదు. అయితే ఇది దాదాపు గూగుల్‌లో జరిగినంత తరచుగా జరగడం లేదనే అనుమానం ఉంది. మరియు GCPలో స్థిరమైన వివాదాలు మరియు నిరాశకు సంబంధించిన ఈ మూలం ప్లాట్‌ఫారమ్ అభివృద్ధిని అడ్డుకునే అతిపెద్ద కారకాల్లో ఒకటి అని నేను నిజంగా నమ్ముతున్నాను.

ఇకపై మద్దతు లేని GCP సిస్టమ్‌ల యొక్క నిర్దిష్ట ఉదాహరణలను నేను పేర్కొనలేదని నాకు తెలుసు. నెట్‌వర్క్‌ల నుండి (పురాతనమైనది నుండి VPC వరకు) నిల్వ (Cloud SQL v1-v2), Firebase (ఇప్పుడు పూర్తిగా భిన్నమైన APIతో ఫైర్‌స్టోర్), యాప్ ఇంజిన్ (మనం ప్రారంభించలేము) వరకు నేను ఉపయోగించిన దాదాపు ప్రతిదీ చెప్పగలను. , క్లౌడ్ ఎండ్‌పాయింట్‌లు క్లౌడ్ ఎండ్‌పాయింట్ మరియు వరకు... నాకు తెలియదు - ఖచ్చితంగా ఇవన్నీ గరిష్టంగా 2-3 సంవత్సరాల తర్వాత కోడ్‌ని తిరిగి వ్రాయమని మిమ్మల్ని బలవంతం చేసింది మరియు వారు మీ కోసం వలసలను స్వయంచాలకంగా చేయలేదు మరియు తరచుగా ఎటువంటి పత్రబద్ధమైన వలస మార్గం లేదు. అలా ఉండాల్సిందిగా.

మరియు నేను AWSని చూసిన ప్రతిసారీ, నేను ఇప్పటికీ GCPలో ఎందుకు ఉన్నాను అని నన్ను నేను ప్రశ్నించుకుంటాను. వారికి స్పష్టంగా క్లయింట్లు అవసరం లేదు. వాళ్ళకి కావాలి కొనుగోలుదారులు. మీకు తేడా అర్థమైందా? నన్ను వివిరించనివ్వండి.

Google క్లౌడ్ కలిగి ఉంది మార్కెట్, ప్రజలు తమ సాఫ్ట్‌వేర్ సొల్యూషన్‌లను ప్రతిపాదించే చోట మరియు ఖాళీ రెస్టారెంట్ ప్రభావాన్ని నివారించడానికి, వారు దానిని కొన్ని ప్రతిపాదనలతో పూరించాల్సిన అవసరం ఉంది, కాబట్టి వారు “ఒక క్లిక్”తో అమలు చేయబడిన పరిష్కారాల సమూహాన్ని రూపొందించడానికి బిట్నామి అనే కంపెనీతో ఒప్పందం కుదుర్చుకున్నారు. నేనే "సొల్యూషన్స్" అని వ్రాస్తాను, ఎందుకంటే ఇవి తిట్టుని పరిష్కరించవు. అవి కేవలం చెక్‌బాక్స్‌లుగా, మార్కెటింగ్ ఫిల్లర్‌గా ఉన్నాయి మరియు ఏదైనా సాధనాలు వాస్తవానికి పని చేస్తున్నాయో లేదో Google ఎప్పుడూ పట్టించుకోలేదు. డ్రైవర్ సీట్‌లో ఉన్న ప్రొడక్ట్ మేనేజర్‌లు నాకు తెలుసు మరియు ఈ వ్యక్తులు పట్టించుకోరని నేను మీకు హామీ ఇస్తున్నాను.

ఉదాహరణకు, "ఒక-క్లిక్" విస్తరణ పరిష్కారాన్ని తీసుకోండి. పెర్కోనా. నేను Google క్లౌడ్ SQL షెనానిగన్‌ల కారణంగా మరణించాను, కాబట్టి నేను ప్రత్యామ్నాయంగా నా స్వంత పెర్కోనా క్లస్టర్‌ని నిర్మించడం ప్రారంభించాను. మరియు ఈసారి Google ఒక మంచి పని చేసినట్లు అనిపించింది, వారు ఒక బటన్ క్లిక్‌తో నాకు కొంత సమయం మరియు కృషిని ఆదా చేయబోతున్నారు!

చాలా బాగుంది, వెళ్దాం. లింక్‌ని అనుసరించి, ఈ బటన్‌ని క్లిక్ చేద్దాం. అన్ని డిఫాల్ట్ సెట్టింగ్‌లకు అంగీకరించడానికి “అవును” ఎంచుకోండి మరియు మీ Google క్లౌడ్ ప్రాజెక్ట్‌లో క్లస్టర్‌ని అమలు చేయండి. హా, అది పని చేయదు. ఈ చెత్త ఏదీ పనిచేయదు. సాధనం ఎప్పుడూ పరీక్షించబడలేదు మరియు అది మొదటి నిమిషం నుండి కుళ్ళిపోవటం ప్రారంభించింది మరియు "పరిష్కారాలు" సగానికి పైగా ఒక-క్లిక్ విస్తరణలు అయితే అది నాకు ఆశ్చర్యం కలిగించదు (ఇప్పుడు మేము కోట్‌లు ఎందుకు అర్థం చేసుకున్నాము) సాధారణంగా పని చేయదు. ఇది ఖచ్చితంగా నిస్సహాయ చీకటి, ఇక్కడ ప్రవేశించకపోవడమే మంచిది.

కానీ Google సరైనది ప్రేరేపించాడు మీరు వాటిని ఉపయోగించుకోండి. వారు మిమ్మల్ని కోరుకుంటున్నారు కొన్నారు. వారికి ఇది ఒక లావాదేవీ. వారికి ఏమీ అక్కర్లేదు మద్దతు. ఇది Google DNAలో భాగం కాదు. అవును, ఇంజనీర్లు ఒకరికొకరు మద్దతు ఇస్తున్నారు, బిగ్‌టేబుల్‌తో నా కథనం ద్వారా రుజువు చేయబడింది. కానీ సాధారణ ప్రజల కోసం ఉత్పత్తులు మరియు సేవలలో వారు ఎల్లప్పుడూ లో నిర్దయగా ఉన్నారు ఏదైనా సేవను మూసివేయడం, ఇది మిలియన్ల మంది వినియోగదారులను కలిగి ఉన్నప్పటికీ లాభదాయకత కోసం బార్‌ను అందుకోదు.

మరియు ఇది GCPకి నిజమైన సవాలును అందిస్తుంది ఎందుకంటే ఇది అన్ని క్లౌడ్ ఆఫర్‌ల వెనుక ఉన్న DNA. వారు దేనికీ మద్దతు ఇవ్వడానికి ప్రయత్నించరు; వారు ఏదైనా మూడవ పక్ష సాఫ్ట్‌వేర్‌ను హోస్ట్ చేయడానికి (నిర్వహించబడే సేవగా) నిరాకరిస్తారని అందరికీ తెలుసు వరకు, AWS అదే చేసి దాని చుట్టూ విజయవంతమైన వ్యాపారాన్ని నిర్మించే వరకు మరియు కస్టమర్‌లు అక్షరాలా అదే డిమాండ్ చేసినప్పుడు. అయినప్పటికీ, Googleకి ఏదైనా మద్దతునిచ్చేలా చేయడానికి కొంత ప్రయత్నం అవసరం.

ఈ మద్దతు సంస్కృతి లేకపోవడం, “దీనిని మరింత అందంగా మార్చడానికి దానిని విచ్ఛిన్నం చేద్దాం” అనే మనస్తత్వం, డెవలపర్‌లను దూరం చేస్తుంది.

మరియు మీరు దీర్ఘకాలిక ప్లాట్‌ఫారమ్‌ను నిర్మించాలనుకుంటే అది మంచిది కాదు.

Google, మేల్కొలపండి, తిట్టుకోండి. ఇప్పుడు 2020. మీరు ఇంకా ఓడిపోతున్నారు. మీరు నిజంగా క్లౌడ్ వ్యాపారంలో కొనసాగాలనుకుంటున్నారా లేదా అని అద్దంలో గట్టిగా పరిశీలించి సమాధానం చెప్పాల్సిన సమయం ఇది.

మీరు అప్పుడు ఉండాలనుకుంటే ప్రతిదీ విచ్ఛిన్నం చేయడం ఆపండి. అబ్బాయిలు, మీరు ధనవంతులు. మేము డెవలపర్లు కాదు. కాబట్టి అనుకూలత యొక్క భారాన్ని ఎవరు మోయాలి అనే విషయానికి వస్తే, మీరు దానిని మీరే తీసుకోవాలి. మన కోసం కాదు.

ఎందుకంటే కనీసం మూడు మంచి మేఘాలు ఉన్నాయి. వారు హెచ్చరిస్తున్నారు.

మరియు ఇప్పుడు నేను నా విరిగిన అన్ని సిస్టమ్‌లను పరిష్కరించడానికి ముందుకు వెళ్తాను. ఇహ్.

మరల సారి వరకు!

ఈ కథనంపై కొన్ని చర్చలను చదివిన తర్వాత PS నవీకరణ (చర్చలు చాలా బాగున్నాయి, btw). Firebase మద్దతు నిలిపివేయబడలేదు మరియు నాకు తెలిసిన ప్లాన్‌లు ఏవీ లేవు. అయినప్పటికీ, వారు జావా క్లయింట్ యాప్ ఇంజిన్‌లో నిలిచిపోయేలా చేసే దుష్ట స్ట్రీమింగ్ బగ్‌ని కలిగి ఉన్నారు. వారి ఇంజనీర్లలో ఒకరు ఈ సమస్యను పరిష్కరించడంలో నాకు సహాయం చేసారు, నేను Googleలో పనిచేసినప్పుడు, కానీ వారు నిజానికి బగ్‌ని ఎప్పటికీ పరిష్కరించలేదు, కాబట్టి నేను ప్రతిరోజూ GAE యాప్‌ని పునఃప్రారంభించాల్సిన పనికిమాలిన పరిష్కారం ఉంది. అలా నాలుగు సంవత్సరాలు గడిచాయి! వారికి ఇప్పుడు ఫైర్‌స్టోర్ ఉంది. ఇది పూర్తిగా భిన్నమైన సిస్టమ్ మరియు ఫైర్‌బేస్ బగ్ ఎప్పటికీ పరిష్కరించబడదు కాబట్టి దానికి మైగ్రేట్ చేయడానికి చాలా శ్రమ పడుతుంది. ఏ తీర్మానం చేయవచ్చు? మీరు సహాయం పొందవచ్చు మీరు కంపెనీలో పని చేస్తే. నేను 100% స్థానిక యాప్‌లో 100 కంటే తక్కువ కీలను లాగ్ చేస్తాను మరియు తెలిసిన బగ్ కారణంగా ఇది ప్రతి రెండు రోజులకు పని చేయడం ఆపివేయడం వలన నేను బహుశా GAEలో Firebaseని ఉపయోగిస్తున్న ఏకైక వ్యక్తిని. దీన్ని మీ స్వంత పూచీతో ఉపయోగించడం కంటే నేను ఏమి చెప్పగలను. నేను Redisకి మారుతున్నాను.

మరికొంత మంది అనుభవజ్ఞులైన AWS వినియోగదారులు AWS సాధారణంగా ఏ సేవలకు మద్దతు ఇవ్వడాన్ని ఆపదని మరియు SimpleDB ఒక గొప్ప ఉదాహరణ అని చెప్పడం కూడా నేను చూశాను. AWSకి Google వలె మద్దతు వ్యాధి ముగింపు లేదని నా అంచనాలు సమర్థించబడుతున్నాయి.

అదనంగా, 20 రోజుల క్రితం Google App ఇంజిన్ బృందం కీలకమైన Go లైబ్రరీ యొక్క హోస్టింగ్‌ను విచ్ఛిన్నం చేసి, కోర్ గో డెవలపర్‌లలో ఒకరి నుండి GAE అప్లికేషన్‌ను మూసివేసినట్లు నేను గమనించాను. ఇది నిజంగా స్టుపిడ్.

చివరగా, గూగ్లర్లు ఇప్పటికే ఈ సమస్యను చర్చిస్తున్నారని మరియు సాధారణంగా నాతో ఏకీభవిస్తున్నారని నేను విన్నాను (లవ్ యు అబ్బాయిలు!). కానీ Google సంస్కృతికి సరైన ప్రోత్సాహక నిర్మాణం ఎప్పుడూ లేనందున సమస్య పరిష్కరించబడదని వారు భావిస్తున్నట్లు కనిపిస్తోంది. గ్రాబ్‌లో పనిచేస్తున్నప్పుడు నేను AWS ఇంజనీర్‌లతో కలిసి పనిచేసిన అద్భుతమైన అనుభవాన్ని చర్చించడానికి కొంత సమయం తీసుకుంటే బాగుంటుందని అనుకున్నాను. భవిష్యత్తులో ఏదో ఒక రోజు, నేను ఆశిస్తున్నాను!

అవును, 2005లో వారు 43 బిల్డింగ్‌లో జెయింట్ బఫేలో వివిధ రకాల షార్క్ మాంసాన్ని కలిగి ఉన్నారు మరియు నాకు ఇష్టమైనది హామర్‌హెడ్ షార్క్ మాంసం. అయితే, 2006 నాటికి, లారీ మరియు సెర్గీ అన్ని అనారోగ్యకరమైన స్నాక్స్‌ను వదిలించుకున్నారు. కాబట్టి 2007లో బిగ్‌టేబుల్ కథనం సమయంలో నిజంగా షార్క్‌లు లేవు మరియు నేను మిమ్మల్ని మోసం చేసాను.

నేను నాలుగు సంవత్సరాల క్రితం క్లౌడ్ బిగ్‌టేబుల్‌ని చూసినప్పుడు (ఇవ్వండి లేదా తీసుకోండి), ఇక్కడే ఖర్చు అయింది. ఇది ఇప్పుడు కొంచెం తగ్గినట్లు కనిపిస్తోంది, కానీ ఖాళీగా ఉన్న డేటా వేర్‌హౌస్‌కి ఇది ఇప్పటికీ చాలా భయంకరమైనది, ప్రత్యేకించి నా మొదటి కథనం ఖాళీ పెద్ద పట్టిక వాటి స్థాయిలో ఎంత అసంబద్ధంగా ఉందో చూపిస్తుంది.

Apple కమ్యూనిటీని కించపరిచినందుకు మరియు మైక్రోసాఫ్ట్ మొదలైన వాటి గురించి మంచిగా ఏమీ చెప్పనందుకు క్షమించండి. మీరు బాగానే ఉన్నారు, ఈ కథనం సృష్టించిన మొత్తం చర్చను నేను నిజంగా అభినందిస్తున్నాను! కానీ కొన్నిసార్లు మీరు చర్చను ప్రారంభించడానికి కొంచెం తరంగాలను సృష్టించాలి, మీకు తెలుసా?

చదివినందుకు ధన్యవాదములు.

అప్‌డేట్ 2, 19.08.2020/XNUMX/XNUMX. గీత APIని సరిగ్గా నవీకరిస్తుంది!

అప్‌డేట్ 3, 31.08.2020/2/2. క్లౌడ్ మార్కెట్‌ప్లేస్‌లోని గూగుల్ ఇంజనీర్ నన్ను సంప్రదించారు, అతను నాకు పాత స్నేహితుడిగా మారాడు. CXNUMXD ఎందుకు పని చేయడం లేదని అతను గుర్తించాలనుకున్నాడు మరియు నేను నా నెట్‌వర్క్‌ను సంవత్సరాల క్రితం నిర్మించడం వల్ల మరియు CXNUMXD లెగసీ నెట్‌వర్క్‌లలో పని చేయడం లేదు ఎందుకంటే సబ్‌నెట్ పరామితి వాటి టెంప్లేట్‌లలో కనిపించడం లేదని చివరికి మేము కనుగొన్నాము. సంభావ్య GCP వినియోగదారులు తమకు Googleలో తగినంత మంది ఇంజనీర్లు తెలుసని నిర్ధారించుకోవడం ఉత్తమమని నేను భావిస్తున్నాను...

మూలం: www.habr.com