2 puan yazan GN⁺ 2023-12-23 | 1 yorum | WhatsApp'ta paylaş
  • Varun, 2020’deki lockdown sırasında web geliştirmeye başladı; Replit ve kişisel PC’nin ardından, evden doğrudan hizmetler ve deneysel projeler çalıştırdığı bir homelab kurdu
  • Okul için gerçek zamanlı quiz oyunu Quickz, kendi yaptığı sosyal medya platformu ve Scratch topluluğu araçları gibi gerçek kullanıcıları olan hizmetler arttıkça self-hosting operasyon deneyimi de büyüdü
  • Windows 10 Pro ile başlayan ilk sunucu, güncellemeler ve kesinti sorunları yaşadı; Kasım 2020’de Ubuntu Server’a geçerek Linux·nginx·Docker tabanlı işletime geçti
  • Dell OptiPlex’in depolama ve performans sınırları ortaya çıktıktan sonra, Mayıs 2022’de ikinci el bir Dell PowerEdge R720XD alarak yapıyı Proxmox ve Ubuntu Server VM düzenine genişletti
  • Kendi yaptığı Dock’n’Roll, Replit benzeri hızlı dağıtım akışını kendi donanımı ve alan adında yeniden kuruyor; ancak homelab, özgürlük ve öğrenmenin yanında gürültü, elektrik tüketimi ve taşınma gibi pratik kısıtları da beraberinde bırakıyor

Odadaki homelab ve çalışan servisler

  • Varun evde iki sunucu çalıştırıyor
    • yerde duran Dell OptiPlex
    • küçük bir IKEA sehpasının üzerindeki Dell PowerEdge R720XD
    • iki sunucu kırmızı ve sarı Ethernet kablolarıyla birbirine bağlı
  • Ev sunucularında, deneysel projelerden gerçek kullanıcıları olan servislere kadar birçok şey çalışıyor
    • binlerce kullanıcısı olan kendi yaptığı sosyal medya platformu
    • okul için gerçek zamanlı quiz oyunu Quickz
    • MYP Personal Project demo instance’ı olarak oluşturduğu, flipbook tarzı animasyon oluşturma ve paylaşma platformu
    • Scratch topluluğu için arama motoru gibi araçlar
    • arkadaşları için oyun sunucuları
    • birden fazla Plausible Analytics instance’ı
    • deneysel projeler üretip barındıran Replit benzeri bir araç

2020 lockdown döneminde başlayan self-hosting

  • Başlangıç noktası 2020 lockdown dönemiydi ve o sırada Varun 13 yaşındaydı
  • İlk olarak statik HTML web siteleriyle web geliştirmeye başladı, ardından backend gerektiren daha karmaşık uygulamalar yapmaya geçti
  • İlk dönem web uygulamaları, Discord botları ve otomasyon script’leri Replit üzerinde barındırıldı
  • Minecraft sunucusu ise kişisel bilgisayarı sürekli açık tutarak arkadaşlarına sunuldu
  • Cloud yerine ev sunucusunu seçmesinin nedeni maliyet tasarrufundan çok tüm stack’i öğrenme isteğiydi
    • kullanıcıya dönük frontend
    • backend ve veritabanı
    • servisi gerçekten ayağa kaldıran sunucu işletimi
    • kendi ölçeğinde cloud kullanmanın maliyet açısından daha verimli olabileceğini düşünüyor

İlk sunucu: Dell OptiPlex ve Windows 10 Pro

  • eBay’den i7-3770S ve 8GB RAM içeren bir Dell OptiPlex edindi
  • ABD’den İsviçre’ye gönderim sırasında satıcı başlangıçta yanlış RAM kapasitesi gönderdi ve sorunun çözülmesi haftalar sürdü
  • Aşinalığı nedeniyle ilk etapta sunucu işletim sistemi olarak Windows 10 Pro kullanmaya devam etti
  • Evde statik bir IPv4 adresi olduğu için web sitesi barındırmak daha kolay ve daha kararlıydı
  • Tüm servisler Cloudflare arkasına alındı; Cloudflare ücretsiz olarak SSL, DNS ve DDoS koruması olduğu tahmin edilen işlevleri üstlendi

