Node.js、GoogleGoドライブUber

Uberは、GoとNode.jsという2つの新進気鋭の言語プラットフォームを作成しました。これは、その運用における重要な歯車です。Uberのサイト信頼性エンジニアであるTomCroucherは、ポートランドで開催された最近のNode.js Interactive会議で、同社によるプラットフォームの使用について詳しく説明しました。

Uberのディスパッチングシステムは、サーバー側のJavaScriptプラットフォームであるNodeで実行されます。顧客がアプリを開いたり、ウェブサイトにアクセスして乗車を予約したり、APIを使用して利用可能な車両を確認したりすると、これらのシステムのほとんどはNodeで実行されます。

「これらの大部分は、会社の最初の年かそこらからノードで書かれたので、かなり早い段階でした」とクルーチャー氏は述べています。彼はまた、UberはNodeを最初に採用した企業のひとつであり、「その上に大企業を実際に構築した」最初の企業の1つであるとも述べました。

しかし、Uberの主力製品はNode.jsだけではありません。グーグルの囲碁言語も足がかりを確立しました。「私たちはGoでいくつかのことを書き始めたので、最初はNodeで何かを書く可能性のある高性能システムのいくつかでした。それらのいくつかは現在、少しだけ理解するために、意味のある特定の場所でGoで書き直されています。システムからもう少し最適化。」

とりあえず、Uberは「新しいバージョンにジャンプするための明確なメリット」を確認する必要があるため、古い0.10バージョンのNodeを実行しています。Node.jsFoundationコミュニティマネージャーのMikealRogersは、ユーザーがバージョン4に移行することを望んでいます。

トレンディなNode.jsとGo以外にも、Pythonには場所があります。「私たちが見つけたものの1つは、Pythonを含むUberで使用しているいくつかのテクノロジーがあることです」と彼は言いました。「多様な候補者の中から採用できると便利なので、システムの非常に多くがPythonで作成されています。Pythonで優れたサービスを作成しているPython開発者がたくさんいることがわかりました。ビジネスの側面とそのようなさまざまなもの。」