macOSでローカルファーストのネットワークツールが勝つ理由
データをSaaSダッシュボードへ送信するネットワークツールは本質を見失っています。プライバシー意識の高いユーザーにとって、ローカルファーストがMacに合う理由を解説します。
- Privacy
- macOS
- Network monitoring
- Tools
カフェのWi-Fiが30秒間落ちます。誰か別のサーバ上のブラウザタブに住むネットワークダッシュボードは、その後2分間「再接続中」のスピナーを表示します。一方、メニューバーのユーティリティは停止中もチクタクと動き続けました——そもそもクラウドを必要としていなかったからです。それが瞬間で見るローカルファーストの違いです。
本稿は、なぜローカルファーストのネットワークツールがmacOSで勝ちがちなのか——レイテンシ、プライバシー、オフライン信頼性、そして表示するデータがすでにマシン上にあるのだから見るためだけに別の場所に送る意味がないという単純な理由——についてです。遅いウェブダッシュボードと意外な停止に飽きてローカルファーストネットワークツールを検索していたなら、これがその主張です。
「ローカルファースト」とは実際何か
このフレーズは、ソフトウェアはローカルデバイスを真実の源として扱い、ネットワークは基盤ではなく同期の詳細として扱うべきだと主張した2019年のInk & Switchエッセイから来ています。ネットワークと通信量ツールにとって、この考えはきれいに翻訳されます:
- データはMac上で生成される。
- Mac上に保存される。
- Mac上で読まれて描画される。
- ネットワークはオプション——ライセンス確認、アップデート、同期のためでも、コア機能のためではない。
ローカルファーストツールは空港のWi-Fiが死んでも動き続けます。ベンダーが廃業しても動き続けます。クラウドが9時間とステータスページの謝罪を要する停止に陥っても動き続けます。
レイテンシ: 主張はほぼ算数
ホストされた通信量ダッシュボードを開きます。昨日のデータをクリック。ブラウザはCDNにリクエストを送り、CDNはAPIに転送し、APIは時系列データベースをクエリし、結果は同じ連鎖を通って戻ります。通常200〜600msの往復に数百msのレンダリングを加えたものです。
ローカルメニューバーアプリを開きます。昨日のデータをクリック。ローカルSQLiteまたはフラットファイルから読み、行をデシリアライズし、描画します。通常5〜30msです。
差は知覚できる1UIフレーム vs 1/3秒の待ち時間。1日に50回確認するもの——今アップロードしているか、午後3時に何がスパイクしたか——にとって、ローカルツールはクラウドのものとは別の惑星にあります。理由は単に物理: 光は速いが無限ではなく、バージニアでのデータベースクエリはSSDのファイル読み取りより長くかかります。
プライバシー: データはすでにプライベートだった
自分のマシン上のネットワークテレメトリは、その日について最も明らかにするデータの1つです。プロセスのリスト、接続のタイミング、解決されているホスト名——合わせるとコンピュータで何をするかのほぼ完全なログです。
ローカルファーストツールはそのログをローカルに保ちます。何もディスクから出ません。アカウントなし、メールなし、識別子なし。ツールは単にシステムAPIを読み、ファイルに書き、チャートを表示します。ovaは1つの例です: 約3MB、サンドボックス化、テレメトリなし、リモートダッシュボードなし。要点はクラウドツールよりネットワーキングが上手いことではなく——アーキテクチャに全くアップロードステップがないことです。
それを典型的なSaaSの形と比較してください——同じ情報がサーバに送られ、インデックスされ、ある期間保持され、ベンダーのスタッフと任意のサブプロセッサからアクセス可能。完全に善意のSaaSベンダーでも、「ファイルがラップトップに住む」より広い攻撃面です。
オフライン対応はニッチ以上のもの
安定した自宅やオフィスのネットワークだけで働くなら、オフライン耐性はチェックボックス機能に感じるかもしれません。そうではありません、2つの理由で。
第一に、「オフライン」にはキャプティブポータルWi-Fi、定期的に壊れるホテルネットワーク、断続的な信号のモバイルテザリング、飛行機、電車、バー1本の地下室が含まれます。実労働時間の驚くほどの割合がこれらのカテゴリのいずれかに当てはまります。
第二に、ネットワークに何か問題が起きたとき、デバッグを助けるべきツールは、それがネットワークに依存していると最も動かないツールです。Wi-Fiが不安定で開けない通信量モニターはまさに間違ったツールです。ローカルファーストのものはネットワークが死んでも引き続きデータを表示し、それはまさに最も見たいときです。
macOSのローカルファーストネットワークツール短ツアー
macOSエコシステムはローカルファーストのネットワークユーティリティに異常に豊かです。知っておく価値のあるものをいくつか:
Wireshark
古典的なパケット検査器。ネットワークインターフェースからキャプチャし、数百のプロトコルを解読し、完全にマシン上で動きます。キャプチャファイルはローカルのpcap; 何もアップロードされません。Wiresharkは回線上のすべてのバイト——TLSハンドシェイク、DNSクエリ、不正なパケット——を見る必要があるときの正しいツールで、代償は学習曲線です。
nettop
macOSに同梱。ターミナルで実行すると、ネットワーク接続のライブのプロセス別ビューが得られます——送信バイト、受信バイト、リモートエンドポイント、ルート。素早いスポットチェックに良い。出力はテキスト、データはローカル、Snow Leopard以来安定しています。
sudo nettop -P -m routetcpdump
これも組み込み。nettopより低レベル、フレームを手動で解剖するより高レベル。pcapに数分キャプチャし、Wiresharkで開いて分析。Wi-Fiインターフェースを特に対象にするには-i en0と組み合わせます。
Little Snitch
評判の良いローカルファイアウォール——モニターとは別カテゴリですが言及に値します。何を許可・遮断するかの判断はMac上に留まります。両者は異なる問いに答えるので、Little Snitch(ファイアウォール)と別個の通信量モニター(ovaなど)を組み合わせるユーザーもいます。
ova
メニューバーの通信量モニター。アプリ別ライブレート、スクラブ可能な履歴、ヘルパープロセスは親の下に折りたたみ。アプリ全体はおよそ3MBでローカルに動きます。パケットキャプチャではなく一目で分かるビューが欲しいときの答えです。
ovaを動かしてみる
一目で分かるメニューバー通信量モニター——ローカル、署名済み、約3MB。
クラウドツールが本当に理にかなうとき
ローカルファーストは宗教ではありません。集中化が正しいアーキテクチャ的答えとなるケースもあります。
- フリート可観測性。 50ラップトップの組織は「どのデバイスがオフィスのアップリンクを飽和させているか」を見る中央の場所が本当に必要です。質問が多くのデバイスにまたがるとき、ローカル限定は役立ちません。
- 長期アーカイブ。 コンプライアンスのためにログを何年も保持する必要があるなら、有限のSSDのラップトップよりサーバが適切です。
- デバイス横断のタイムライン。 1つのチャートで電話+iPad+Mac、再インストール後も同期可能——これは同期問題で、サーバが簡単にします。
パターンは: データが本質的にマルチデバイスまたはマルチユーザなら、中央ストレージは元を取ります。データがシングルデバイスなら、ローカルファーストはあらゆる軸で勝ちます。
ローカルファーストはより安価でもある理由
ローカルファーストアプリには推論コストがありません。開発に1度払い、バイナリを出荷し、ユーザー1人あたりの限界コストはおよそゼロ——ユーザーは自分の電気代と自分のSSD書き込みを払います。だからovaのようなツールに買い切りが効き、SaaSダッシュボードには本当には効かないのです: 前者のコスト構造は根本的に異なります。
裏返せば: クラウドツールは継続コストがあるためサブスクリプション課金に傾きます。どちらのモデルも本質的に優れているわけではありませんが、アーキテクチャと価格設定の整合は重要です。買い切りのローカルアプリは、何らかのデータベース請求書が上がったからといって突然9ドル/月を必要とすることはありません。
インストール前のクイックチェックリスト
ローカルだと主張するネットワークツールを評価するときは、このリストを通しましょう:
- Wi-Fiオフで動くか? ネットワークを無効化してツールがまだ機能するか見る。動くならコアデータパスはローカル。
- アカウントを要求するか? 必須アカウントはどこかに状態を保持するサーバがあることを示唆します。
- 送信されるデータについてプライバシーポリシーは何と言っているか? 「テレメトリなし」は強い主張で、検証しやすい。
- 署名・公証済みか? 出所不明の未署名バイナリの実行はデータがどこに住むかとは別の問題です。
- データをエクスポートする方法があるか? ローカルファーストアプリはほぼ普遍的に「データはあなたのもの」エクスポートを持ちます。なければそれは赤旗です。
簡潔版
ローカルファーストネットワークツールがmacOSで勝つのは、ローカルファーストアプリ全般が勝つのと同じ理由です: データが近いから速い、データが移動しないからよりプライベート、第三者の稼働時間に依存しないからより信頼でき、コスト構造がシンプルだからしばしばより安い。
ほとんどの個人・職業ユーザー——フリートを運用していない誰でも——にとって、ローカルファーストスタックは実際必要なすべてをカバーします。常時の一目用にovaのようなライブメニューバーモニター、臨時調査用にnettopやtcpdump、深掘りにWireshark、ファイアウォールレベルの制御が欲しければLittle Snitch。4つすべてがMacで動き、どれもトラフィックをアップロードせず、どれかはネットワークが動かないときも動き続けます。
出発点を探していたなら、ovaをインストールし、メニューバーに1週間置き、ドロップダウンに何回手を伸ばすか気づきましょう。それがローカルファーストがあなた向けかを教えてくれるデータポイントです。