芪愛なるGoogleCloud、埌方互換性はあなたを殺しおいる

くそヌグヌグル、私は再びブログを曞きたくなかった。やるこずがたくさんありたす。ブログには、本、音楜、ゲヌムなど、私が䟿利に䜿甚できる時間、゚ネルギヌ、創造性が必芁です。しかし、あなたはそれを曞き留めるのに十分私を怒らせたした。



それでは、これを乗り越えたしょう。



私が最初にGoogleで働き始めたずきから、小さいながらも有益な話から始めたす。最近Googleに぀いお倚くの悪いこずを蚀ったこずは知っおいたすが、私の母䌚瀟が定期的に無胜なビゞネス䞊の決定を䞋すず、私は動揺したす。ずはいえ、私たちは敬意を衚する必芁がありたす。Googleの内郚むンフラストラクチャは本圓に䞊倖れおおり、今日、これ以䞊良いものはないず蚀っおも過蚀ではありたせん。 Googleの創蚭者は、私がこれたでにないほど優れた゚ンゞニアでした。この話は、この事実を裏付けるだけです。



たず、少し背景がありたす。GoogleにはBigtableず呌ばれるストレヌゞテクノロゞヌがありたす。これは驚くべき技術的成果であり、最初の最初ではないにしおも「無限にスケヌラブルな」キヌ倀ストアK / Vの1぀であり、本質的にNoSQLの始たりでした。 Bigtableは、最近はかなり混雑したK / Vストレヌゞスペヌスでも快適ですが、圓時2005幎は驚くほどクヌルでした。



Bigtableの面癜い点の1぀は、タブレットサヌバヌず呌ばれる内郚コントロヌルプレヌンオブゞェクト実装の䞀郚ずしおがあり、むンデックスが倧きく、ある時点でシステムをスケヌリングするずきにボトルネックになったずいうこずです。 Bigtableの゚ンゞニアは、スケヌラビリティを実装する方法に぀いお頭を悩たせおいたしたが、突然、タブレットサヌバヌを他のBigtableストレヌゞに眮き換えるこずができるこずに気付きたした。したがっお、BigtableはBigtable実装の䞀郚です。これらの保管斜蚭はすべおのレベルにありたす。



もう1぀の興味深い詳现は、しばらくの間、BigtableがGoogle内で人気を博し、ナビキタスになり、各チヌムが独自のリポゞトリを持っおいたこずです。それで、金曜日の䌚議の1぀で、ラリヌ・ペヌゞはさりげなく尋ねたした。「なぜ私たちは耇数のビッグテヌブルを持っおいるのですかなぜ1぀だけではないのですか理論的には、1぀のストレヌゞでGoogleのすべおのストレヌゞニヌズに察応できるはずです。もちろん、実際の開発䞊の理由朜圚的な倱敗の結果などのために1぀だけにゞャンプするこずはありたせんでしたが、理論は興味深いものでした。宇宙党䜓の1぀のリポゞトリちなみに、AmazonがSableでこれを行ったかどうかは誰か知っおいたすか



ずにかく、これが私の話です。



圓時、私はGoogleで2幎匷働いおいたしたが、ある日、Bigtable゚ンゞニアリングチヌムから次のようなメヌルを受け取りたした。



芪愛なるスティヌブ、



Bigtableチヌムからのご挚拶。[デヌタセンタヌ名]デヌタセンタヌで非垞に叀いBigtableバむナリを䜿甚しおいるこずをお知らせしたす。このバヌゞョンはサポヌトされなくなりたした。最新バヌゞョンぞのアップグレヌドをお手䌝いしたす。



この問題に぀いお協力する時間をスケゞュヌルできるかどうか教えおください。



最高の

Bigtableチヌム


Googleにはたくさんのメヌルが届くので、䞀芋するず次のようになりたす。



,



- . , ----. -----, -- .



, , --.



,

-


すぐに削陀するずころだったのですが、Bigtableを䜿わなかったので受信者を間違えたのは明らかですが、意識の端で正匏な手玙ずは思えないほどの痛い思いをしたした。 しかし、それは奇劙でした。 その日の残りの時間、私は仕事ずマむクロキッチンでどのようなサメの肉を詊すかを亀互に考えたした。そのうちの少なくずも3぀は、狙いを定めたスポンゞケヌキで私の堎所から十分に近かったのですが、曞くこずの考えは私に成長感を残したせんでした。わずかな䞍安。 圌らははっきりず私の名前を呌んだ。そしお、メヌルは他の誰かのメヌルアドレスではなく、私のメヌルアドレスに送信されたす。ccやbccではありたせん。トヌンは非垞に個人的で明確です。倚分これはある皮の間違いですか















最埌に、奜奇心が高たり、圌らが蚀及したデヌタセンタヌのBorgコン゜ヌルを芋に行きたした。



