macOS'ta Yerel Öncelikli Ağ Araçları Neden Daha İyi Çalışır
Verinizi SaaS panellerine gönderen ağ araçları meselenin özünü kaçırır. Yerel öncelikli ağ araçları neden Mac'e daha çok yakışır, özellikle gizliliğe önem veren kullanıcılar için.
- Privacy
- macOS
- Network monitoring
- Tools
Bir kafe Wi-Fi'ı otuz saniyeliğine kapanıyor. Birinin sunucusunda bir tarayıcı sekmesinde yaşayan ağ panonuz, sonraki iki dakika boyunca "yeniden bağlanılıyor" çevirici gösteriyor. Bu arada menü çubuğu yardımcı programınız kesinti boyunca tıklamaya devam etti çünkü ilk başta buluta hiç ihtiyacı olmadı. Tek bir anda local-first farkı budur.
Bu yazı, neden local-first ağ araçlarının macOS'ta kazanma eğiliminde olduğu hakkındadır — gecikme için, gizlilik için, çevrimdışı güvenilirlik için ve gösterdikleri verilerin zaten makinenizde olduğu basit nedeni için, bu yüzden sadece bakmak için başka bir yere göndermek mantıklı değildir. Yavaş web panolarından ve sürpriz kesintilerden bıktığınız için local first network tools arıyorsanız, durum budur.
"Local-first" gerçekte ne demek
İfade, yazılımın yerel cihazı gerçeğin kaynağı ve ağı ana madde yerine bir senkronizasyon ayrıntısı olarak değerlendirmesi gerektiğini savunan 2019 Ink & Switch denemesinden gelir. Ağ ve bant genişliği araçları için fikir temiz bir şekilde çevrilir:
- Veri Mac'inizde üretilir.
- Mac'inizde saklanır.
- Mac'inizde okunur ve oluşturulur.
- Ağ isteğe bağlıdır — lisans kontrolleri, güncellemeler veya senkronizasyon için, ancak asla çekirdek işlev için değil.
local-first bir araç havaalanı Wi-Fi'ı öldüğünde çalışmaya devam eder. Satıcı işten çıktığında çalışmaya devam eder. Bulutlarında dokuz saate ve bir durum sayfası özrüne mal olan bir kesinti olduğunda çalışmaya devam eder.
Gecikme: durum çoğunlukla aritmetiktir
Barındırılan bir bant genişliği panosunu açın. Dünün verisine tıklayın. Tarayıcı bir CDN'ye istek gönderir, CDN bir API'ye iletir, API bir zaman serisi veritabanını sorgular ve sonuç aynı zincirden geri seyahat eder. Bu tipik olarak 200 ila 600 ms gidiş-dönüş artı birkaç yüz ms oluşturma süresidir.
Yerel bir menü çubuğu uygulaması açın. Dünün verisine tıklayın. Yerel bir SQLite veya düz dosyadan okur, satırları seri durumdan çıkarır ve çizer. Bu tipik olarak 5 ila 30 ms'dir.
Fark, bir algılanabilir UI çerçevesi ile bir saniyenin üçte biri bekleme arasındaki farktır. Günde elli kez kontrol ettiğiniz bir şey için — şu anda yüklüyor muyum, 15:00'te ne arttı — yerel araç bulut olandan farklı bir gezegendedir. Sebep sadece fizik: ışık hızlıdır ama sonsuz değildir ve Virginia'daki bir veritabanı sorgusu SSD'nizdeki bir dosyayı okumaktan daha uzun sürer.
Gizlilik: veri zaten özeldi
Kendi makinenizdeki ağ telemetrisi gününüz hakkında en açıklayıcı verilerden biridir. Süreç listesi, bağlantıların zamanlaması, çözülen ana bilgisayar adları — birlikte alındığında bu, bilgisayarınızla ne yaptığınızın neredeyse tam bir günlüğüdür.
Local-first bir araç o günlüğü yerel tutar. Diskten hiçbir şey ayrılmaz. Hesap, e-posta, tanımlayıcı yoktur; araç sadece sistem API'lerini okur, bir dosyaya yazar ve size bir grafik gösterir. ova bir örnektir: yaklaşık 3 MB, sandbox'lı, telemetri ve uzak panosu yok. Mesele, ağ kullanmada bir bulut aracından daha iyi olması değil — mesele, mimaride hiç yükleme adımı olmamasıdır.
Bunu, aynı bilginin bir sunucuya gönderildiği, indekslendiği, bir süre saklandığı ve satıcının personeline ve herhangi bir alt işleyiciye erişilebilir olduğu tipik SaaS şekliyle karşılaştırın. Mükemmel iyi niyetli bir SaaS satıcısı bile "dosya dizüstünüzde yaşıyor"dan daha geniş bir saldırı yüzeyidir.
Çevrimdışı dostu, niş olmaktan fazlasıdır
Yalnızca kararlı bir ev veya ofis ağından çalışıyorsanız, çevrimdışı tolerans iki nedenden dolayı bir onay kutusu özelliği gibi hissedilebilir.
İlk olarak, "çevrimdışı" captive-portal Wi-Fi'ı, periyodik olarak bozulan otel ağlarını, aralıklı sinyalle mobil tetheringi, uçakları, trenleri ve tek çubuklu bodrum odasını içerir. Gerçek çalışma saatlerinin şaşırtıcı bir kısmı bu kategorilerden birine giriyor.
İkincisi, ağınızla bir şey yanlış gittiğinde, hata ayıklamanıza yardımcı olması gereken araç çalışma olasılığı en düşük olan araçtır — eğer o araç ağa bağımlıysa. Wi-Fi titrek olduğu için açılamayan bir bant genişliği izleyicisi tam olarak yanlış araçtır. Local-first olan, ağ ölürken bile veri göstermeye devam eder ki bu, en çok bakmak istediğiniz zamandır.
macOS'ta local-first ağ araçlarının kısa bir turu
macOS ekosistemi local-first ağ yardımcı programları açısından alışılmadık derecede zengindir. Bilinmeye değer birkaçı:
Wireshark
Klasik paket incelemecisi. Ağ arayüzünden yakalar, yüzlerce protokolü çözer, tamamen makinenizde çalışır. Yakalama dosyası yerel bir pcap'tir; hiçbir şey yüklenmez. Wireshark, hatın üzerindeki her baytı görmeniz gerektiğinde doğru araçtır — TLS el sıkışmaları, DNS sorguları, hatalı biçimlendirilmiş paketler — ve bedeli bir öğrenme eğrisidir.
nettop
macOS ile birlikte gelir. Terminal'de çalıştırın ve canlı, süreç başına ağ bağlantıları görünümü elde edin — gelen baytlar, giden baytlar, uzak uç nokta, yol. Hızlı nokta kontrolleri için iyidir. Çıktı metindir, veri yereldir ve en az Snow Leopard'dan beri kararlıdır.
sudo nettop -P -m routetcpdump
Yine yerleşik. nettop'tan daha düşük seviye, çerçeveleri manuel olarak diseksiyon etmekten daha yüksek seviye. Bir pcap'e birkaç dakika yakalayın, analiz için Wireshark'ta açın. Wi-Fi arayüzünü özellikle hedeflemek için -i en0 ile birleştirin.
Little Snitch
İtibarlı bir yerel güvenlik duvarı — bir izleyiciden farklı kategori, ancak söz etmeye değer. Neye izin verileceği ve neyin engelleneceğine dair kararlar Mac'inizde kalır. Bazı kullanıcılar Little Snitch'i (güvenlik duvarı) ayrı bir bant genişliği izleyicisiyle (ova gibi) eşleştirir çünkü ikisi farklı sorulara yanıt verir.
ova
Menü çubuğu bant genişliği izleyicisi. Uygulama başına canlı oranlar, kaydırılabilir geçmiş, üst süreçleri altında katlanmış yardımcı süreçler. Tüm uygulama kabaca 3 MB'tır ve yerel olarak çalışır. Bir paket yakalama değil, bir bakışta görülebilir bir görünüm istediğinizde cevaptır.
ova'yı eylemde görün
Bir bakışta görülebilir bir menü çubuğu bant genişliği izleyicisi — yerel, imzalanmış, ~3 MB.
Bir bulut aracı gerçekten daha mantıklı olduğunda
Local-first bir din değildir. Merkezileşmenin doğru mimari cevap olduğu durumlar vardır.
- Filo gözlemlenebilirliği. 50 dizüstü bir kuruluşun "hangi cihaz ofis yukarı bağlantısını doyuruyor" görmek için merkezi bir yere gerçekten ihtiyacı vardır. Soru birden fazla cihazı kapsadığında yalnızca yerel yardımcı olmaz.
- Uzun süreli arşivleme. Uyumluluk için günlükleri yıllarca saklamanız gerekiyorsa, bir sunucu, sonlu bir SSD'si olan bir dizüstüden daha iyi bir uyumdur.
- Cihazlar arası zaman çizelgeleri. Bir grafikte telefon artı iPad artı Mac, yeniden yüklemeler arasında senkronize edilebilir — bu bir senkronizasyon problemidir ve bir sunucu işi kolaylaştırır.
Desen şu: veri özünde çoklu cihaz veya çoklu kullanıcı olduğunda, merkezi depolama yerini hak eder. Veri tek cihazlı olduğunda, local-first her eksende kazanır.
Local-first neden de daha ucuz olma eğilimindedir
Local-first bir uygulamanın çıkarım maliyeti yoktur. Bir kez geliştirme için ödeme yapar, bir ikili gönderir ve kullanıcı başına marjinal maliyet yaklaşık olarak sıfırdır — kendi elektriklerini ve kendi SSD yazımlarını öderler. ova gibi araçlar için tek seferlik ödemelerin işe yaramasının ve SaaS panoları için gerçekten işe yaramamasının nedeni budur: birincisinin maliyet yapısı temelden farklıdır.
Diğer taraf: bulut araçları sürekli maliyetleri olduğu için abonelik fiyatlandırmasına eğilim gösterir. Hiçbir model doğası gereği daha iyi değildir, ancak mimari ve fiyatlandırma arasındaki uyum önemlidir. Tek seferlik ödemede yerel bir uygulama, bir veritabanı faturası arttığı için aniden 9 dolar/ay'a ihtiyaç duymayacaktır.
Yüklemeden önce hızlı bir kontrol listesi
Yerel olduğunu iddia eden bir ağ aracını değerlendirirken, bu listeden geçin:
- Wi-Fi kapalıyken çalışır mı? Ağı devre dışı bırakın ve aracın hâlâ çalışıp çalışmadığını görün. Evet ise, çekirdek veri yolu yereldir.
- Hesap gerektiriyor mu? Gerekli bir hesap, bir yerlerde bir sunucunun durumu tuttuğunu ima eder.
- Gizlilik politikası iletilen veri hakkında ne diyor? "Telemetri yok" güçlü bir iddiadır ve doğrulaması kolaydır.
- İmzalanmış ve notarize mi? Rastgele kaynaklardan imzalanmamış ikili dosyaları çalıştırmak, verinin nerede yaşadığından bağımsız olarak kendi başına bir sorundur.
- Veriyi dışa aktarmanın bir yolu var mı? Local-first uygulamaların neredeyse hepsi "verileriniz sizin" dışa aktarımına sahiptir. Yoksa, bu bir bayraktır.
Kısa versiyon
Local-first ağ araçları macOS'ta local-first uygulamaların genel olarak kazandığı aynı nedenlerle kazanır: veri daha yakın olduğu için daha hızlıdırlar, veri asla hareket etmediği için daha özeldirler, üçüncü tarafın çalışma süresine bağlı olmadıkları için daha güvenilirdirler ve maliyet yapısı daha basit olduğu için genellikle daha ucuzdurlar.
Çoğu kişisel ve profesyonel Mac kullanıcısı için — bir filo çalıştırmayan herkes — local-first bir yığın gerçekten ihtiyaç duyduğunuz her şeyi kapsar. Her zaman açık bakış için ova gibi canlı bir menü çubuğu izleyicisi, geçici araştırma için nettop veya tcpdump, derin dalışlar için Wireshark, güvenlik duvarı seviyesi kontrolü istiyorsanız Little Snitch. Dördü de Mac'inizde çalışır, hiçbiri trafiğinizi yüklemez ve herhangi biri ağ çalışmadığında çalışmaya devam eder.
Bir başlangıç noktası arıyorsanız, ova'yı yükleyin, bir hafta menü çubuğunda bırakın ve açılır menüye ne sıklıkta uzandığınızı fark edin. Bu, local-first'ün size göre olup olmadığını söyleyen veri noktasıdır.