Referanslar · Ürün geliştirme

Büyük Veri Odaklı SEO Platformu

Batunet, 2017’den beri veri odaklı ticari bir SEO sisteminin mimari ve teknik gelişiminden sorumludur. Ürün canlı ortamda devralındığında temel düzeyde bir kapsama sahipken, altyapıdaki ana bileşenlerin Batunet tarafından modernizasyonu ve sürekli geliştirilmesi sayesinde kapsamlı bir kurumsal platform haline getirilmiştir.

Genel bakış

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 zeka 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.
Başlangıç durumu

Sıfırdan başlamak yerine geliştirmek.

Devralınan ürün canlı ortamda aktif, ticari kullanımı olan ve işleyen bir çekirdeğe sahipti; fakat işlevsel kapsamı bugünkü ölçeğinden uzaktı. Aksi takdirde, oturmuş iş mantığını tamamen silip sıfırdan yeniden inşa etme zorunluluğu ortaya çıkardı.

Sıfırdan yeniden yazım yerine, kesintisiz işletim modelini benimsedik. Tüm genişletmeler canlı sistem çalışır durumdayken mimariye dahil edildi. Çekirdek sistem muhafaza edilerek işlev alanı 2017’den itibaren sürekli ölçeklendi: Temel alt sistemler yeniden yapılandırıldı ve mevcut işlevler genişletildi.

Kapsam

Burada neler ortaya çıktı?

Üç ana alt sistemin tamamı, dördüncü alt sistemin ise büyük bölümü Batunet bünyesinde geliştirilmiştir. Devralınan mevcut modüller ise mimari olarak genişletilmiş ve güçlendirilmiştir.

Tamamen Batunet tarafından geliştirilen
Teknik web sitesi crawler'ı, Raporlama sistemi, Yapay zeka 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
Veri toplama

Crawler.

Teknik web sitesi crawler altyapısı bütünüyle Batunet bünyesinde mimarize edilmiştir. Web sitelerini alt sayfalarıyla kapsayıcı biçimde tarar, teknik denetimleri tamamlar ve verileri tarihsel olarak arşivler; bu sayede zaman içindeki mimari ve yapısal değişiklikler şeffaf biçimde izlenir. Otomatik tarama süreçleri belirlenen periyotlarda arka planda yürütülür.

Ölçekli web sitelerinde gerçekleştirilen tek bir tarama işlemi on binlerce URL kapsayabilir. Sürecin doğası gereği işleme tek bir proseste yürütülemez; görevler kuyruk mimarisi üzerinden worker’lara dağıtılır ve tarama önceliklerini yöneten özel bir orkestrasyon katmanı kullanılır. Veri analizi, raporlama sistemleri ve kullanıcı arayüzü bütünüyle Batunet bünyesinde geliştirilmiştir.

Veri yoğun SEO platformu: tarama, veri hacmi, dağıtık işleme ve analizin şematik gösterimi
Mimari

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.

Analiz

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.

Arayüzler

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 zeka işlevleri için.

Yapay zeka

Büyüyerek gelişmiş bir üründe yapay zeka.

Yapay zeka 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 zeka destekli içerik işlevleri, yapay zeka sistemlerindeki görünürlük analizi, yapay zeka 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.

PHPSymfonyMySQL/MariaDBRedisRabbitMQElasticsearch/OpenSearchJavaScriptTypeScriptDockerLinux/Nginx
Sorular

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.

Projenizi konuşalım.

Projenizi kısaca anlatın. İlk görüşmeyi doğrudan yönetimle yaparsınız.