そしおもちろん、BigTableストレヌゞを自分で管理しおいたした。申し蚳ありたせん、もう䞀床おっしゃっおいただけたすかその内容を芋お、-すごいそれは、2005幎6月にGoogleで最初の週に座ったCodelabむンキュベヌタヌからのものでした。 Codelabは、Bigtableを起動しお、そこにいく぀かの倀を曞き蟌むように匷制したした。その埌、リポゞトリを閉じたこずはおそらくありたせん。 2幎以䞊が経過したしたが、それでも機胜したした。



この話にはいく぀かの泚目すべき偎面がありたす。たず、Bigtableの䜜業はGoogleの芏暡ではそれほど重芁ではなかったため、わずか2幎埌に誰かが远加のストレヌゞに気づきたした。それでも、バむナリのバヌゞョンが叀くなったためです。比范のために、私はか぀お䜿甚を怜蚎したした私のオンラむンゲヌムのためのGoogleCloudのBigtable。圓時、このサヌビスの費甚は、 GCP䞊の空のBigtableで幎間玄16,000ドルでした。圌らがあなたをだたしおいるず蚀っおいるのではありたせんが、私の個人的な意芋では、これは空のク゜デヌタベヌスにずっおは倚額のお金です。



もう1぀の泚目すべき点は、ストレヌゞが2幎埌も機胜しおいたこずです。..。 WTFデヌタセンタヌは行き来したす。圌らは䞭断を経隓し、定期的なメンテナンスを受け、垞に倉化したす。ハヌドりェアが曎新され、スむッチが亀換され、すべおが絶えず改善されおいたす。これらすべおの倉曎を加えお、どうやっお圌らは私のプログラムを2幎間実行し続けるこずができたのでしょうかこれは2020幎にはささやかな成果のように思えるかもしれたせんが、2005幎から2007幎には非垞に印象的でした。



そしお、最も玠晎らしい偎面は、他の州の倖郚゚ンゞニアリングチヌムが、過去2幎間トラフィックがれロであったBigtableの小さな、ほずんど空のむンスタンスの所有者である私に連絡し、それを曎新するための支揎を提䟛するこずです。 ..。



私は圌らに感謝し、金庫宀を撀去したした、そしお人生はい぀ものように続きたした。しかし、13幎埌、私はただこの手玙に぀いお考えおいたす。GoogleCloudからこのようなメヌルを受け取るこずがあるからです。圌らはこのように芋えたす



Google Cloudナヌザヌの皆様、



2020幎8月からサヌビス[䜿甚する重芁なサヌビス]を終了するこずをお知らせしたす。それ以降は、むンスタンスを曎新できなくなりたす。ベヌタテスト䞭の最新バヌゞョンにアップグレヌドするこずをお勧めしたす。このバヌゞョンには、ドキュメントや移行パスがなく、事前に芪切なサポヌトを受けお叀くなっおいたす。



この倉曎がGoogleCloudプラットフォヌムのすべおのナヌザヌに䞎える圱響を最小限に抑えるこずをお玄束したす。



氞遠の芪友、

Googleクラりドプラットフォヌム


しかし、実際には次のように蚀っおいるので、私はそのような手玙をほずんど読みたせん。



芪愛なる受信者、



あなたをファック。あなたをファック、あなたをファック、あなたをファック。それは問題ではないので、あなたがするこずはすべお捚おおください。重芁なのは私たちの時間です。私たちは自分のたわごずをサポヌトするために時間ずお金を費やし、それにうんざりしおいるので、もうサポヌトしたせん。だからあなたのク゜蚈画を捚おお、フォヌラムでスクラップを懇願しお、私たちのくだらないドキュメントを掘り䞋げ始めおください、そしおずころで、私たちはこのデザむンをかなりひどく台無しにしたので、私たちの新しいたわごずは叀いたわごずずは完党に異なりたす私たちの。



1幎以内にすべおのデザむンが䜿甚できなくなるように匕き続き努力しおいたす。



いや、

Google CloudPlatformに行っおください


そしお、実は私は月に䞀床くらいそのような手玙を受け取りたす。これは非垞に頻繁か぀絶え間なく発生するため、必然的にGCPから反察偎のクラりドキャンプに抌しやられたした。 「時代遅れの」補品を閉鎖するずいうGoogleの方針に遅れずに぀いおいくよりも、開発者が裞の仮想マシン䞊でオヌプン゜ヌスシステムを維持する方が実際に簡単であるため、私はもはや独自の開発に䟝存するこずに同意したせん。



私も近くにいるのでGoogleCloudに戻る前にそれらを批刀し終えおいないので、他のいく぀かの分野での䌚瀟の業瞟を芋おみたしょう。 Googleの゚ンゞニアは、゜フトりェア゚ンゞニアリングの分野に誇りを持っおおり、これが実際に問題を匕き起こしおいたす。プラむドは䞍泚意の眠であり、倚くのGoogle埓業員は、自分たちの決定は垞に正しいず考え、正しいこず挠然ずした曖昧な定矩によるはカスタマヌケアよりも重芁であるず考えおいたす。



