Veri yoğun SEO platformu
Batunet, 2017'den bu yana ticari ve veri yoğun bir SEO platformunun teknik gelişiminden sorumlu. Devralınan ürün canlıda çalışıyordu, ancak işlev kapsamı bugünkünden çok daha dardı. O zamandan beri temel alt sistemler Batunet tarafından yeniden geliştirildi, mevcut alanlar ise sürekli genişletildi.
Bir dakikada proje.
- Rol
- 2017'den bu yana platformun teknik gelişimi: kavramsal tasarım, mimari, uygulama ve işletim.
- Başlangıç durumu
- Canlıda çalışan, ticari olarak kullanılan ve işlev kapsamı çok daha dar olan bir ürün.
- Ürün biçimi
- Ticari SaaS ürünü.
- Veri hacmi
- Milyarlarca kayıt, terabayt düzeyinde veri hacmi.
- Tamamen Batunet tarafından geliştirilen
- Teknik web sitesi crawler'ı, raporlama sistemi, yapay zekâ işlev alanı.
- İşleme
- Worker'lar ve kuyruklar üzerinden dağıtık ve asenkron işleme ile kendi iş (job) yönetimi.
- Teknik ortam
- PHP, Symfony, MySQL/MariaDB, Redis, RabbitMQ, Elasticsearch/OpenSearch, JavaScript, TypeScript, Docker, Linux/Nginx.
- İş bölümü
- Platformu işleten şirket iş ihtiyacını ve ürün hedefini belirler. Teknik kavramsal tasarım büyük ölçüde Batunet'te oluşur.
Sıfırdan başlamak yerine geliştirmek.
Ürünü devraldığımızda çalışıyordu. Canlıdaydı, ticari olarak kullanılıyordu ve işleyen bir çekirdeği vardı; işlev kapsamı ise bugünkünden çok daha dardı. Bu durumda sıfırdan başlayan, oturmuş iş mantığını çöpe atıp ardından yeniden inşa etmek zorunda kalır.
Bu yüzden sıfırdan başlamadık. Her genişletme, sistem çalışırken mevcut sisteme eklendi. Çekirdek korundu; işlev kapsamı 2017'den bu yana sürekli büyüdü: temel alt sistemler yeniden geliştirildi, mevcut alanlar genişletildi.
Burada neler ortaya çıktı?
Üç alt sistem tamamen, bir alt sistem ise neredeyse tamamen Batunet'te geliştirildi. Mevcut alanları devraldık ve önemli ölçüde genişlettik.
- Tamamen Batunet tarafından geliştirilen
- Teknik web sitesi crawler'ı, Raporlama sistemi, Yapay zekâ işlev alanı
- Neredeyse tamamen Batunet tarafından geliştirilen
- Dışa aktarma sistemi
- Önemli ölçüde genişletilen
- Sıralama takibi, Anahtar kelime analizi, Backlink analizi, Rakip analizi, İçerik işlevleri, İzleme (monitoring), Dashboard'lar, Kullanıcı ve yetki sistemi
Crawler.
Teknik web sitesi crawler'ı tamamen Batunet'te geliştirildi. Web sitelerini alt sayfalarıyla birlikte eksiksiz tarar, teknik kontroller yapar ve sonuçları geçmişiyle birlikte saklar; böylece zaman içindeki değişiklikler görünür kalır. Taramalar otomatik olarak ve düzenli aralıklarla çalışır.
Büyük bir web sitesinde tek bir tarama on binlerce URL'ye ulaşır. Bu, tek bir süreçte yapılamaz. İşleme, görevlerini kuyruklardan alan worker'lara dağıtılmıştır; bunun üzerinde taramaları önceliklendiren kendi iş yönetimi bulunur. Analiz, raporlama ve bunların üzerindeki arayüz de Batunet'te geliştirildi.