Windows’tan Ubuntu Server’a geçiş

  • O dönemde Windows 10 ile sunucu işletmenin Varun açısından bazı avantajları vardı
    • zaten Windows’a alışıktı
    • kişisel masaüstüne benzer bir ortamda test yapabiliyordu
    • evde RDP ile hızlı ve kaliteli bir bağlantı kullanabiliyordu
    • okul tarafından verilen Chromebook’ta web tabanlı erişim gerektiği için Chrome Remote Desktop kullanabiliyordu
  • Windows güncellemeleri kesintilere yol açıp pencere yerleşimini tekrar tekrar bozunca, Kasım 2020’de Ubuntu Server’a geçti
  • Geçişten önce sistemin tamamını hızlıca kavrama hissini kaybedebileceğinden endişe etti; ancak Windows’ta kod yazarken komut satırına alıştığı için Linux’a uyumu hızlı oldu
  • İlk Linux kurulumu basitti ama bazı riskler de içeriyordu
    • internete açık nginx, 443 portunda self-signed sertifikayla HTTPS trafiğini işliyor ve Cloudflare dışındaki istekleri reddediyordu
    • 7/24 çevrimiçi kalmasını istediği çeşitli projeleri çalıştırıyordu
    • projelerin paylaştığı tek bir MongoDB instance’ı işletiyordu
    • birkaç Minecraft Java sunucusu çalıştırıyordu
    • okuldan sunucuya erişmek için webssh2’yi dışarı açmıştı, ancak bunun büyük olasılıkla pek güvenli olmadığını kendisi de kabul ediyor
  • Üçüncü taraf yazılım kurulumu, bağımlılıklar ve apt deposu eklemeleriyle hızla karmaşıklaştı; Docker ise kurulum ve çalıştırmayı basitleştiren araç oldu
    • üçüncü taraf yazılımlar Docker ile çalıştırıldı
    • kendi yazdığı kodlar doğrudan sunucuda çalıştırıldı

Depolama sınırı ve PowerEdge R720XD’nin devreye alınması

  • Yaklaşık bir yıl sonra Quickz ve kendi yaptığı sosyal medya platformu gibi gerçek kullanıcıları olan projeleri işletmeye başladı
  • Kendisi okuldayken sunucu durdu; SSH ile bağlanmaya çalıştı ama disk hataları göründükten sonra sistem tamamen kilitlendi
  • Sebep depolama alanının tükenmesiydi; eve dönünce bazı dosyaları silerek zaman kazandı
  • Mevcut Dell OptiPlex, 8GB RAM ve i7-3770S ile artan yükü taşımakta zorlanıyordu
  • Mayıs 2022’de, bug bounty’den biriktirdiği parayla ikinci el bir Dell PowerEdge R720XD satın aldı
    • 3 adet 3TB sürücü
    • 128GB DDR3 RAM
    • yüksek güç tüketen 2×E5-2690 CPU
  • Satın almadan önce alan, gürültü ve güç tüketimini yeterince hesaba katmadı; gürültüyü biraz azaltmak için iDRAC fan hızını desteklenmeyen bir hack ile %10’a sabitledi
  • R720XD’de çift güç kaynağı, çift CPU, çift NIC ve cihaz kapalıyken bile uzaktan yönetim sağlayan mini bilgisayar niteliğinde bir iDRAC bulunuyor
  • İlk başta sunucuyu oturma odasında TV’nin yanındaki sehpanın üstüne koydu; rack ve montaj ekipmanı sunucunun kendisinden daha pahalıydı

Proxmox ve uzaktan erişim yapısı

  • Yeni sunucuda bir hypervisor kullanmaya karar verip Proxmox çalıştırdı
  • Kaynakların büyük kısmını bir Ubuntu Server VM’e ayırdı ve artık tüm servisler Docker içinde düzenli şekilde çalışıyor
  • Bu yapı, ileride servis taşırken her şeyi yeniden kurmak zorunda kalmama esnekliği sağladı
  • Ayrıca backdoor adlı bir Xubuntu VM işletiyor ve Chrome Remote Desktop kullanıyor
    • bu sayede her yerden ev ağı içinde rahat bir çalışma alanına erişebiliyor
    • OpenVPN veya WireGuard gibi bir VPN kurmak da mümkün, ancak bu yöntem iPad gibi kısıtlı cihazlarda ve okulun ortak Wi‑Fi ağında da çalışıyor
    • botların brute-force denemeleri konusunda endişelenmek zorunda olmamasını da avantaj sayıyor

Replit deneyimini kendi başına yeniden kuran Dock’n’Roll

  • Birden fazla sunucusu olduktan sonra bile Replit’in hızlı deney akışını özlemeye devam etti
  • Replit, tek seferlik projeler, deneyler ve demolar için izole uygulamaları hızlıca ayağa kaldırmak açısından iyiydi; web IDE içinde kod yazıp bunu anında web’de yayımlama akışı en güçlü yanıydı
  • Replit ücretsizdi ancak gelir elde etmeye yönelik özellikler ekledi; boşta kalan repl’ler kullanıcı yoksa uykuya alınıyor ve ücretsiz herkese açık dinamik web sitesi barındırmanın artık mümkün olmadığını düşünüyor
  • Varun, kendi donanımını ve doğrudan kontrol ettiği alan adını kullanmak için Docker tabanlı, self-hosted bir Replit klonu olan Dock’n’Roll geliştirdi
  • Dock’n’Roll tek kullanıcılı bir servis
    • web uygulamalarını özel arayüz dockn.varun.ch üzerinde kodluyor
    • ortaya çıkan sonuçlar *.varunbiniwale.com altında anında herkese açık hale geliyor
  • Bileşenler şöyle
    • ExpressJS ile yapılmış kontrol paneli ve VSCode’un Monaco Editor tabanlı web arayüzü
    • proje başlatma düğmesi, Docker Engine API üzerinden image oluşturup container çalıştırıyor
    • proje metadata’sı Redis’te saklanıyor
    • her container’ın 80 numaralı portu, Redis ile Lua eklentisi üzerinden haberleşen bir OpenResty reverse proxy aracılığıyla :project.varunbiniwale.com olarak otomatik biçimde dışarı açılıyor
    • /persisted/ altındaki dosyalar container yeniden başlasa bile korunuyor ve web arayüzünden görüntülenip düzenlenebiliyor
    • web yönetici arayüzü, kendi yaptığı custom nginx auth proxy ile korunuyor
  • Dock’n’Roll bug hunting için de kullanılıyor
    • blind SSRF ve XSS gibi açıkları bulmakta kullandığı çeşitli araçları burada barındırıyor
    • yourip.varunbiniwale.com üzerinde otomatik oluşturulmuş görsel sunan bir örnek bulunuyor