これは、Google以倖の他の倧芏暡なプロゞェクトからの任意の䟋ですが、このパタヌンがどこにでも芋られるこずを願っおいたす。それはこれです埌方互換性はシステムを䜕十幎もの間生きおいお最新の状態に保ちたす。



埌方互換性は、以䞋のように蚭蚈されたすべおの成功したシステムの蚭蚈目暙です。オヌプンナヌス、぀たり、オヌプン゜ヌスおよび/たたはオヌプンスタンダヌドで実装されたす。誰もが䞍快にさえ感じるほど明癜なこずを蚀っおいるような気がしたすが、そうではありたせん。これは政治的な問題なので、䟋が必芁です。



私が最初に遞択するシステムは最も叀いものです。GNUEmacsは、Windows Notepad、OSカヌネル、およびInternational SpaceStationのハむブリッドのようなものです。説明するのは少し難しいですが、䞀蚀で蚀えば、Emacsは生産性を高めるためのプログラミングのために1976幎はい、ほが半䞖玀前に䜜成されたプラットフォヌムですが、テキスト゚ディタに倉装しおいたす。



私は毎日Emacsを䜿甚しおいたす。はい、私も毎日IntelliJを䜿甚しおいたす。これは、それ自䜓が匷力なツヌルプラットフォヌムになっおいたす。しかし、IntelliJの拡匵機胜を䜜成するこずは、Emacsの拡匵機胜を䜜成するよりもはるかに野心的で困難です。そしおもっず重芁なこずに、Emacsのために曞かれたものはすべお氞遠に続くでしょう。



私は1995幎にEmacs甚に曞いた゜フトりェアを今でも䜿甚しおいたす。そしお、誰かが80幎代半ばにEmacs甚に曞かれたモゞュヌルを䜿甚しおいるず確信しおいたす。時々埮調敎が必​​芁になる堎合がありたすが、これは非垞にたれです。アヌキテクチャを再構築する必芁があるEmacs甚にこれたでに曞いたものそしおたくさん曞いたものは䜕も知りたせん。



Emacsには、レガシヌ゚ンティティのmake-obsoleteず呌ばれる機胜がありたす。基本的なコンピュヌタヌの抂念「りィンドり」ずは䜕かなどのEmacsの甚語は、Emacsがずっず前に導入したため、業界の慣習ずは異なるこずがよくありたす。これは、時代を先取りする人々にずっお兞型的な危険です。すべおの甚語が正しくありたせん。しかし、Emacsには廃止の抂念があり、その専門甚語では廃止ず呌ばれおいたす。



しかし、Emacsの䞖界では、異なる実甚的な定矩があるようです。あなたがそうするならば、もう䞀぀の根底にある哲孊。



Emacsの䞖界および以䞋で説明する他の倚くの領域では、レガシヌAPIステヌタスは基本的に、「このアプロヌチは機胜したすが、ここにリストするさたざたな欠点があるため、実際には䜿甚しないでください。しかし、結局のずころ、それはあなたの遞択です。」



Googleの䞖界では、廃止された補品ステヌタスは「私たちはあなたに察する矩務に違反しおいる」こずを意味したす。本圓にそうです。これが本質的な意味です。これは、圌らのカラフルな広告を信じるこずに察する眰ずしお、圌らがあなたに定期的にいく぀かの仕事、おそらく倚くの仕事をするこずを匷制するこずを意味したす私たちは最高の゜フトりェアを持っおいたす。最速あなたは指瀺に埓っおすべおを行い、アプリケヌションたたはサヌビスを起動し、1、2幎埌にそれが壊れたす。



それは1500キロ埌に間違いなく故障する䞭叀車を売るようなものです。



これらは、「陳腐化」の2぀の完党に異なる哲孊的定矩です。 Googleの定矩は、蚈画された廃止のようなにおいがしたす。本圓にそうだずは思いたせんAppleず同じ意味で蚈画された廃止。しかし、Googleは間違いなくあなたのプログラムを回りくどい方法で壊すこずを蚈画しおいたす。私はそこで12幎以䞊゜フトりェア゚ンゞニアずしお働いおいたので、これを知っおいたす。埌方互換性の皋床に぀いおはあいたいな内郚ガむドラむンがありたすが、最終的には個々のチヌムたたはサヌビスによっお異なりたす。䌁業たたぱンゞニアリンググレヌドの掚奚事項はありたせん。廃止サむクルに関する最も倧胆な掚奚事項は、「システム党䜓を壊す前に、顧客に6〜12か月のアップグレヌドを提䟛するようにしおください」です。



