Bir sunucu yönetim platformu oluşturmak, önceliklendirme konusunda hiç bitmeyen bir egzersizdir. Her hafta, müşterilerden yeni özellik talepleri alıyoruz, kendi deneyimlerimiz aracılığıyla iyileştirmeler belirliyoruz ve gelişen Laravel ekosistemindeki fırsatları fark ediyoruz. Zorluk asla “ne inşa etmeliyiz?” değildir; “hangi özelliği önceliklendirmeliyiz?” sorusudur.
Toplulukla açıkça inşa etmeye inanıyoruz. Deploynix, Laravel geliştiricileri için özel olarak inşa edilmiş bir dağıtım platformuna ihtiyaç duyduğu için var ve bu da topluluğun platformun yönü konusunda bir sesinin olması gerektiği anlamına geliyor. Bu yazıda, şeffaf bir şekilde yol haritamızı belirtiyoruz: aktif olarak üzerinde çalıştığımız, yakın gelecekte planlanan, ileride radarımızda olan şeyler ve neye göre önceliklendirdiğimizi açıklıyoruz.
Önceliklendirme Sürecimiz
Önceliklendirme Sürecimiz
Belirli özelliklere dalmadan önce, neyin inşa edileceğini nasıl belirlediğimizi anlamak önemlidir. Her potansiyel özelliği dört ölçütle değerlendiriyoruz:
Etki: Kaç müşteri fayda sağlayacak ve bu ne denli önemli? Her müşterinin dağıtımı başına beş dakika kazandıran bir özellik, yalnızca birkaç kullanıcı için niş bir sorunu çözen bir özellikten daha yüksek bir sıradadır.
Uyum: Bu özellik, Laravel odaklı dağıtım platformumuzun temel değer teklifini güçlendiriyor mu? Genel bir bulut yönetim aracı olmayı kasıtlı olarak reddediyoruz. Her özellik, doğrudan Laravel uygulamalarını dağıtmayı ve yönetmeyi daha iyi hale getirmelidir.
Çaba: Bu özelliği inşa etmek ne kadar zaman alacak ve sürekli bakım yükü nedir? Bir haftada inşa edilen ama sürekli dikkat gerektiren bir özellik, iki haftada inşa edilen ama minimum bakım gerektiren bir özellikten daha az caziptir.
Acelelik: Bu özelliği şimdi inşa etmek için bir zaman kısıtlaması var mı? Güvenlik özellikleri, ekosistem uyumluluk güncellemeleri ve kırıcı değişikliklere yanıtlar diğer kriterlerden bağımsız olarak öncelik alır.
Ayrıca müşteri geri bildirimlerine büyük önem veriyoruz. Birden fazla müşteri bağımsız olarak aynı özelliği talep ederse, bu sinyalin dikkate alınması zorunludur. Destek konuşmalarımız, topluluk tartışmaları ve doğrudan geri bildirimler, haftalık olarak gözden geçirdiğimiz bir önceliklendirme puan kartına besleniyor.
Halen Geliştirilmekte Olanlar
Halen Geliştirilmekte Olanlar
Bu özellikler aktif olarak geliştiriliyor ve önümüzdeki haftalarda kullanılabilir hale gelecek.
Container Desteği
Container Desteği
Bu, aldığımız en yüksek talep edilen özellik ve geliştirme aşamasındayız. Container desteği, Deploynix’in Docker tabanlı dağıtımları geleneksel sunucu tabanlı yaklaşımımızın yanında yönetmesine olanak tanıyacak.
Uygulamanızın konteyner yapılandırmasını, basit bir Dockerfile veya Deploynix tarafından yönetilen bir şablon aracılığıyla tanımlamanıza olanak tanıyacak ve Deploynix, konteynerlerinizi sunucularınıza inşa edip, gönderip dağıtacak.
Kubernetes inşa etmiyoruz. Dağıtımın, mevcut git tabanlı dağıtımlarımız kadar basit hissettirecek şekilde yapılmasını sağlıyoruz. Kodu itiyorsunuz, Deploynix konteyneri inşa ediyor ve sıfır kesinti ile yayımlıyor. Zaten kullandığınız aynı dağıtım betikleri, geri almak için olanaklar ve izleme, konteynerleştirilmiş uygulamalarla da çalışacak.
Organizasyonlar Arası Sunucu Transferi
Organizasyonlar Arası Sunucu Transferi
Şu anda bir sunucuyu bir organizasyondan diğerine taşımak için destek ekibimiz aracılığıyla manuel bir süreç gerekmektedir. Şu anda, organizasyon sahiplerinin sunucuları, ilişkili tüm siteler, veritabanları, SSL sertifikaları ve yapılandırmalar dahil olmak üzere temiz bir şekilde transfer etmelerini sağlayan bir kendin yap transfer sistemi inşa ediyoruz.
Bu, ajansların müşteriler için projeler inşa edip ardından altyapıyı devretmeleri açısından özellikle önemlidir. Transfer, mülkiyetin ve faturalama sorumluluğunun değişmesiyle birlikte tüm sunucu geçmişini ve yapılandırmalarını koruyacaktır.
Gelişmiş Dağıtım Metrikleri
Gelişmiş Dağıtım Metrikleri
Takımların dağıtım kalıplarını anlamalarına yardımcı olmak için detaylı dağıtım analitikleri ekliyoruz. Bu, dağıtım sıklığı takibi, ortalama dağıtım süresi, zamanla başarı ve başarısızlık oranları ve geri alma sıklığını içerir. Bu metrikler hem gösterge panelinde hem de API üzerinden kullanılabilir olacaktır.
Amaç sadece gösterişli metrikler değildir. Dağıtımlarınızın son bir ayda %30 daha yavaş hale geldiğini veya belirli bir dağıtım betik adımının %5 oranında başarısız olduğunu anlamak, sürecinizi iyileştirmek için yürütülebilir bilgiler sağlar.
Yakın Dönemde Planlananlar
Yakın Dönemde Planlananlar
Bu özellikler belirlenmiş ve tasarlanmış olup, mevcut işlerin tamamlanmasının ardından aktif geliştirmeye girecektir.
Çoklu Bölge Dağıtımı
Çoklu Bölge Dağıtımı
Küresel bir kitleye hizmet eden uygulamalar için, tek bir bölgeye dağıtım yapmak bazı kullanıcılar için yüksek gecikmeye neden olur. Çoklu bölge dağıtımı, sunucuların birden çok bölgede dağıtımını tanımlamanıza olanak tanıyacak ve aşamalar arasında yapılandırılabilir sıralama ve sağlık kontrolleri gerçekleştirecektir.
Bu, mevcut yük dengeleyici altyapımızı geliştirir. Avrupalı kullanıcılar, Hetzner sunucularına ulaşırken, Kuzey Amerikalı kullanıcılar Vultr veya DigitalOcean sunucularına ulaşabilecek ve tüm bunlar Deploynix üzerinden tek bir uygulama olarak dağıtılacak ve yönetilecektir.
Veritabanı Okuma Kopyaları
Veritabanı Okuma Kopyaları
MySQL, MariaDB veya PostgreSQL okuma kopyalarını yönetmek, Laravel uygulamaları için yaygın bir ölçeklendirme modelidir, ancak çoğu zaman doğru bir şekilde replikasyon kurmak hata yapmaya açıktır. Deploynix, okuma kopyalarının, başlangıç verisi senkronizasyonu, replikasyon izleme ve otomatik hata kurtarma dâhil olmak üzere, otomatik olarak sağlanmasını ve yapılandırılmasını sağlayacaktır.
Laravel tarafında, uygulamanızın, yapınızda herhangi bir değişiklik yapmadan okuma ve yazma bağlantılarını etkin bir şekilde kullanabilmesi için database.php yapılandırması konusunda yönlendirmeler sağlayacağız.
Takım Bildirimleri ve Webhook’lar
Takım Bildirimleri ve Webhook’lar
Şu anda, Deploynix dağıtımlar, sağlık uyarıları ve diğer olaylarla ilgili bildirimleri gösterge paneli aracılığıyla göndermektedir. Bunu yapılandırılabilir bildirim kanallarıyla genişletiyoruz: Slack, Discord, Microsoft Teams, e-posta özeti ve özel webhook’lar.
Özellikle özel webhook’lar, güçlü entegrasyonlar sağlamak için olanak tanıyacak. Harici CI/CD hatlarını tetikleyebilir, durum sayfalarını güncelleyebilir, proje yönetim araçlarını bildirebilir veya dağıtım verilerini kendi analitik sistemlerinize besleyebilirsiniz.
Staging Ortamları
Staging Ortamları
Tek tıklama ile staging ortamı sağlama özelliğini ilk günden beri geliştirmek istemiştik. Bu özellik, üretim sunucunuzun yapılandırmasını, veritabanı şemasını, sunucu yapılandırmasını ve hassas değerlerle maskelemeleri içeren değişkenleri olabildiğince yakın bir staging ortamına kopyalamanıza izin verecektir.
Staging ortamları, staging dalından otomatik dağıtımı destekleyecek, böylece ekibiniz değişiklikleri, dağıtım dalınıza dahil etmeden önce üretim benzeri bir ortamda test edebilir.
Radarımızda Olanlar
Radarımızda Olanlar
Bu özellikler, ciddi bir şekilde düşündüğümüz ama belirli zaman çizelgelerine taahhüt etmediğimiz şeylerdir. Topluluk geri bildirimi ve stratejik öncelikler doğrultusunda aktif geliştirmeye geçebilirler.
GitOps Yapılandırması
GitOps Yapılandırması
Sunucuları ve dağıtımları Deploynix paneli aracılığıyla yapılandırmak yerine, GitOps yapılandırması, altyapınızı bir YAML veya JSON dosyasıyla tanımlamanıza olanak tanıyacak ve bu dosya, deponuza yüklenmiş olacak. O yapılandırma dosyasındaki değişiklikler Deploynix’in gerçek altyapıyı istenen durumla uyumlu hale getirmesini tetikleyecek.
Bu, altyapı değişikliklerinin uygulama değişiklikleriyle aynı kod inceleme sürecinden geçmesini isteyen takımlara cazip geliyor. Ayrıca tekrarlanabilirlik sağlıyor: Deploynix’i bir yapılandırma dosyasına yönlendirerek, benzer bir altyapı yığını kurabiliyorsunuz.
Dahili CI/CD
Dahili CI/CD
Bazı müşteriler, dağıtım öncesinde testlerin çalıştırılması da dâhil olmak üzere, Deploynix’te temel CI/CD yetenekleri talep etti. Şu anda çoğu ekip, test setlerini çalıştırmak için GitHub Actions, GitLab CI veya Bitbucket Pipelines kullanmakta ve ardından testler geçtikten sonra Deploynix aracılığıyla dağıtım yapmaktadır.
Deploynix’e hafif test çalıştırma işlevleri eklemenin yeterince değerli olup olmadığını veya mevcut CI/CD sağlayıcılarıyla daha derin entegrasyonun müşterilere daha iyi hizmet edip etmeyeceğini değerlendiriyoruz. Açıkçası, henüz emin değiliz ve bir yaklaşım ortaya koymadan önce topluluktan daha fazla geri dönüş almak istiyoruz.
Yönetilen Redis ve Yönetilen Veritabanı Hizmetleri
Yönetilen Redis ve Yönetilen Veritabanı Hizmetleri
Bazı müşteriler, Deploynix’in yüksek kullanılabilirlik, otomatik hata kurtarma ve zamanında geri yükleme işlemlerini altyapı düzeyinde değil, uygulama düzeyinde gerçekleştirdiği yönetilen veritabanı ve önbellek hizmetleri talep etti. Bu, servis kapsamımızda önemli bir genişleme olacaktır, sunucu yönetiminden yönetilen hizmet alanına geçiş yapmıştır.
Bu konuda temkinliyiz. İyi bir yönetilen veritabanı, derin operasyonel uzmanlık ve 24/7 çağrı desteği gerektirir. Ancak kötü yapıldığında, daha fazla sorun yaratır. Bunu sunmaktan ziyade, sıradan bir versiyonunu sunmayı tercih ederiz.
Mobil Uygulama
Mobil Uygulama
Sunucuları izlemek ve dağıtımları hareket halindeyken tetiklemek için Deploynix mobil uygulaması geri bildirimlerde sıkça yer alıyor. Temel kullanım durumu açık: telefonunuzda bir sağlık uyarısı aldığınızda, gösterge panelini kontrol etmek, günlükleri görmek veya bir geri almayı tetiklemek istiyorsunuz, bir dizüstü bilgisayar açmadan.
İleriye dönük yaklaşımımızı yerel iOS ve Android uygulamaları yerine progessif web uygulaması yönünde şekillendirmekten yanayız. İyi bir PWA, önemli olan push bildirimleri ve çevrimdışı yetenekleri sağlarken tek bir kod tabanı ile devam etmemizi sağlayacaktır.
Topluluk Tarafından Geliştirilen Özellikler
Topluluk Tarafından Geliştirilen Özellikler
En iyi özelliklerimizin bazıları doğrudan topluluk geri bildirimlerinden gelmiştir. Örneğin, planlı dağıtımlar, veritabanı göçlerini düşük yoğunluklu saatlerde dağıtmak isteyen bir müşteriden gelen bir özellik talebinin sonucu olarak başlamıştır. deploynix.cloud üzerindeki gösterim alanları da özel alanları yapılandırma istemeyen bağımsız geliştiricilerden gelmiştir.
Her özellik talebini aktif olarak izliyoruz ve temalara göre etiketliyoruz. Aynı sorun etrafında kümeler gördüğümüzde, bu gerçek bir talebin sinyalini verir. İşte şu anda en fazla topluluk ilgisini çeken temalar:
Daha iyi günlük yönetimi: Müşteriler, projedeki tüm sunucular için merkezi günlük toplama isteğinde bulunuyor ve arama, filtreleme ve uyarı gibi özellikler talep ediyor. Bu, radarımızda ve muhtemelen yakın zamanda aktif geliştirmeye geçecektir.
Dağıtım onay iş akışları: Uygunluk gereksinimleri olan ekipler, bir dağıtımın ilerlemeden önce belirli ekip üyelerinden onay gerektirmesini istemektedir. Bu, mevcut organizasyon rolleri (Sahip, Yönetici, Yönetici, Geliştirici, Görüntüleyici) ile bağlantı kurarak dağıtım hattına yapılandırılabilir bir onay kapısı ekleyecektir.
Mevcut sunucuları içe aktarma: Bazı müşteriler, mevcut Laravel uygulamalarını başka platformlarda veya manuel olarak yapılandırılmış sunucularda çalıştırıyor ve bunları Deploynix yönetimi altına almak istiyorlar. Bu teknik olarak karmaşık çünkü mevcut sunucuların öngörülemez yapılandırmaları var ama yaygın kurulumlar için işe yarayabilecek yaklaşımlar araştırıyoruz.
Terraform sağlayıcısı: DevOps odaklı ekipler, Deploynix kaynaklarını Terraform aracılığıyla yönetmek istiyorlar. Mevcut kapsamlı API’miz dahilinde granular ile birlikte, Terraform sağlayıcı çerçevesinde API’mizi sarmak temelde gerçekleştirilmesi gereken bir konudur. Bunun açık kaynak hale getirilmesini ve topluluk katkılarını kabul etmeyi düşünebiliriz.
İnşa Etmeyeceğimiz Şeyler
İnşa Etmeyeceğimiz Şeyler
Yol haritamızı şeffaf hale getirirken, neyin kapsamımızın dışında olduğuna dair dürüst olmak da önemlidir. Deploynix, Laravel odaklı bir sunucu yönetim platformudur ve bu odağı korumak konusunda dikkatliyiz.
Genel bir bulut sağlayıcı olmayacağız. Sunucuları DigitalOcean, Vultr, Hetzner, Linode, AWS ve özel sağlayıcılarda sağlıyoruz, ancak bu sağlayıcılarla rekabet etmiyoruz. Laravel dağıtımları için kullanımı kolay bir yönetim katmanıyız.
Bir CMS veya uygulama çerçevesi inşa etmeyeceğiz. Deploynix, Laravel uygulamalarını dağıtır ve yönetir. Uygulama kodu oluşturmayız, projeleri iskelet haline getiririz veya dağıtım ve sunucu yönetimi dışında uygulama düzeyinde hizmetler sağlamayız.
Her DevOps trendini takip etmeyeceğiz. Servis mesh, sunucusuz kenar fonksiyonları, AI destekli otomatik ölçekleme: bu, ilgi çekici teknolojiler ama Laravel uygulamalarını dağıtım deneyimini gerçekten geliştirdiğinde benimseyeceğiz. Pazarlama için karmaşıklık eklemeyeceğiz.
Yol Haritasını Nasıl Etkileyebilirsiniz
Yol Haritasını Nasıl Etkileyebilirsiniz
Sizin sesiniz düşündüğünüzden daha fazla önem taşıyor. Geri bildiriminizin bize ulaşmasını sağlamak için şunları yapabilirsiniz:
Özellik talepleri: Bunları Deploynix paneli aracılığıyla veya doğrudan destek ekibimize e-posta ile gönderebilirsiniz. Özel, detaylı talepler ve gerçek kullanım senaryoları en yararlısıdır. “Konteyner desteği istiyorum” yararlıdır. “Konteyner desteğine ihtiyacım var çünkü bir Laravel uygulamasıyla bir Python ML hizmeti yan hizmeti işletiyorum ve bunları ayrı dağıtımlar olarak yönetmek zor” son derece yararlıdır.
Oylama: Yol haritası güncellemelerini paylaştığımızda, sizin için en önemli olan özelliklerle etkileşimde bulunun. Yoğun ilgi görmek, önceliklendirmemize yardımcı olur.
Beta testleri: Önemli özellikler için ilgili müşterilerle beta programları düzenliyoruz. Beta testçileri, erken erişim ve özelliğin nasıl yayımlanacağına doğrudan etki etme imkânı bulur. Eğer konteyner desteği beta programının bir parçası olmak istiyorsanız, lütfen bize bildirin.
Taahhüdümüz
Taahhüdümüz
Yol haritaları, vaatlerdir ve biz vaatlere cidden önem veriyoruz. Gösterişli özellikler duyurmak yerine, altını çizmek ve daha fazla kazanmak isteriz. “Halen Geliştirilmekte Olanlar” bölümündeki her özellik yayınlanacaktır. “Planlananlar” yüksek güvenle gerçekleşecek özelliklerdir. “Radarımızda Olanlar”, gerçek değerlendirmelerdir, pazarlama kabarcığı değildir.
İlerlememizi takip edebilmeniz ve bizi sorumlu tutmanız için düzenli olarak yol haritası güncellemeleri yapmaya devam edeceğiz. Deploynix inşa etmek, topluluğumuz ile ortaklıktır ve en iyi dağıtım platformu, Laravel geliştiricilerinin şekillendirdiği platformdur.
Kaynak: Orijinal Makale