Veri hacmi bir mimari sorusuna dönüştüğünde.
Milyarlarca kayıt ve terabayt düzeyinde bir veri hacmi bir performans göstergesi değil, bir tasarım koşuludur. Bu büyüklükten itibaren verinin nerede duracağını iş mantığı değil, hangi sorgunun hangi sürede hâlâ yanıtlanabilmesi gerektiği belirler.
Sonuç her yerde aynıdır: İstek döngüsü içinde yapılması gerekmeyen iş, orada yapılmaz. Bu nedenle worker'lar ve kuyruklar üzerinden dağıtık ve asenkron işleme, önbellekleme, bir arama indeksi, kendi iş yönetimi ve büyük dışa aktarmaların asenkron üretimi sonradan eklenen parçalar değil, tasarımın bir parçasıdır.
Raporlama ve dışa aktarma.
Raporlar ayrı ayrı yapılandırılabilir, düzenli ve otomatik olarak oluşturulur ve birden fazla modül ile veri kaynağından veri birleştirir. Çıktı, büyük veri dışa aktarmaları da dahil olmak üzere XLSX veya CSV olarak alınır.
Bunların hiçbiri istek döngüsü içinde gerçekleşmez: Üretim asenkron çalışır, ardından dosya otomatik olarak sunulur. Raporlama sistemi tamamen, dışa aktarma sistemi ise neredeyse tamamen Batunet'te geliştirildi.
Harici veri kaynakları.
Platform çok sayıda harici arayüzü ve veri kaynağını entegre eder. Bu da onu, haber vermeden değişen sistemlere bağımlı kılar. Burada arayüz çalışması bir yan ürün değil, ürün geliştirmenin sürekli bir parçasıdır: bağlantı, hata yönetimi, sürüm geçişleri ve sürekli teknik bakım.
Arkasında hangi sağlayıcıların ve modellerin bulunduğunu paylaşmıyoruz; ne veri kaynakları ne de yapay zekâ işlevleri için.
Büyüyerek gelişmiş bir üründe yapay zekâ.
Yapay zekâ işlev alanı tamamen Batunet'te geliştirildi; yanında duran ayrı bir ürün olarak değil, zaten var olan bir sistemin içine yerleştirilmiş olarak. Buna yapay zekâ destekli içerik işlevleri, yapay zekâ sistemlerindeki görünürlük analizi, yapay zekâ yanıtlarının ve kaynaklarının analizi, prompt işleme, rakip analizi ve otomatik öneriler dahildir.
Zor olan kısım model değildi. Zor olan, entegrasyondu: mevcut veriler, mevcut yetkiler, mevcut iş akışları ve ticari bir üründe yer alabilecek kadar tekrarlanabilir olması gereken sonuçlar.
Kullanılan teknolojiler
Teknoloji yığını devralma anında belirlenmişti ve ana hatlarıyla zaten kullandığımız teknolojilerle örtüşüyor.
Bu projenin bağlı olduğu hizmetler.
Bu projeyle ilgili sorular
Mevcut ve canlıda çalışan yazılımları devralıyor musunuz?
Evet. Bu proje tam olarak bunu gösteriyor: 2017'de devraldığımız ve o zamandan beri yeniden inşa etmeden geliştirdiğimiz, çalışan ve ticari olarak kullanılan bir ürün.
Büyük veri hacimleriyle nasıl çalışıyorsunuz?
Bu platformun veri hacmi, milyarlarca kayıtla terabayt düzeyindedir. Bu büyüklükten itibaren verinin nasıl saklanacağı bir yapılandırma meselesi değil, tasarımın bir parçasıdır: dağıtık ve asenkron işleme, önbellekleme, bir arama indeksi ve kendi iş yönetimi.
Yalnızca teknik uygulamayı mı geliştiriyorsunuz, yoksa teknik kavramsal tasarımı da mı?
Her ikisini de. Platformu işleten şirket iş ihtiyacını ve ürün hedefini belirler; teknik kavramsal tasarım ve uygulama büyük ölçüde Batunet'te oluşur.
Burada neden müşteri adı yer almıyor?
Bu proje bilinçli olarak mühendislik çalışmasına odaklanıyor. Bunun için müşterinin kimliği gerekli değil. İsimli referansları doğrudan görüşmede konuşuyoruz.
Mühendislik yolculuğunuza devam edin.
İlgili kavramlar, kararlar, uygulama kılavuzları ve bakış açıları — bir bağlantı listesi olarak değil, bütünlüklü bir yol olarak.
Teknolojiler