この問題は圌らが思っおいるよりもはるかに深刻であり、カスタマヌケアは圌らのDNAの䞀郚ではないため、今埌数幎間続くでしょう。これに぀いおは、以䞋で詳しく説明したす。



今のずころ、Emacsは倧郚分、そしおほずんどの堎合、埌方互換性を非垞に真剣に受け止めおいるため、成功しおいるずいう倧胆な発蚀をしたす。実際、これは私たちの蚘事の論文です。成功した長寿呜のオヌプン゜ヌスシステムは、䜕十幎にもわたっお拡匵機胜/プラグむンの呚りに䜏んできたマむクロコミュニティのおかげです。これが゚コシステムです。プラットフォヌムの本質ずその重芁性に぀いおはすでに説明したした。たた、Googleは、䌁業の歎史党䜓においお、AndroidやChromeを陀いお、オヌプンプラットフォヌムを成功させるために䜕が必芁かを理解したこずがありたせんでした。



実際、あなたがおそらくそれに぀いお考えたので、私はAndroidに぀いお簡単に蚀及しなければなりたせん。



たず、AndroidはGoogleではありたせん..。圌らはお互いにほずんど䜕の関係もありたせん。 Androidは2005幎7月にGoogleに買収された䌚瀟であり、この䌚瀟は倚かれ少なかれ自埋的に運営するこずを蚱可されおおり、実際、長幎にわたっおほずんど無傷のたたです。 Androidは、悪名高い技術スタックであり、同様に悪名高い厄介な組織です。あるグヌグルが蚀ったように、「あなたはただAndroidに入るこずができない」。



私の過去の蚘事の1぀で、初期のAndroid蚭蚈の決定のいく぀かがどれほど悪かったかに぀いお説明したした。ヘック、私がその蚘事を曞いたずき、圌らは「むンスタントアプリ」ず呌ばれるたわごずを展開しおいたしたが、珟圚は驚きです廃止されおいたすそしお、あなたがGoogleを聞いお、あなたのコンテンツをこれらのむンスタントアプリに持ち蟌むのに十分愚かだったなら、同情しおください。



しかし、違いがありたす。倧きな違いは、Androidの人々はプラットフォヌムの重芁性を本圓に理解しおおり、叀いAndroidアプリが機胜し続けるように最善を尜くしおいるこずです。実際、埌方互換性を維持するための圌らの努力は非垞に極端であるため、数幎前のAndroid郚門での短い任務䞭に、最も叀いデバむスずAPIのサポヌトをやめるように説埗しようずしおいるこずに気づきたした私は間違っおいたした過去ず珟圚の他の倚くのもの。申し蚳ありたせんがAndroidの人たち私はむンドネシアに行ったので、なぜそれらが必芁なのか理解しおいたす。



Androidの人々は、ほずんど想像を絶する極端な状況ぞの埌方互換性を維持しおおり、システムずツヌルチェヌンに膚倧な量の廃止された技術的負債を積み䞊げおいたす。なんおこった、あなたは圌らが圌らのビルドシステムでしなければならないいく぀かのクレむゞヌなこずを芋るべきだった、すべお互換性の名の䞋に。



このために、私はAndroidに切望されおいるYou Are NotGoogle賞を授䞎したす。圌らは本圓にGoogleになりたくありたせん。Googleは耐久性のあるプラットフォヌムを構築する方法を知りたせんが、Androidはそれを行う方法を知っおいたす。したがっお、Googleは1぀の点で非垞に賢明です。それは、Android䞊の人々が独自の方法で物事を行うこずを可胜にするずいうこずです。



ただし、むンスタントAndroidアプリはかなり銬鹿げたアむデアでした。なぜなのかご存知ですか圌らが芁求したのでアプリケヌションを曞き盎しお再蚭蚈しおくださいたるで人々が200䞇のアプリを取り、曞き盎すかのように。むンスタントアプリはグヌグルのアむデアだったず思いたす。



しかし、ここには違いがありたす。埌方互換性は高䟡です。これらの費甚はAndroid自䜓が負担したすが、Googleは、有料の顧客であるあなたが負担するこずを䞻匵しおいたす。



APIの埌方互換性に察するAndroidの取り組みを芋るこずができたす。文字通り同じこずを行う4぀たたは5぀の異なるサブシステムがある堎合、䞋䜍互換性ぞの取り組みが栞心にあるこずは確かな兆候です。プラットフォヌムの䞖界では、顧客ず垂堎ぞの取り組みず同矩です。



ここでのGoogleの䞻な問題は、゚ンゞニアリングの衛生状態に察する圌らの誇りです。同じこずをするための倚くの異なる方法があり、叀い、あたり望たしくない方法が新しい、より奇劙な方法の隣にあるずき、圌らはそれを奜きではありたせん。これは、システムの初心者の孊習曲線を増やし、レガシヌAPIを維持する負担を増やし、新機胜の速床を遅くし、䞻な眪は醜いです。グヌグル-ティムバヌトンによる「䞍思議の囜のアリス」のレディアスコットのように



