Dizüstü bilgisayarın fan sesi, derleme sırasında yaşanan pili bitirme maratonu ve "bende çalışıyordu" cümlesi, geliştirme ortamının yerel olmamasının bedeli değildir; aksine, işi doğru makineye taşımanın gerekçesidir. Uzaktan geliştirme üç ana kalıpta gelir: SSH ile uzak makineye bağlanmak, geliştirmeyi container içinde standardize etmek ve bulutta kiralanan bir iş istasyonunu terminalden kullanmak. Üçünün de amacı aynı: ağır işi, sizin dizüstünüzden daha güçlü ve daha kalıcı bir makineye taşımak.

SSH: en eski ve en sağlam yol

SSH üzerinden geliştirme, dosyaları uzak makinede tutup editörünüzün uzak dosya sistemine bağlanmasıyla başlar. VS Code Remote-SSH ve Vim'in uzak dosya eklentileri bu modeli sessizleştirir; editör arayüzü yerel kalır, derleme ve çalıştırma uzakta gerçekleşir:

# Uzak makineye saglam baglanti + port yonlendirme
ssh -L 3000:localhost:3000 -o ServerAliveInterval=60 kullanici@sunucu

# Rsync ile calisma dizinini cift yonlu senkronize tutmak
rsync -az --delete ./src kullanici@sunucu:/home/kullanici/proje/src

Bu modelin en büyük avantajı basitliği: uzak makinede ayrı bir ortam kurmanıza gerek yok, mevcut sunucu yeterlidir. Ağ kesintisi, kayıp tuş hızının ötesinde bir sorun yaratmaz; oturum tmux içindeyse iş kaldığı yerden devam eder. Geliştirme verileri ve bağımlılıklar uzak makinede yaşadığı için dizüstünüz yerel makineden daha serin kalır; derleme süreleri de donanıma bağlı kalır, pilin dolup boşalmasına değil. Dikkat edilecek tek nokta güvenilirdir: sunucuya kim erişebiliyor, hangi anahtarlar yetkili, oturumlar ne kadar yaşıyor — bu soruların cevabı, uzak ortamın güvenlik çerçevesini çizer.

Container: "bende çalışıyor"un sonu

Geliştirme container'ı, işi bir adım daha standardize eder. devcontainer tanımı, projenin hangi çalışma zamanını, hangi eklenti, hangi veritabanı ile çalıştığını repoya gömer; ekibin her üyesi aynı ortamı tek komutla kurar. Yerel makinede Node sürümü derdi kalmaz, çünkü Node'un kendisi container'ın içinde yaşar. Bağımlılıklar proje bazında izole olur, port çakışmaları hikâye olur. Bedeli ise kaynak kullanımıdır: container katmanı ve senkronizasyon, yerel makineden bir miktar RAM ister; küçük projelerde bu bedel gerekli olmayabilir.

Bulut iş istasyonu ise aynı container mantığını yönetilen bir servise taşır: makine bulutlarda çalışır, siz tarayıcı ya da yerel editör üzerinden bağlanırsınız. Derleme için sekiz çekirdek, büyük bir model eğitimi için GPU gibi ihtiyaçlar, dizüstü bilgisayarın limitini değil bulutun limitini esas alır. İş bittiğinde makineyi kapatmak, boşta duran sanal makine faturasını da bitirir. Maliyet konusunda iki tavır gereklidir: sabit iş yükü için rezerve makine, düzensiz iş yükü için saatlik makine; gece boyu açık unutulan bir GPU, ay sonunda beklenmedik bir fatura sayfasıdır.

Doğru kalıbı seçmek için soruyu değiştirin: "Hangisi hızlı?" değil, "Hangisi tekrarlanabilir?" Tek kişilik projelerde SSH yeter; ekipte standartlaşma container ile gelir; büyük derlemeler ve GPU işleri bulut iş istasyonunu gerektirir. Karışım da yasaldır: günlük işi SSH'da tutup, ağır derlemeyi geçici bir bulut makinesine vermek, maliyeti ve karmaşayı dengede tutar. Üçünün ortak zemini ise aynıdır: ağır işi, dizüstünüzden daha güçlü olan ve 24 saat ayakta duran bir makineye taşımak. Bu geçiş bir kez yapıldığında, yerel makine bir geliştirme ortamı olmaktan çıkıp yalnızca bir pencereye dönüşür.