- Silikon Vadisi girişimi Xenobroom Inc., 2020 Mayıs’ında pandemi sırasında günlük kullanım hızla artınca mevcut sunucu altyapısını Kubernetes’e taşımaya karar verdi
- Geçiş, basit bir dağıtım iyileştirmesinin ötesine geçerek bash scriptleri ve VPS tabanlı yapının yeniden gözden geçirilip yeniden tasarlandığı uzun vadeli bir çalışmaya dönüştü
- Bağımlılık ve kütüphane yükseltmeleri, PostgreSQL’in bir bölümünün dağıtık KV depolamaya dönüştürülmesi ve AWS esnekliğinden yararlanılması da sürece eklenince kapsam sürekli genişledi
- Mevcut staging sunucusu ve develop branch tabanlı günlük dağıtımın yerini production-only CI iş akışı, dinamik yönlendirme, A/B testleri ve bölgesel bağımlılık desteği aldı
- Geçişin bittiği sanılan noktada ekipte kimse ürünün amacını hatırlamıyordu; kullanıcılar ve yatırımcılar da orijinal ürünü anlamadıklarını kabul edince geri yükleme fiilen imkansız hale geldi
Kubernetes geçişiyle büyüyen iş kapsamı
- Xenobroom Inc., 2020 Mayıs’ında sunucu altyapısını yükseltmeye başladı
- CEO’nun günlük notları ve CTO’nun mühendislik notlarına göre, pandemi sırasında günlük kullanım keskin biçimde arttı
- Bunun ardından mevcut altyapının Kubernetes’e taşınmasına karar verildi
- Çalışma beklenenden uzun sürdü
- Basit bash scriptleri ve VPS makinelerinin yeniden kurulması, gözden geçirilmesi ve yeniden mühendislikten geçirilmesi gerekti
- Şirket içinde bunun yazılım bağımlılıklarını ve kütüphaneleri de yükseltmek için bir fırsat olduğu düşünüldü
- Altyapı değişikliği daha büyük bir yapısal dönüşüme yol açtı
- Tek bir makinede çalışan PostgreSQL veritabanının büyük bir bölümünün dağıtık KV depolamaya çevrilebileceğine karar verildi
- Buna AWS’nin esnekliğinden yararlanma gerekçesi de eklendi
- develop branch’ten her gün dağıtım yapılan basit staging sunucusu ortadan kalktı
- Onun yerine dinamik yönlendirmeye sahip, A/B testlerini ve bölgesel bağımlılıkları sorunsuz destekleyen production-only CI iş akışı devreye alındı
Ürünün amacının kaybolması ve dışarıdan yardım
- Geçiş süreci tamamlanmış gibi göründüğünde, şirket içinde hiç kimse ürünün amacını hatırlamıyordu
- Kullanıcılar ve yatırımcılar da durumu çözemedi
- Her iki grup da aslında ürünü en başından beri tam olarak anlamadıklarını açıkça kabul etti
- Haftalar süren kesintinin ardından ürünün anlamını yeniden kurmak fiilen imkansız hale geldi
- CEO, Phutar Afrayughum adlı bir medyum ve duyular ötesi algı uzmanından yardım istedi
- Kendisi, Google’ın mesajlaşma uygulaması pazar payını artırmasına yardımcı olmuş ve Material Design framework’ünün geliştirilmesinde yer almış biri olarak tanıtıldı
- Ancak bu yardım “allegedly” olarak aktarıldı; yani doğrulanmış bir gerçek olarak sunulmadı
1 yorum
Hacker News yorumları
Şu yazı daha komik: Orta kademe yöneticilerin %20’si işten çıkarılınca geliştirici üretkenliği tesadüfen 3 kat arttı diyor
https://www.theolognion.com/p/company-accidentally-increased...
Bizim $dayjob’da da böyle bir geçiş işi yapılıyor; 2 yıl önce başladı ama hâlâ %30’u bile bitmedi
Eskiden “Kubernetes’e geçmeliyiz, monoliti öldürmeliyiz” diye en yüksek sesle bağıranlar, şimdi LLM’lerle oyalanmaktan Kubernetes’i unutmuş durumda
Bazı insanlar kavram kanıtlarını ve parlak yeni şeyleri gerçekten seviyor; o rolün de kendi içinde bir faydası var gibi
Bu yüzden zeki insanların etik dışı dev teknoloji şirketlerinde, reklam şirketlerinde ve gözetim şirketlerinde bile gayet memnun çalışıyor gibi görünmesi mümkün
Şirketin neden var olduğu ya da kendi bilgisayarlarının dışında gerçekte ne yaptığı pek önemli değil; önemli olan teknoloji ve yeninin peşinden gitme özgürlüğü
Şirket de bu insanların ürettiği üretkenliği ve tutkuyu seviyor, onlara iyi de ödeme yapıyor
Genelde bu tür geliştiricilerin de vicdanı oluyor; ama o vicdan çoğu zaman şirket dostu iyi niyetli sosyal hareketler biçiminde soğurulup sergileniyor
Birileri “X’i yaptım” diyebilmek için kutucukları tek tek işaretliyor
Küçük ekiplerde bu yaklaşım üretkenliği gerçekten hızlı durdurabilir ve çoğu zaman her sorunu çözme isteğiyle paketlenir
Ama sonuçta hiçbir sorun çözülmez; aksine daha fazla yeni sorun ortaya çıkar
Terfi için bir terfi paketi gerekir; terfi paketi için de büyük ve ağır bir proje gerekir
Sonunda çözülmeye çalışılan asıl sorun iş ihtiyacı değil terfi olunca, sorun arayan dev projeler ortaya çıkıyor
Anlattığınız şey kavram kanıtı bile değil gibi. Kavram kanıtının temel şartı en azından çalışmasıdır; bu ise sürüyü takip edip meşgul görünmek için bir kurgu üretmeye daha yakın
Çalışan açısından da uzun süre kalmak için iyi bir ortam gibi durmuyor
O blogda daha komik yazılar da çok. Özellikle şunu sevdim:
https://www.theolognion.com/p/dev-builds-perfect-note-taking...
Bir de bu var:
https://www.theolognion.com/p/ai-solves-all-political-econom...
Başkaları iki tıklamadan tasarruf edebilir
Şaka olduğunu biliyorum ama bir olay sonrası analiz yapılacak olsa, başarısızlığın nedeni muhtemelen şu olurdu: “Şirket içinde birçok kişi bu fırsatla yazılım bağımlılıklarını ve kütüphaneleri de yükseltelim diye düşündü. Tek makinede çalışan PostgreSQL veritabanının büyük bölümlerinin de AWS’in muazzam esnekliğinden yararlanılarak dağıtık bir anahtar-değer deposuna dönüştürülebileceğini sandılar”
Kapsama sadık kalmak gerekir
Dünyada, yaptıkları üründen çok kullandıkları teknolojiye odaklanan çok insan var
Ürüne odaklanmak, kapsamı bilmek ve çok erken aşırı tasarım yapmamak demek
Şaka Kubernetes’e odaklanıyor ama aynı şey sunucu tarafı render, AI, $modernFrontendLib, $modernLanguage ile de yapılabilir
İşiniz bulut altyapısı satmak değilse hazır bulut sağlayıcısı kullanın
Zaten bir bulut sağlayıcısına para ödüyorsanız, özellikle Kubernetes kullanmamak daha iyidir
Gerçekte 11 haftalık bir Kubernetes geçişi büyük başarı sayılırdı
Tabii veritabanı işletmek biraz zor olmuş olurdu. Çünkü Kubernetes depolama ayarlarını düzgün yapmayı unuttuğunuz için pod aniden başka yere taşınınca veriler kaybolurdu
Docker bile kullanmıyorduysanız, benzer bir geçişte sorunun Kubernetes’in kendisi olmama ihtimali yüksek
Sistem işletmek hiç bugünkü kadar kolay ve ucuz olmamıştı
Ama mühendisler bir pizza teslim etmek için keşif ekibi kurmayı, Everest’e tırmanmayı, zirvede pizzanın fotoğrafını çekmeyi, sonra tekrar uçakla eve getirmeyi, Lamborghini kiralayıp Moğol Rallisi’ni koşmayı ve 18 ay sonra o pizzayı teslim etmeyi tercih ediyor
Oysa ucuz bir scooter’a binip sokağın aşağısına inmek kazanmak için yeterli
Karmaşık bir teknolojiyse önce öğrenmek gerekir. Önce küçük ve kritik olmayan bir serviste denemek gerekir
Her seferinde tek bir şey yapmalı ve basit başlamalı
Ben servislerimizi sorunsuz biçimde Kubernetes’e taşıdım ama küçük servisleri taşıyarak öğrenmek ve denemek 2 yıl sürdü
Birkaç yaklaşımı denedikten sonra en uygun yönteme ulaştık; bu, internette hemen bulabileceğiniz türden bir yöntem değildi
GitOps kullanıyoruz ama otomasyon yapmıyoruz; gereken şeyler için sadece
kubectl apply -kçalıştırıyoruz. Çünkü o sırada flux’ın başlamak için gereksiz karmaşık olduğuna karar vermiştikArtık onlarca servisimiz ve yeterli anlayışımız olduğu için flux’a geçmeyi düşünüyoruz
1977'de saatlik ücretle faturalandırma yapan bir hukuk bürosunda genç bir duruşma avukatı olarak çalışıyordum
Hangi dava için ne yaptığımızı kâğıda kaydediyorduk; büro personeli de tamamlanmış kâğıttan koparılabilir şeritleri kesip her davanın kâğıt klasörünün içindeki panoya yapıştırıyordu
1979'da bir RadioShack Tandy I aldım ve kısa süre sonra evde DOS tabanlı veritabanı programı Foxbase'e derinlemesine daldım. Daha sonra FoxPro oldu ve 1990'ların başında Microsoft tarafından satın alındı
1981'de kendi hukuk büromu açtım; o dönemde ofis üretkenliğindeki en son yenilikler faks ile tek satırlık ekranı, belleği ve form saklamak için küçük bir diski olan elektrikli daktiloydu. Şirketler henüz kişisel bilgisayar kullanmıyordu
Hukuk bürom kısa sürede yaklaşık 10 avukat ve 12 destek personeli büyüklüğüne ulaştı; tüm sekreterlere Compaq bilgisayar aldım
Elle şerit yapıştırmanın yerini alacak bir zaman ve faturalandırma programı yazmak için çok zaman harcadım; ağ kurmayı da öğrenip kurulumu kendim yaptım
Tanıdığım diğer hukuk bürolarının hiçbirinde bilgisayar yoktu; bizde ise destek personeli için 10'dan fazla, müşterilere göndermeden önce faturaları inceleyecek avukatlar için de 4-5 “taşınabilir” Compaq vardı
Aynı zamanda işimi batırıyordum. Başkalarında tek bir bilgisayar bile yokken dünya çapında teknolojiye sahiptik; ama avukatlık işine ya da kurumsal müşteri satışına odaklanmak yerine kapımı kapatıp sadece programlama yapıyordum
Sonunda 1994'te hukuk bürosunu kapattım
Yine de heyecan verici bir dönemdi. Kısa süre sonra tüm hukuk büroları kelime işlem için bilgisayar sahibi oldu ama ticari faturalandırma programları hâlâ yoktu
Yaklaşık 24 ay boyunca birlikte çalıştığım diğer hukuk bürolarındaki avukatların hepsi benim faturalandırma programımı istiyordu
Ama dava işleri altında ezilirken bile eğlenceli olan programlamaya gömülmüştüm; kendi hukuk pratiğim de program için mükemmel bir laboratuvardı. Ne yazık ki o programlama işimi batırdı
Eğer fotoğrafı kaldıysa görmek isterim
Benim alanımda “Kubernetes” yerine GraphQL/React/Next koysanız da aynen geçerli
Üstelik bu, kusursuz çalışan bir uygulamayı, hem de çoğunlukla CRUD olan bir uygulamayı taşımak için yapılıyor
GraphQL'in ya da etkileşimli frontend'in getirdiği ödünlere hiç ihtiyaç olmadığı hâlde bunu yapıyorlar
Bu sektörde ne kadar uzun kalırsam, sorumluluk sahibi pozisyonlardaki insanların çoğu zaman ne yaptıklarını bilmediğini o kadar çok görüyorum
Değişim için ödüllendiriliyorlar; yeter ki bu değişimin sonuç verdiğini ya da en azından bir gün sonuç verecekmiş gibi göründüğünü iddia edebilsinler
Kendi barındırdığımız MinIO'dan yönetilen blob depolamaya 500 bin blob taşımak için 4 aydır gece gündüz uğraşıyorum; siyaset ve bürokrasi dışında gerçekten üretken iş 1 haftayı bile bulmaz
Bu yüzden 11 haftalık bir Kubernetes geçişi büyük başarı gibi geliyor