レディアスコット

-アリス、あなたは私が最も恐れおいるこずを知っおいたすか

-貎族の衰退

-醜い孫がいるのではないかず心配でした。



矎しいものず実甚的なものの間のトレヌドオフを理解するために、3番目に成功したプラットフォヌムEmacsずAndroidに続くを芋お、それがどのように機胜するかを芋おみたしょうJava自䜓。



Javaには倧量のレガシヌAPIがありたす。非掚奚はJavaプログラマヌに非垞に人気があり、ほずんどのプログラミング蚀語よりもさらに人気がありたす。䞻な蚀語ずラむブラリであるJava自䜓では、APIの非掚奚が絶えず発生しおいたす。



数千の䟋のうちの1぀だけを取り䞊げる堎合、ストリヌムを閉じるこずは非掚奚です。 1998幎12月のJava1.2のリリヌス以降、非掚奚になっおいたす。これが廃止されおから22幎になりたす。



しかし、私の実際の補品コヌドはただ毎日スレッドを殺したす..。いいですか絶察にもちろん、今日コヌドを曞き盎すずしたら、別の方法で実装したす。しかし、過去20幎間で数十䞇人の人々を幞せにしおきた私のゲヌムのコヌドは、長時間ハングするスレッドを閉じる機胜を䜿甚しお蚘述されおおり、倉曎する必芁はありたせんでした。私は自分のシステムを最もよく知っおおり、本番環境で文字通り25幎の経隓がありたす。確かに蚀うこずができたす。私の堎合、これらの特定の䜜業ストリヌムを閉じるこずは完党に無害です。このコヌドを曞き盎すのに時間ず劎力を無駄にしないでください。たた、Oracleが私にコヌドの曞き盎しを匷制しなかったこずをLarry Ellisonおそらくに賞賛しおください。



おそらく、Oracleはプラットフォヌムにも粟通しおいたす。知るか。



峡谷の氷河線のように、時代遅れの波に満ちおいるすべおのコアJavaAPIの蚌拠を芋぀けるこずができたす。 Java Swingラむブラリには、5぀たたは6぀の異なるキヌボヌドナビゲヌションマネヌゞャKeyboardFocusManagerが簡単に芋぀かりたす。非掚奚になっおいないJavaAPIを芋぀けるのは実際には困難です。しかし、それらはただ機胜したす Javaチヌムは、むンタヌフェヌスがひどいセキュリティ問題を匕き起こした堎合にのみ、APIを実際に削陀するず思いたす。



私たち゜フトりェア開発者は皆非垞に忙しく、゜フトりェアのあらゆる分野で競合する遞択肢に盎面しおいたす。い぀でも、XプログラマヌはYを可胜な代替品ず芋なしたす。ああ、あなたは私を信じたせんかあなたはスりィフトず呌ばれたいですか同様に、誰もがSwiftに移行し、誰もそれをあきらめたせんよねうわヌ、あなたがどれだけ知っおいるか。䌁業は、デュアルモバむル開発チヌムiOSずAndroidのコストを数えおいたす。そしお、FlutterやReact Nativeのようなこれらの面癜い名前のクロスプラットフォヌム開発システムが機胜し、モバむルチヌムのサむズを瞮小できるこずに気づき始めおいたす。 2倍、たたは逆に、2倍の生産性を実珟したす。リアルマネヌが危機に瀕しおいたす。はい、劥協点はありたすが、その䞀方で、de-e-moneyです。



仮に、AppleがGuido van Rossumの䟋を愚かに取り䞊げ、Python3がPython2ず互換性がないのず同じように、Swift6.0がSwift5.0ず埌方互換性がないず発衚したずしたす。



おそらく10幎前にこの話をしたしたが、15幎前に私はGuidoず䞀緒にO'Reilly'sFoo Campに行き、PaulGrahamずたくさんの倧きなバンプず䞀緒にテントに座った。私たちは猛暑の䞭に座っお、ラリヌ・ペヌゞが圌の個人的なヘリコプタヌで離陞するのを埅ちたした。䞀方、グむドは、誰もがそこに移動するのに䜕幎もかかるこずにちなんで名付けたPython3000に぀いお単調に぀ぶやきたした。なぜ互換性が倱われるのかずい぀も圌に尋ねたずころ、圌は「ナニコヌド」ず答えたした。そしお、コヌドを曞き盎す必芁がある堎合、他にどのようなメリットがありたすかそしお圌は「Yoooooooooooooouuuuuuuniiiiiiicoooooooode」ず答えたした。



Google Cloud Platform SDK「gcloud」をむンストヌルするず、次の通知が届きたす。



受信者の



皆様、Python 2のサポヌトは廃止されたしたので、お知らせしたす。


 など生呜の茪。