Homelab’in bugünü ve gelecekteki kısıtları

  • Varun, kendi homelab’inin biraz fazla olabileceğini ama bizzat sahip olduğu ve sevdiği bir ortam olduğunu söylüyor
  • Bir gün mezun olup üniversite için taşındığında sunucuları yanında götürmeyebileceğini, ayrıca anne babasının evinde donanım çalıştırmaya devam ederek yük olmak istemediğini düşünüyor
  • Self-hosting herkes için uygun bir yöntem değil; ancak kurcalamayı seven ve sonuçlarını üstlenmeye istekli kişiler için küçük çaplı denemeye değer olduğunu düşünüyor
  • Sunucuları bizzat işletirken çok şey öğrendiğini ve araçlarını ile projelerini kendi kontrolü altında çalıştırabileceği bir yere sahip olmanın özgürlük hissi verdiğini söylüyor
  • Bu kurulum zaman zaman stres yaratıyor ve her zaman en pratik yöntem olmayabilir; yine de başka türlü öğrenmesi zor olacak pek çok beceri kazandırdı

1 yorum

 
GN⁺ 2023-12-23
Hacker News yorumları
  • Ben de küçük bir homelab'i olan 16 yaşında biriyim :)
    Eskiden tüm servislerimi buluta koyuyordum ama eve 1G/1G bağlantı gelince ve hayır mağazalarının elden çıkarılan kurumsal ekipmanları ya da çöplükten çıkan donanımları ucuza sattığını keşfedince, fiziksel sunucuları kendim çalıştırmayı denemeye karar verdim.
    Şu anda Proxmox'u 2 makine ve 1 NAS, 14 döner disk üzerinde çalıştırıyorum; Minecraft sunucusu, kişisel programlama projeleri, zafiyet tarayıcıları, Telegram botları, arkadaşlar için VPS, Android ve macOS derlemek için sanal makineler, depolama, kısa süre önce eklediğim 1050 Ti ile makine öğrenimi okul projesi ve okul CTF yarışması altyapısını barındırıyorum.
    Bu arada İtalya'dayım.

    • Ben de 16 yaşında kendi kendine kod yazmayı öğrenmiş bir İtalyanım, şimdi 34 yaşındayım. Tabii senin seviyenin epey gerisindeydim.
      Sonrasında fizik okudum, doktora yaptım, sinir ağları üzerine postdoc'a kadar gittim ama benim için en önemli şeyin eski halim gibi genç insanlara ilham vermek olduğunu hissettim; bu yıldan itibaren İtalya'ya dönüp lise öğretmeni oldum.
      Okulda ders sonrası bir Python kursu da hazırlıyorum; Milan'dan çok uzakta değilsen ve öğrencilerle konuşmayı düşünürsen bunu değerlendirebiliriz. Yolun açık olsun.
    • İnternetin gerçekten harika yanı tam da bu. Başka türlü bu iki 16 yaşındaki birbirini nasıl bulacaktı?
      Ya da aynı liseye gitmeleri gerekecekti.
    • Bu ekipmanları sürekli çalıştırmanın elektrik faturasını ailen epey üstleniyor gibi. Servislerden gelir gelmiyorsa özellikle.
      Her iki durumda da ilgi alanlarını destekleyen aileni alkışlamak lazım.
    • Gerçekten harika. Ben de makine öğrenimiyle ilgili işler için bir yerlere eski bir ekran kartı eklemeyi düşünüyorum; önce nasıl yapacağımı çözmem gerek :)
    • Elektrik faturasını kimin ödediğini merak ediyorum. İki sunucu ayda 50~100 dolar civarı tutacakmış gibi geliyor.
  • 2001'de, 16 yaşındayken yaz işinden biriktirdiğim parayla Herbert Schildt'in "Teach Yourself C" kitabını, bir ekran kartı ve Sony Trinitron aldım.
    5. bölümün sonunda Herb çok boyutlu dizilerden tuhaf bir şekilde bahsetmeye başlamıştı; bir sonraki bölümün de kelimenin tam anlamıyla büyü ve saçmalık olan pointer'lar olduğunu görünce bunaldım ve B planına, yani rock yıldızı olmaya karar verdim. Programlama çok zordu.
    Öğrendiklerimi TI-82'ye program koyup matematik sınavlarında kopya çekmek için kullandım.
    Birkaç yıl sonra üniversitenin ilk döneminde bir danışman, ana dalı bir dönem erteleyip ilgimi çeken birkaç farklı ders almamı önerdi; bu gerçekten kurtarıcı oldu.
    İlk Java kitabımı alıp kurcalamaya başladığımda C kitabından çok daha erişilebilir geldi; ilk derse gittiğimde dersin kapsadığı kısmı zaten sonuna kadar okumuştum.
    Böylece bir kez vazgeçtiğimi sandığım yolda, bugüne kadar 15 yılı aşkın süren yolculuğum başladı.
    Hâlâ gitar çalıyor ve keyif alıyorum ama müzisyen olarak benliğimin, mühendis olarak benliğimden daha iyiye gidemeyeceğini biliyorum.

    • Pointer'lar, öğrenmeyi ve kendini geliştirmeyi sevmeme yol açan dönüm noktasıydı.
      Ergenken C öğrenirken kaynakların hep pointer'lardan itibaren işlerin tuhaf ve zorlaştığı konusunda uyardığını hatırlıyorum.
      Başta gizemli gelmişti ama kış tatiliydi; anlayana kadar peşini bırakmamaya karar verdim. Saatler mi sürdü, günler mi, yoksa bütün bir hafta mı hatırlamıyorum; ama tam anladığım anda muazzam bir tatmin hissettim ve sonrasında her şeyi başarabilirmişim gibi geldi.
      Zor oluşuyla nam salmış Dark Souls serisinin direktörü Hidetaka Miyazaki'nin bir röportajında, gitar çalarken barre akorları öğrenirken benzer bir deneyim yaşadığını ve büyük bir engeli aşmanın verdiği tatmini oyunlarına kattığını okumuştum.
      Gerçekten güçlü bir his.
    • 80'lerin sonlarında lisans öğrencisiyken C pointer'ları yüzünden bir süre çok kafam karışmıştı; öğretmenler de pek yardımcı olamamıştı.
      Sonunda pointer'ın aslında sadece bir bellek adresi olduğunu fark edince, büyük kafa karışıklığı tek bir basit kavrama indirgenip dağıldı. Kafamda nasıl bir his bıraktığını hâlâ hatırlıyorum.
      Etrafımdaki sınıf arkadaşlarımın çoğu da benzer deneyimler yaşadı; herkes bunu aşamadı.
      Bu yüzden yine merak ediyorum: İnsanlar C pointer'larını neden bu kadar zor anlıyor? Kavramdan, yani dolaylı referanstan mı; & ve * ile dizileri pointer gibi ele alan gösterimden mi; yoksa başka bir sebepten mi?
      Üniversiteden önce peek ve poke komutlarıyla VIC ve SID çiplerini kurcalamaya ve assembly yazmaya epey emek vermiştim; C ile ilk karşılaştığımda bu geçmişin fena olmadığı anlaşılıyor. O zamanlar bağlantıyı hemen fark etmemiş olsam bile. Günümüzde bunun karşılığının ne olduğunu da merak ediyorum.
    • Ergenken programlama hakkında konuşacak kimsem olmadığı için Freenode'da dolaşırken ##C'yi bulduğumu hatırlıyorum.
      O sırada programlama dilleri hakkında temel bir sezgim vardı ama neredeyse acemiydim; C'de argüman yazdırıcısının neden (null) ile alakasız şeyleri, yani envp'yi yazdırdığını sormuştum.
      Kanaldaki çok nazik biri sabırla pointer'ların temellerini anlamama yardım etti; bu yaklaşık 16 yıl önceydi. Adını artık hatırlamıyorum ama o zaman yardım eden kişiye minnettarım.
    • Lisedeyken K&R'a bakarken malloc'un uygulandığı kısımda takılmıştım.
      Pointer'lar bağlı listeleri anlamak için gerekliydi, o yüzden dayandım; ama o veri yapısını 1980'lerde bir kez kullandım, sonra bir daha kullanmadım.
    • Programlamaya doğrudan onaltılık (Z80) ve sekizlik (PDP11) sayı girerek başladığım için, C ile karşılaştığımda bellek üzerinden dolaylı erişim doğal geliyordu.
      CPU'nun en altta nasıl çalıştığını anlamanın kesinlikle avantajı var. Elbette günümüzdeki programlamanın çoğu için bunun gerçekten gerekli olup olmadığı tartışmaya açık.
  • Pahalı rack'lerden bahseden paragrafın yanında sunucunun bir Ikea masası üzerinde olması hoşuma gitti. Lack Rack'i biliyor muydun merak ettim: https://web.archive.org/web/20230131031301/https://wiki.eth0...

    • Biliyorum. Sadece henüz tüm ölçüleri alıp uygun vidaları ve masayı bulacak vaktim olmadı.
  • İlginç bir gerçek. Ben 16 yaşındayken 200 dolarlık bir ev sunucusu edinmek, 5 dolarlık bir Digital Ocean VPS edinmekten çok daha kolaydı.
    Buradaki çevrimiçi alışveriş hizmeti Allegro, aslında Amazon ile eBay’in birleşimi gibi; küçük bir komisyon karşılığında kapıda ödemeyi memnuniyetle kabul ediyordu.
    Kaydolmak için muhtemelen 18 yaşında olmak gerekiyordu ama Polonya’da bu tür kısıtlamaları gerçekten önemseyen yoktu ve yaş doğrulaması da yoktu.
    Buna karşılık bulut hizmetleri banka kartı ya da kredi kartı istiyordu; bunları da ebeveyn müdahalesi olmadan çıkarmak ya mümkün değildi ya da tamamen imkânsızdı.
    Bitcoin ve genel olarak kripto paralar hakkında çok kötü şey söylenebilir ama gençlerin hakları açısından önemini ne kadar vurgulasak azdır.

    • Kayıt yaşı 18 değil, 13.
      Ayrıca ebeveyn onayıyla 13 yaşındaki biri de çevrimiçi ödeme yapılabilen banka kartlı ücretsiz bir banka hesabı açabilir. Bu yeni bir şey de değil; 15 yıl önce benim de vardı.
    • Bu, ebeveynlerin çocuklarının mülkiyetini kontrol etmesini desteklemediğin anlamına mı geliyor?
  • Aferin. Donanım ve işletim sistemlerinin temellerini, hatta bazen temellerin ötesini öğrenenlerin giderek azaldığını hissediyorum.
    Bu bilgi PaaS ile çalışırken de çok değerli. Örneğin NT4 döneminden beri IIS, 1.x döneminden beri Apache ile uğraşmış olmak, Azure Web Sites sorunlarını teşhis ederken çok yardımcı oluyor.

    • Sektörde fiilen çalışan insanların bile bilmediği oluyor.
      Yaklaşık 10 yıl önce bir veri merkezinde çalışırken, bir sunucunun RAM gibi donanımını değiştirmem gerekiyordu. O sunucuyu kullanan ekibin sorumlusu yıllardır sunucu odasından yaklaşık 50 yarda uzakta oturuyordu ve değişimi izleyip izleyemeyeceğini sordu.
      Sunucunun içini hiç görmediği için merak ettiğini söyledi; hatta evindeki PC’nin içini bile hiç görmemiş gibi geliyordu. Bu gerçekten şok ediciydi.
      O zamanlar prosedürler de katı değildi; herhangi bir gün onlarca kişiden birinden tur istese hiç soru sorulmadan gösterilirdi. Ofis bölmelerinin etrafında da çeşitli nedenlerle sunucular duruyordu.
      O güne kadar bunu hiç düşünmemişti sadece.
    • Çoğunun kendi topladığı bir PC’si bile yok. İç yapıya dair sezgileri çok az ve donanım haberlerini ya da yazılarını da yeterince takip etmiyorlar.
      Böyle bir PC profesyonel rack sunucusu olmasa da sunucu olarak kullanılabilir ve yine de yapılandırma gerektirir.
      Bu tür temel anlayış ve öğrenme deneyimi büyük ölçüde kayboluyor. HTML ve CSS’i neredeyse bilmeyip yalnızca React bilen frontend geliştiricilerinin ortaya çıkması da uzak değil.
  • İkinci el rackmount sunucuları keşfettiğimde 16 yaşında değildim ama yine de oldukça gençtim; muhtemelen 21 yaşındaydım.
    2012’de Dallas, TX’te yılda 30 bin dolara, sağlık sigortası bile olmayan, neredeyse geçimlik düzeyde berbat bir işte çalışıyordum.
    Video kodlama deneyleri için dizüstü bilgisayarımdan biraz daha güçlü bir şeye ihtiyacım vardı ama yapmak istediğim işlere yetecek kadar hızlı bir bilgisayar alacak param yoktu. Yaklaşık 25 yaşıma kadar da özellikle para biriktiremedim.
    Dürtüsel şekilde Craigslist’te “hızlı ve ucuz bilgisayar”ın çeşitli ifadelerini ararken sonunda “server” aramasına geldim.
    Böylece eski ama hâlâ kullanılabilir rackmount Dell sunucuları neredeyse bedavaya alınabildiğini öğrendim; bir satıcı 16 çekirdekli ve 32 GB RAM’li iki Dell rack sunucusunu yaklaşık 250 dolara satıyordu.
    Zar zor alabilecek durumdaydım; arabaya atlayıp gidip aldım ve bu, sonraki 12 yıl boyunca kariyerimin yönünü neredeyse belirledi.

    • Rackmount sunucuların gizli maliyetleri var. Biri, bir drone sürüsü gibi ses çıkaran şeyin yanında oturmak zorunda kalmak; diğeri ise yedek parçaların kurumsal fiyatları.
      Dell benim için genel olarak fena değildi ama backplane ve başka parçaları hemen değiştirmem gereken zamanlar da oldu.
    • Yüzyıl dönümü civarında Solaris sözleşmeli işleri konusunda uzmanlaşmıştım; o dönemde ev laboratuvarım çoğunlukla eBay’den aldığım eski Sun Enterprise ekipmanlarından oluşuyordu.
      https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
      Bir E450’m de vardı; şuradakine benziyordu: [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
      Bunun dışında birkaç küçük cihaz ve iş istasyonu da vardı; yanlış hatırlamıyorsam bir ara E220R de vardı. O eski şeylerin hepsine ne oldu bilmiyorum.
      Her hâlükârda potansiyel müşterilerle görüşmeden önce mülakata hazırlanmak, yani belirli teknolojileri yeniden bilemek için çok faydalıydı; genel geliştirme ve paketleme işleri için de iyiydi.
    • Örneğin iki adet 8 çekirdekli masaüstü kullanmamanın özel bir nedeni var mıydı merak ediyorum.
  • Çok fazla giriş/çıkışa, örneğin SAS/SATA depolama aygıtlarına ya da eski PCIe kartlara ihtiyacınız yoksa, büyük, gürültülü ve çok elektrik tüketen sunuculardan kaçınmak sanıldığından çok daha basit
    Aynı fiyat aralığındaki Mini/Micro form faktörlü OEM PC’ler genelde çok daha yeni nesil donanımla geliyor. 3. nesil i7 yerine 8. nesil i5 bulabilirsiniz; genel performans da çok daha iyi olur
    Barındırma ve bakım da çok daha kolay: ISP modemin yakınına takıp unutmak yeterli

    • Eski bir Skylake HP Elite SFF makinem var
      Hiç modifikasyon yapmadan iki adet 3,5 inç sürücü ve bir adet 2,5 inç sürücü takılabiliyor; CPU ısısını doğrudan arkaya atan kanal yapısı ve 80 Plus Platinum verimli güç kaynağı sayesinde sürekli açık kalacak bir makine olarak fiyat/performansı çok iyi
    • “Takıp unutmak”, 16 yaşındayken tam da istemediğim şeydi
      Benim de bir sunucum vardı ama HP ML form faktöründeydi, bu yüzden pizza kutusu tipinden daha az gürültülüydü. ECC de oldukça önemli; gerçek donanım RAID’i ise iyi bir öğrenme deneyimi
    • Gerçekten çok sayıda SATA disk kullanmanız gerekiyorsa, birkaç R720XD’yi geçmek zor
      Küçük bir grubum var; 1) CPU’yu devre dışı bırakıp 2) kalan CPU’yu düşük voltajda çalıştırıp 3) ham IPMI bayt dizileriyle kendi fan denetleyicinizi yaparsanız aslında o kadar gürültülü ya da çok elektrik tüketen makineler değiller
      PB başına maliyet açısından en iyi büyük ölçekli depolama çözümlerinden biri. Birkaç NUC ve tek kart bilgisayarım da var ama kullanım alanları kesinlikle farklı
      Bir gün bir iki fazla Isilon kümesi satın alıp gerçek büyük ölçekli depolama seviyesine ulaşmayı düşünüyorum. Boş zamanımda Ceph ile boğuşmakla uğraşamam
    • Yönlendirici için OpnSense çalıştırmak üzere neredeyse eski bir Skylake bilgisayar kullanacaktım
      Onun yerine 100 dolarlık fansız bir Intel N100 mikro bilgisayar aldım; sadece 7W tüketiyor ve performansı neredeyse aynı. Elektrik faturası tasarrufuyla kendini amorti edecek
      i5-6600K zaten özellikle çok elektrik tüketen bir model olmadığı hâlde durum böyle
    • Bir dönem dosya sunucusu olarak Intel anakart ve Atom CPU kombinasyonu kullandım ama sonunda yükseltmek zorunda kaldım. Atom çipleri gerçekten berbattı
      Sonra Skylake Pentium’a geçtim; çok daha iyi çalıştı
  • Ben de eskiden böyle bir çocuktum. Kendi topladığım üst düzey bir PC’m vardı; dönemi belli etmek gerekirse 6.000 doların[0] epey üzerindeydi ve yeni çıkan 486DX50 tabanlıydı
    Anakart RAM’ini maksimuma doldurmuştum; sanırım 16MB’ydi ama hafızam bulanık. Turtle Beach Wave Table Synth ses kartı ve 16 inç CRT’de 1152x1024 çalıştırabilen bir ekran kartı da vardı
    İki adet 9600 modemle, sonra da iki adet 16.8K modemle çok düğümlü bir BBS işletiyordum
    O PC’yle ve ondan önceki 10 yıllık 8088’le kurcalama deneyimim olmasaydı, büyük ihtimalle yazılım geliştirici olmazdım
    Bir komşu çocuğu için oyun PC’si toplamıştım; 4 yıl boyunca farkında bile olmadan son derece yetkin bir geek’e dönüşmesini izledim
    Oyunlarda biraz daha fazla kare hızı almak için ayarları kurcalamak, firmware güncellemeleri, ekran kartı sürücüleri, yazılım güncellemeleri ve “PC’de oyun oynamak istiyorum” sözünün beraberinde getirdiği her türlü karmaşayla boğuşmak, fark etmeden çok bilgi biriktiriyor
    4 yıl boyunca o çocukla konuşmadıktan sonra yakın zamanda tekrar karşılaştım ve şaşırıp kaldım. İlk iş olarak cebinden Flipper Zero çıkardı ve onunla yaptığı her türden çılgın şeyi anlattı
    Konuştuğum herhangi bir sistem yöneticisi kadar yetkindi ama kendisi bu becerilere sahip olduğunun bile farkında değil
    O kadar iyi bir deneyimdi ki kendi oğluma da konsoldan geçsin diye düzgün bir oyun dizüstü bilgisayarı aldım; son bir yılda aynı şey yaşandı
    Bu yıl iki yaş küçük kızım da masaüstü toplamam için başımın etini yedi; ona harika bir Noel ve bir yıllık öğrenme ile hayal kırıklığı düşecek :)
    Ha, bir de ailece bu yıl Flipper Zero aldık. Komşu çocuğunun eğlenceyi tekeline almasına izin veremezdik
    [0] O parayı başkalarının bilgisayarlarını toplayarak biriktirdim

    • Yazılım kariyerimde 25. yıla gelmişken bile beni gerçekten şaşırtan şey, ekibimdeki yazılım mühendislerinden kendi bilgisayarı olanların sayısının bu kadar az olması
      Mevcut ekipte yarısından azı. Buna karşılık ben iş dizüstümün yanında oyun PC’si, oyun dizüstü PC’si ve genel amaçlı bir MBP dahil birkaç makinesi olan tuhaf kişiyim
      Oğlum da benzer bir deneyim yaşadı. Bilgisayar öğrenmeye büyük bir ilgi göstermemişti ama PC toplamaya yardım etmek istedi ve şimdi arkadaşlarının teknik destek sorumlusu oldu
    • HN’deki birçok kişi gibi benim de benzer bir hikâyem var
      Yıllarca “homelab”imin etrafına 10BASE2 koaksiyel kablo döşeyip oynadıktan sonra, insanların bu oyuncaklarımla uğraşmam için gerçekten para verdiğini fark ettim
      Elbette o para yine homelab oyuncaklarına gitti
      Şimdi çocuklu çok arkadaşım var ve bazılarının çocukları ergen. Bir süredir içimde bir kaygı vardı; bu çocukların teknik bilgisi Wi-Fi şifresini sormak ve uygulamada şaka videoları gibi şeyler izlemekle sınırlı
      Büyüyünce ne olmak istediklerini sorduğunuzda “influencer” diyorlar. En teknik yaptıkları şey internet çalışmadığında “router”ı yeniden başlatmak; ikinci teşhis adımı da internetin olmadığını bağırmak
      Harika çocuklar ve onları suçlamak istemiyorum ama bizim nesil ortadan kaybolduktan sonra ışıkları açık tutacak birilerinin kalıp kalmayacağından endişe ediyordum
      Bizim zamanımızda bilgisayar kullanmanın ve internete bağlanmanın giriş bariyeri yüksekti ama bunun teknik yetenek patlaması yaratmak gibi bir faydası da vardı
      Bu yüzden hâlâ içine bakıp kurcalayan geek çocukların olduğunu duymak gerçekten sevindirici
    • Ben de birkaç yıl sonra tam olarak aynı yoldan geçtim
      Annemin Gateway’inde oyun oynamaya çalışırken Pentium D ile ilk PC’mi toplamaya başladım; eBay’de sürekli donanım alıp satarak parça değiştirme hobisine dönüştü ve sonunda elektrik mühendisliği diplomasına kadar gitti
      Video oyunları da, PC kurcalamak ve overclock da olmasaydı elektrik mühendisliği diplomam da olmazdı
    • O çocuğun Flipper Zero ile ne gibi havalı şeyler yaptığını merak ediyorum
    • Çocukların kaç yaşında olduğunu merak ediyorum
  • Tebrikler. Ben 16 yaşındayken yalnızca bir 486DX2-66, 28.8K modem ve UPS'im vardı.
    Bunu yapmak isteyen diğer gençler ve ruhu genç kalanlar için: eBay'de ikinci el kurumsal sunuculara bakabilirsiniz. HP, Lenovo, Dell, Supermicro genelde tercih edilebilir markalar.
    Satın almadan önce belirli modelin teknik özellik belgelerini, sürücülerini ve firmware'ini bulup eksiksiz ve kullanılabilir bir şey mi, yoksa makul maliyetle tamamlanabilir mi diye kontrol etmek gerekir.
    XenServer veya VMware ESXi ile birden fazla sanal makine çalıştırmayı planlıyorsanız, satın almadan önce işletim sisteminin donanım uyumluluk listesinden (HCL) uyumlu olup olmadığını kontrol etmelisiniz.
    1U sunuculardan kaçınmak iyi olur. 2U ve üstüne göre daha küçük ve kısa fanları çok hızlı döndürmeleri gerektiği için daha gürültülüdürler.
    CPU en az elinizdeki bilgisayar kadar hızlı olmalı. Yoksa çok pahalı bir kâğıt ağırlığına ya da kocaman bir “Raspberry PI”ye dönüşebilir: https://www.cpubenchmark.net
    Dell, Lenovo, HP sunucularındaki AMD CPU'larda satıcı kilidi olabilmesi bir tuzaktır. Yine de bazen satıcı kilitli CPU'yu çok ucuza verdiği için mantıklı olduğu durumlar da olur.
    ECC RAM. Dost olan dostuna ECC olmayan RAM kullandırmaz: https://cr.yp.to/hardware/ecc.html
    SSD kullanmak iyi olur. Dönen diskler depolama içindir, işletim sistemi için değil: https://web.archive.org/web/20110831080738/http://buyafuckin...
    Mümkünse iLO veya iDRAC gibi lisansı zaten bulunan uzaktan yönetim özelliklerine sahip bir cihaz almak iyi olur.
    Elinize geçtiğinde muhtemelen kirli ve çizik olacaktır; dışarıda açıp basınçlı havayla temizlemek gerekir.
    Bonus puan: ebeveynleri garaja 19 inç patch panel ve yarım rack kurmaya ikna etmek :]

    • Bu tavsiyelerin hepsi olsa iyi olur türünden. Eski bir masaüstü ya da dizüstü bilgisayarla da aynı işi kolayca yapabilirsiniz.
      Uzun süredir homelab yapıyorum; ikinci el sunucu donanımı satın almak ya da aramak yerine eski masaüstü parçalarıyla doldurduğum rackmount sistemler kullandım. Şart değil.
      ECC RAM de ucuza bulunabiliyorsa ve CPU destekliyorsa faydalı, ama deneyimime göre sorun olarak biraz abartılıyor.
      Yine de 2U veya 3/4U cihaz alınması gerektiğine katılıyorum. Çok daha büyük fanlar takılabiliyor ve bu yüzden daha sessiz oluyorlar.
  • 90'ların başında gençken ilk bilgisayarımı aldığımda beni en çok şaşırtan şey tüm bilgisayarların sunucu olduğu gerçeğiydi.
    Bilgisayarın rack form faktöründe olması da, pahalı olması da gerekmiyordu. Winsock ve TCP/IP yeterliydi; hepsi bu kadardı. Benim bilgisayarım internetteki diğer bilgisayarlarla aynıydı.
    Bu yüzden bu yazı güzel olsa da, Node tabanlı bir uygulamayı çalıştırıp internete sunmak için donanımın neredeyse hiç ilgisi olmadığından donanım vurgusunun biraz daha az olmasını isterdim.
    Statik IP de gerekmez; dinamik DNS'i çözmeniz yeterli :)

    • Başka bir deyişle, P2P dosya paylaşımının zirvede olduğu dönemde çoğu 16 yaşındaki gencin odasında gerçekten bir sunucu vardı.
    • Almanya'nın ilk çevrimiçi demiryolu rota planlayıcısının hikâyesini yeniden bulmak istememe yol açtı.
      Bunu yapan kişinin kendi yazdığı bir yazıydı; 90'larda Deutsche Bahn çevrimiçi değilken bile rota bilgileri CD-ROM'da vardı.
      Birisi o CD-ROM verilerini alıp iki istasyon arasındaki rotayı sorgulayınca döndüren bir araç yapmıştı.
      Sorgulama yöntemi ilginçti: onun üniversite e-posta adresine e-posta gönderince “sunucu”, aslında odanın köşesindeki PC, her 5 dakikada bir e-postaları alıyor, sorguyu işliyor ve sonucu e-postayla geri gönderiyordu.
      Ne yazık ki artık Google ve DDG işe yaramaz hale geldiğinden, bu hikâyeyi geçen sefer aradığımda gerçekten çok uzun sürmüştü.
    • Bu tür kullanım için sunucu sınıfı bir makine yerine sunucu sınıfı olmayan bir makineyi tercih ederim.
      Modern tek kartlı bilgisayarlar da gayet yetkin bir ev sunucusu olabilir; çok daha küçük, sessiz ve ucuzdurlar, ayrıca daha az güç tüketirler.
    • Gençken elime geçen en harika teknoloji parçalarından biri boşa çıkmış eski bir masaüstü bilgisayardı.
      Başta FreeBSD kurmuştum, sonra Linux kurdum; evde bana ait bir Unix makinesi olması inanılmazdı.
      Güçlü değildi, çok belleği ya da depolama alanı da yoktu ama istediğim gibi kullanabildiğim bana ait bir şeydi.
      IRC botları çalıştırıyor, yazdığım berbat Perl script'lerini koyduğum bir web sunucusu işletiyordum. Ağ kartı taktıktan sonra evin çevirmeli bağlantı yönlendiricisi olarak da görev yaptı.
      O makineyle kurcalayarak gerçekten çok şey öğrendim; vim'den çıkabilme yeteneğimi o makineye borçlu olduğumu düşünüyorum.
    • 1999'da ilk açık kaynak yazılımımı yayımladığımda, apartmandaki kablo modem bağlantısı ve dinamik DNS üzerinden doğrudan kendi masaüstü Linux makinemde barındırmıştım.
      Freshmeat[1]'e koymuş, akşam yemeği yerken kanepeden Apache loglarının akışını izlemiştim. Kariyerimdeki en güzel hislerden biriydi.
      [1] https://en.wikipedia.org/wiki/Freecode