Büyüdükçe Yorulmayan Mimari
Bu sayfa BT ekibiniz ve karar vericileriniz için — RiverAI'ın altında ne olduğunu, neden güvenilir bir temel olduğunu anlatıyoruz.
Mikroservis Karmaşıklığı Yok, Monolit Kısıtlaması da Yok
RiverAI, .NET 10 üzerine kurulu modüler monolit bir mimariyle inşa edildi — mikroservislerin getirdiği operasyonel yükü üstlenmeden modülerliğin disiplinini korur. Mikroservis mimarisinde her iş alanı ayrı bir servis olarak deploy edilir; bu da ayrı ayrı dağıtım hatları, servisler arası ağ gecikmesi ve dağıtık transaction'ların getirdiği karmaşıklığı (bir işlem beş farklı serviste yarım kalırsa ne olacağı gibi sorular) beraberinde getirir. RiverAI bu yükü almadan, kod seviyesinde net modül sınırları çizer: süreçler, formlar, kimlik, faturalama gibi her iş alanı kendi modülünde, kendi sorumluluğunda yaşar, ama birbirine doğrudan ağ çağrısıyla değil, aynı process içinde konuşur.
Bu yaklaşımın pratik sonucu şudur: bir modülün sınırlarını ihlal etmek (örneğin form modülünün doğrudan faturalama tablolarına erişmesi) derleme zamanında ya da kod incelemesinde yakalanır, çünkü modüller arası bağımlılıklar açıkça tanımlıdır. Aynı zamanda tek bir uygulama olarak dağıtıldığı için deploy, izleme ve loglama tek bir yerden yönetilir — on farklı servisin on farklı log dosyasında "hangisi neden yavaşladı" aramak yerine, tek bir uygulamanın davranışını izlersiniz.
Bu mimari tercih, küçük bir kurulumdan büyük bir kurumsal ölçeğe geçerken de esneklik sağlar: yeni bir modül eklemek, mevcut modülleri yeniden yazmayı ya da yeni bir servis ağı kurmayı gerektirmez — modül, aynı disiplin içinde, aynı deploy biriminin bir parçası olarak eklenir.
Sürüm Kontrollü Veritabanı Değişiklikleri
RiverAI'da veritabanı şeması, elle yazılan tek seferlik SQL script'leriyle değil, EF Core code-first migration'larla yönetilir. Her şema değişikliği — yeni bir tablo, yeni bir kolon, bir ilişkinin değişmesi — versiyonlanmış, sıralı ve geri alınabilir bir migration dosyası olarak koda geçer. Bu dosyalar, kodun geri kalanı gibi kaynak kontrolünde (git) izlenir; bir değişikliğin ne zaman, kim tarafından, hangi amaçla yapıldığı her zaman görülebilir.
Bunun somut faydası üretime çıkarken ortaya çıkar: bir migration, hedef ortamdaki mevcut şemayla karşılaştırılır ve sadece eksik olan adımlar sırayla uygulanır — "önce şu tabloyu ekle, sonra şu kolonu doldur, sonra eski kolonu kaldır" gibi bir dizi adım güvenle, tekrarlanabilir şekilde çalışır. Bir sorun çıkarsa migration geri alınabilir; şema, değişiklik öncesi haline döndürülebilir. Bu da her deploy'u bir "umarım çalışır" anından çıkarıp öngörülebilir bir işleme dönüştürür.
Frontend tarafında da benzer bir disiplin var: React ve TypeScript ile yazılan arayüz, Vite ile derlenir — hızlı bir geliştirme döngüsü (kod değişikliği saniyeler içinde tarayıcıda görünür) ve uçtan uca tip güvenliği (backend'deki bir model değişikliği, frontend'de derleme hatası olarak anında yakalanır) sağlar. Şema da arayüz de aynı disiplinle, adım adım ve izlenebilir şekilde evrilir.
İzolasyon, Aynı Zamanda Performans
PostgreSQL üzerinde her modülün kendi şeması vardır — süreç modülü kendi şemasında, form modülü kendi şemasında yaşar ve bir modül diğerinin tablosuna doğrudan erişemez. Bu, kod seviyesindeki modüler sınırların veritabanına da yansımasıdır: bir modülün iç veri yapısını değiştirmek, başka bir modülü kırma riski taşımaz, çünkü aralarındaki tek temas noktası açıkça tanımlanmış arayüzlerdir.
Aynı zamanda bu şemalar tek bir veritabanı örneğini paylaşır — ayrı ayrı veritabanı sunucuları değil, tek bir PostgreSQL örneği, tek bir yedekleme rejimi, tek bir transaction sınırı. Bu tercih hem izolasyonu hem operasyonel sadeliği aynı anda verir: şema ayrımı sayesinde modüller birbirine karışmaz, ama tek örnek sayesinde yedekleme, izleme ve kapasite planlaması tek bir yerden yürütülür — on ayrı veritabanını senkron tutmaya çalışmak yerine, tek bir veritabanının sağlığına bakarsınız.
Kiracı (tenant) izolasyonu da aynı mantıkla çalışır: bir müşterinin yoğun kullanımı, komşu kiracıyı yavaşlatmaz, çünkü veri ve sorgu sınırları en baştan ayrıştırılmıştır. Yeni bir modül eklemek de mevcut sistemi bozmaz — modül kendi şemasıyla, kendi sorumluluk alanıyla sisteme eklenir; RiverAI'ın büyümesi, müşterinin var olan sistemini yeniden yazmasını ya da veri göçü yapmasını gerektirmez.
- Modüler Monolit: .NET 10 üzerinde net modül sınırları — mikroservislerin ağ gecikmesi ve dağıtık transaction karmaşıklığı olmadan modülerlik disiplini korunur.
- Şema Bazlı İzolasyon: her modülün (süreç, form, kimlik, faturalama) kendi PostgreSQL şeması vardır — bir modülün iç yapısını değiştirmek diğerini kırma riski taşımaz.
- Tek Veritabanı Örneği: tüm şemalar tek bir PostgreSQL örneğini paylaşır — tek yedekleme rejimi, tek izleme noktası, on ayrı sunucu yönetimi yükü yok.
- EF Core Migrations: her şema değişikliği versiyonlanmış, sıralı ve geri alınabilir migration dosyası olarak git'te izlenir.
- Kiracı İzolasyonu = Performans İzolasyonu: bir müşterinin yoğun kullanımı komşu kiracıyı yavaşlatmaz; yeni modül eklemek mevcut sistemi bozmaz.
Kanıtlanmış Teknolojiler, Özenle Bir Araya Getirildi
RiverAI'ı sıfırdan icat edilmiş egzotik bir teknolojiyle değil, endüstrinin güvendiği, olgun bileşenlerle inşa ettik — riski azaltan, ekibinizin de tanıdık bulacağı bir temel.
.NET 10
Backend çekirdeği — modüler monolit mimari, yüksek performans, uzun vadeli Microsoft desteği.
PostgreSQL
Her modül kendi şemasında — açık kaynak, kanıtlanmış, ölçeklenebilir ilişkisel veritabanı.
React + TypeScript
Tüm tasarım araçları ve arayüzler — tip-güvenli, modern, tarayıcı tabanlı önyüz.
Keycloak
Kimlik ve erişim yönetimi — endüstri standardı, açık kaynak IAM çözümü.
SignalR
Gerçek zamanlı iletişim — kanban panoları, çoklu-kullanıcı tasarım senkronizasyonu.
Anthropic Claude
AI üretim motoru — süreç/form üretimi, görsel analiz, doğal dil anlama.
OnlyOffice
Tarayıcı içi doküman düzenleme — Word/Excel dosyalarını indirmeden aç, düzenle, kaydet.
EF Core Migrations
Sürüm kontrollü şema evrimi — her değişiklik izlenebilir, geri alınabilir.
Tüm Tasarım Araçları — Doğrudan Tarayıcıda
Süreç tasarımcısı, form tasarımcısı, dashboard tasarımcısı — hepsi tamamen web tabanlı, React ve TypeScript ile yazılmış, doğrudan tarayıcıda çalışır. Kuruluma, uzak masaüstü bağlantısına (RDP), VPN'e ya da belirli bir Windows makinesine fiziksel veya sanal erişime ihtiyaç yok. Bir tarayıcı sekmesi ve internet bağlantısı, tasarım yapmaya yetecek her şeydir.
Bu, özellikle eski masaüstü tabanlı sistemlerden gelen kurumlar için gerçek bir rahatlama: eskiden bir sürece dokunmak için önce VPN'e bağlanmak, sonra RDP istemcisiyle uzak sunucuya girmek, sonra tasarımcı uygulamasını açmak gerekiyordu — her adım bir gecikme, bir hata noktası, bir IT bileti potansiyeliydi. RiverAI'da bu zincirin tamamı ortadan kalkar: tasarımcı, IT ekibi, saha çalışanı, hatta dışarıdan destek veren bir danışman — herkes kendi bilgisayarından, telefonundan ya da tabletinden, aynı adresi açarak doğrudan erişir.
Bunun operasyonel sonucu da küçümsenmeyecek kadar somut: RDP oturumu açık kalması gereken bir makine yok, "kim hangi sunucuya erişebiliyor" listesini güncel tutma yükü yok, uzak masaüstü lisansı ya da bant genişliği kısıtı yok. Bir tasarımcı değişikliği canlıya almak istediğinde, aradaki tek adım tarayıcıyı açmaktır.
- Tamamen Tarayıcı Tabanlı: süreç, form ve dashboard tasarımcıları React/TypeScript ile yazılmıştır, doğrudan tarayıcıda çalışır — kurulum, RDP ya da VPN gerekmez.
- Tasarım = Son Kullanıcı Katmanı: tasarımcı, IT ekibi ya da dışarıdan bir danışman aynı adresi açarak kendi bilgisayarından, telefonundan veya tabletinden erişir.
- Sıfır Erişim Altyapısı Yükü: açık kalması gereken bir RDP oturumu, "kim hangi sunucuya erişebiliyor" listesi ya da uzak masaüstü lisansı/bant genişliği kısıtı yok.
- Uçtan Uca Tip Güvenliği: Vite ile derlenen frontend, backend'deki bir model değişikliğini derleme hatası olarak anında yakalar.
Mimariyi BT Ekibinizle Konuşalım
Teknik bir oturum planlayalım, sorularınızı doğrudan yanıtlayalım.
Demo Talep Et