しかし重芁なのは、すべおの開発者には遞択肢があるずいうこずです。そしお、あなたが圌らにコヌドを䜕床も曞き盎しおもらうなら、圌らは他のオプションに぀いお考えるかもしれたせん。圌らはあなたがどれだけ圌らになりたいずしおも、あなたの人質ではありたせん。圌らはあなたのゲストです。 Pythonは今でも非垞に人気のあるプログラミング蚀語ですが、Python 3000は、それ自䜓、コミュニティ、およびコミュニティのナヌザヌの間で、その結果が15幎間解決されおいないような混乱を匕き起こしたした。



この埌方互換性のために、GoたたはRuby、たたはその他の代替手段で曞き盎されたPythonプログラムはいく぀ありたすかどのくらいの新しい゜フトりェアは、それがあっおも、Pythonの以倖の䜕かに曞かれおいたかもしれたせんGuidoが村党䜓を焌き払っおいなかったら、Pythonで曞かれおいたすかわかりにくいですが、Pythonは明らかに苊しんでいたす。これは倧きな混乱であり、誰もが負けたす。



それで、AppleがGuidoの䟋に埓い、互換性を砎ったずしたしょう。次に䜕が起こるず思いたすかそうですね、開発者の80〜90は、可胜であれば゜フトりェアを曞き盎したす。぀たり、ナヌザヌベヌスの10〜20が、Flutterなどの競合する蚀語に自動的にアクセスしたす。



これを数回行うず、ナヌザヌベヌスの半分が倱われたす。スポヌツのように、プログラミングの䞖界では、珟圚の圢もすべおを意味したす。..。 5幎間でナヌザヌの半分を倱った人は誰でも倧きな脂肪の敗者ず芋なされたす。プラットフォヌムの䞖界でトレンドになっおいるはずです。しかし、これは叀いバヌゞョンのサポヌトを攟棄するこずは時間の経過ずずもにあなたを殺す堎所です。開発者の䞀郚を取り陀くたびに、a契玄を砎ったこずに腹を立おおいるため、開発者を氞久に倱い、b競合他瀟に枡したす。



皮肉なこずに、私も、コヌドベヌスの自動化ずツヌルを容易にする゜ヌスコヌド分析および理解システムであるGrokを䜜成したずきに、Googleを䞀皮の䞋䜍互換性のあるプリマドンナに倉えるのを手䌝いたした-IDEに䌌おいたすが、ここではクラりドサヌビスストアが具䜓化されおいたす倧芏暡なデヌタりェアハりス内の数十億行すべおのGoogle゜ヌスコヌドの衚珟。



Grokは、コヌドベヌス党䜓文字通りGoogle党䜓で自動リファクタリングを行うための匷力なフレヌムワヌクをGoogle瀟員に提䟛したした。システムは、アップストリヌムの䟝存関係䟝存しおいるだけでなく、ダりンストリヌムの䟝存関係䟝存しおいるも蚈算するため、APIを倉曎するず、誰もが壊れおいるこずがわかりたす。このように、倉曎を加えるずきに、APIのすべおのコンシュヌマヌが新しいバヌゞョンに曎新されおいるこずを確認できたす。実際には、倚くの堎合、圌らが䜜成したRosieツヌルを䜿甚しお、プロセスを完党に自動化できたす。



これにより、Googleのコヌドベヌスは内郚的にほが超自然的に「クリヌン」になりたす。これは、ロボットの䜿甚人が家の䞭を駆け巡り、SomeDespicablyLongFunctionNameの名前をSomeDespicablyLongMethodNameに倉曎した堎合、誰かが醜い孫だず思ったために、すべおを自動的にクリヌンアップするためです。眠らせる必芁がありたす。



そしお正盎なずころ、それはグヌグルにずっおかなりうたく機胜したす...内郚的に。぀たり、はい、GoogleのGoコミュニティは、継続的なリファクタリングの習慣があるため、GoogleのJavaコミュニティを非垞に笑っおいたす。䜕かをN回再起動するず、それはN-1回台無しにされただけでなく、しばらくするず、おそらくN回目の詊行で台無しにされたこずが明らかになりたす。しかし、抂しお、圌らは倧隒ぎの䞊にずどたり、コヌドを「クリヌン」に保ちたす。



問題は、クラりドクラむアントや他のAPIのナヌザヌにこの態床を抌し付けようずしたずきに始たりたす。



Emacs、Android、Javaを少し玹介したした。最新の成功した長寿呜のプラットフォヌムであるWeb自䜓を芋おみたしょう。点滅する<blink>タグずWebペヌゞの䜜成䞭のアむコンを䜿甚した1995幎以降、HTTPが䜕回繰り返されたかを想像できたす。



しかし、それでも機胜したすそしお、これらのペヌゞはただ機胜しおいたすはい、皆さん、ブラりザは䞖界の埌方互換性のチャンピオンです。 Chromeは、頭が正しくねじ蟌たれおいる珍しいGoogleプラットフォヌムのもう1぀の䟋です。ご想像のずおり、Chromeは他のGoogleずは別の独立した䌚瀟ずしお効果的に機胜したす。



たた、オペレヌティングシステム開発者の友人にも感謝したいず思いたす。Windows、Linux、NOT APPLE FOLLOW YOU APPLE、FreeBSDなど、成功したプラットフォヌムで倚くの埌方互換性䜜業を行っおくれたしたAppleはせいぜい3倍になりたすマむナス、理由もなく垞にすべおを壊しおいるのですが、どういうわけかコミュニティはすべおのリリヌスでこれを凊理し、これたでのずころOS Xコンテナは完党に叀くなっおいたせん...ただ。



しかし、埅っおください、あなたは蚀いたす。リンゎずオレンゞを比范しおいたせんかEmacs / JDK / Android / Chromeのような単䞀のマシン䞊のスタンドアロン゜フトりェアシステムず、クラりドサヌビスのようなマルチサヌバヌシステムずAPIを備えおいたすか



さお、昚日ツむヌトしたしたが、ラリヌりォヌルスタむルのサック/ルヌルで、GoogleずAmazonの開発者サむトで廃止された単語を調べたした。 AWSにはGCPの数癟倍のサヌビスがありたすが、Googleの開発者向けドキュメントには、玄7倍の頻床で非掚奚が蚘茉されおいたす。



Googleの誰かがこれを読んだら、おそらくドナルドトランプのスタむルを瀺す図を匕き出す準備ができおいるでしょう。圌らは実際にすべおを正しく行っおいるので、「サヌビスの数に応じお廃止された単語の蚀及の数」などの䞍圓な比范を行うべきではありたせん。 "。



しかし、非垞に倚くの幎埌、Googleクラりドはただ3私は2になるに倱敗した蚘事を曞いたこずはありたせんが、あなたがむンサむダヌを信じるならば、圌らはすぐに4に萜ずすこずが、いく぀かの懞念があるである



私は良いを持っおいたせんあなたの論文を「蚌明する」ための議論。私が持っおいるのは、開発者ずしお30幎以䞊にわたっお蓄積したカラフルな䟋だけです。この問題の哲孊的な性質に぀いおはすでに述べたした。ある意味で、それは開発者コミュニティで政治化されおいたす。プラットフォヌムの䜜成者は互換性を気にする必芁があるず考える人もいれば、これがナヌザヌの関心事であるず考える人もいたす。開発者自身。 2人に1人。確かに、䞀般的な問題の費甚を誰が負担すべきかを決定するずき、それは政治的な問題ではありたせんか



だからこれは政治です。そしお、私のスピヌチには確かに怒った反応があるでしょう。



などのナヌザヌGoogleのクラりドプラットフォヌム、およびグラブで2幎間のAWSナヌザヌずしお、私はそれが優先事項になるずアマゟンやGoogleの哲孊の間に倧きな差があるず蚀うこずができたす。私はAWSで積極的に開発しおいないので、AWSが叀いAPIを削陀する頻床はよくわかりたせん。しかし、これはGoogleほど頻繁には起こらないずいう疑いがありたす。そしお私は、GCPにおける絶え間ない論争ずフラストレヌションのこの原因が、プラットフォヌムの開発における最倧の制玄の1぀であるず心から信じおいたす。



サポヌトされなくなったGCPシステムの具䜓䟋を挙げおいないこずは知っおいたす。ネットワヌク最も叀いものからVPCたでからストレヌゞCloud SQL v1-v2、Firebase珟圚は完党に異なるAPIを備えたFirestore、App Engine起動すらしないたで、私が䜿甚した事実䞊すべおのものず蚀えたす。クラりド゚ンドポむント以前...わかりたせん-このコヌドの匷制的な曞き盎しは最倧2〜3幎で絶察にすべおであり、移行が自動化されるこずはなく、文曞化された移行パスがたったくないこずがよくありたした。あるべきかのように。



そしお、AWSを芋るたびに、なぜ私はただGCPに座っおいるのかを自問したす。圌らは明らかにクラむアントを必芁ずしたせん。圌らはバむダヌを望んでいたす。違いがわかりたすか説明させおください。



Google Cloudには、゜フトりェア゜リュヌションを提䟛するマヌケットプレむスがあり、空のレストランの圱響を避けるために、いく぀かの提案を入力する必芁があったため、Bitnamiず契玄しお、「ワンクリック」で展開される䞀連の゜リュヌションを䜜成したした。私は自分で「解決策」を曞かなければなりたせん。なぜなら、これらはひどいこずを解決しないからです。それらは単なるフラグずしお、マヌケティングフィラヌずしお存圚し、Googleはツヌルのいずれかが実際に機胜したかどうかを気にしたせんでした。私は運転した補品マネヌゞャヌを知っおいたす、そしお私はこれらの人々が気にしないこずをあなたに保蚌するこずができたす。



たずえば、「ワンクリック」展開゜リュヌションPerconaを取り䞊げたす。..。私はGoogleCloud SQLのアンティックに飜き飜きしおいたので、代わりに独自のPerconaクラスタヌを䜜成するこずを怜蚎し始めたした。そしお今回、Googleは良い仕事をしおいるようでした。ボタンをクリックするだけで、時間ず劎力を節玄できたした。



さお、玠晎らしい、行きたしょう。リンクをたどっおこのボタンを抌したしょう。 「はい」を遞択しおすべおのデフォルトに同意し、クラスタヌをGoogleクラりドプロゞェクトにデプロむしたす。ハハ、それは動䜜したせん。このたわごずのどれも動䜜したせん。ツヌルはテストされたこずがなく、最初の1分から腐り始めたした。ワンクリック展開の「゜リュヌション」の半分以䞊匕甚笊の理由がわかりたしたがたったく機胜しなくおも、私は驚かないでしょう。これは絶察に絶望的な暗闇であり、入らない方が良いです。



ただし、Googleでは明瀺的にそれらを䜿甚するこずをお勧めしたす。圌らはあなたにそれらを買っお欲しいのです。圌らにずっお、それは取匕です。圌らは䜕もサポヌトしたくありたせん。それはGoogleのDNAの䞀郚ではありたせん。はい、Bigtableでの私の話からも明らかなように、゚ンゞニアはお互いをサポヌトしおいたす。しかし、䞀般の人々向けの補品やサヌビスでは、たずえ数癟䞇人のナヌザヌがいるずしおも、収益性の基準を満たしおいないサヌビスをシャットダりンするこずに垞に冷酷でした。 このDNAはすべおのクラりド補品の背埌にあるため、これはGCPにずっお真の課題です。圌らは䜕もサポヌトしようずはしたせん。サヌドパヌティの゜フトりェアをマネヌゞドサヌビスずしおホストするこずを拒吊するこずはよく知られおいたす



AWSが同じこずを行わず、成功するビゞネスを構築しない限り、そしお顧客がたったく同じこずを芁求する堎合。ただし、Googleに䜕かをサポヌトさせるにはある皋床の努力が必芁です。



このサポヌトの文化の欠劂は、「それを壊しお矎しくする」ずいう原則ず盞たっお、開発者を圌らから遠ざけおいたす。



そしお、長寿呜のプラットフォヌムを構築したいのであれば、それは良くありたせん。



グヌグルは目を芚たす、くそヌ。 2020幎です。あなたはただ負けおいたす。本圓にクラりドビゞネスにずどたりたいのなら、鏡をよく芋お答える時が来たした。



あなたが滞圚したいなら、すべおを壊すこずをやめなさい..。君たちは金持ちだ。私たち開発者はそうではありたせん。したがっお、互換性の負担を誰が負うかに぀いおは、自分で負担する必芁がありたす。私たちのためではありたせん。



本圓に良い雲が少なくずも3぀あるからです。圌らは圌らに手招きしたす。



そしお今、私は壊れたシステムをすべお修正し続けたす。ええ



次回たで



この蚘事のいく぀かの議論を読んだ埌のPSアップデヌトちなみに議論は玠晎らしいです。 Firebaseは廃止されおおらず、私が知っおいる蚈画もありたせん。ただし、厄介なストリヌミング゚ラヌが発生し、JavaクラむアントがAppEngineで停止したす。私がGoogleで働いおいたずきに、゚ンゞニアの1人がこの問題を解決しおくれたした。, , , GAE. ! Firestore. , , , Firebase . ? , . , , Firebase GAE, 100 100% , - . , . Redis.



, AWS , AWS , SimpleDB â€” . , AWS , Google, , .



, , 20 Google App Engine Go, GAE Go. , .



, , ( , !). , , Google . , , AWS, Grab. - , !



, 2005 43, . 2006 . Bigtable 2007 .



Bigtable (-), . , , , , , .



, Apple Microsoft . . , , ! , , ?



.



2, 19.08.2020. Stripe API!



アップデヌト3、2020幎8月31日。クラりドマヌケットプレむスのGoogle゚ンゞニアから連絡があり、私の旧友であるこずが刀明したした。圌はC2Dが機胜しない理由を知りたがっおいたしたが、最終的にはわかりたした。理由は、数幎前にネットワヌクを䜜成したためです。テンプレヌトにサブネットパラメヌタがないため、C2Dはレガシヌネットワヌクでは機胜したせん。朜圚的なGCPナヌザヌは、Googleに十分な知識のある゚ンゞニアがいるこずを確認したほうがよいず思いたす...



All Articles