Ölçeklenebilir SaaS ve Platform Yazılımları
SaaS & Platform Geliştirme
Tek müşteri için yazılmış bir yazılımı, çok müşteriye satılabilir bir ürüne dönüştürüyoruz.
Tek müşteriye yazılan yazılım ürün olmuyor
Çok sayıda işletme, kendi ihtiyacı için yazdırdığı yazılımı bir noktada satmayı düşünüyor. Bu düşünce doğru, ancak arada sanılandan büyük bir mesafe var.
Tek müşteri için yazılmış bir yazılımda genelde her şey o müşteriye göre sabitlenmiştir. Şirket adı, hesap planı, iş akışının sırası, hatta bazı kurallar doğrudan koda gömülmüştür. İkinci müşteri geldiğinde en kolay yol, kopyalayıp değiştirmek olarak görünür.
Bu yol kısa vadede işe yarar, uzun vadede yönetilemez hale gelir. Beş müşteri, beş ayrı kopya demektir. Bir hata bulunduğunda beş yerde düzeltilir. Yeni bir özellik beş kez yazılır. Ekip büyümeden maliyet büyür.
İkinci sorun izolasyon. Müşterilerin verisi aynı sistemde tutulacaksa, birinin diğerininkini görmemesi tasarımın en temel şartıdır. Bu sonradan eklenebilecek bir başlık değildir.
Üçüncüsü kendi kendine kurulum. Ürün satılacaksa yeni müşterinin sisteme girmesi, kullanıcılarını tanımlaması ve çalışmaya başlaması sizin müdahalenizi gerektirmemelidir. Her yeni müşteri için gün harcanan bir yapı, ürün değil hizmettir.
Faturalama da işin bir parçası. Abonelik, paket farkları, kullanım sınırları ve iptal süreçleri; bunlar yazılımın kendisi kadar iş yükü doğurur ve genelde en son akla gelir.
ÇOK KİRACILI MİMARİ
Baştan çok müşteriye göre kuruluyor
Platform işinde doğru kararların çoğu ilk aylarda veriliyor. Sonradan düzeltmek pahalı.
Yapı, birden fazla müşteriyi aynı sistemde taşıyacak şekilde kuruluyor. Her müşterinin verisi ayrılmış, kendi kullanıcıları ve kendi ayarları var. Ortak olan kod, farklı olan yapılandırma.
Yeni müşteri kendi kendine başlıyor. Kayıt, ilk kurulum ve kullanıcı tanımlama sizin müdahaleniz olmadan tamamlanabiliyor. Müşteri sayısı arttıkça iş yükünüz aynı oranda artmıyor.
Paket ve yetki yapısı tanımlı. Hangi müşterinin hangi özelliklere erişeceği yapılandırmayla belirleniyor; her paket için ayrı bir sürüm çıkarılmıyor.
Faturalama ve abonelik akışı işin parçası. Kullanım sınırları, paket yükseltme ve iptal süreçleri baştan tasarlanıyor.
Büyümeye hazır kuruluyor. Kullanıcı ve veri arttığında hangi noktanın zorlanacağı önceden belirleniyor. Ölçekleme, sistem tıkandığında düşünülen bir konu olmuyor.
Sistemin kendi durumu izleniyor. Hangi müşteri ne kadar kullanıyor, nerede hata alınıyor ve hangi işlem yavaşlıyor; bunlar görünür olduğunda sorunu müşteri değil siz önce fark ediyorsunuz. Ürün işletmenin en çok ihmal edilen tarafı burasıdır.
Sürüm yönetimi tek merkezden. Yeni özellik bir kez yazılıyor, bütün müşteriler aynı üründen faydalanıyor. Müşteriye özel istekler kopya çıkararak değil, yapılandırmayla karşılanıyor.
HİZMET KAPSAMI
Kapsam nereye kadar
Bu iş bir yazılım yazmakla değil, satılabilir bir ürün kurmakla ilgili.
Kapsamımız şöyle: ürün kapsamının netleştirilmesi, çok müşterili mimarinin kurulması, kullanıcı ve yetki yapısı, kendi kendine kurulum akışı, paket ve abonelik yapısı, yönetim paneli, izleme ve raporlama, teslim dokümantasyonu.
Tek işletmeye özel geliştirme arıyorsanız, ki çoğu ihtiyaç budur: Kurumsal Özel Yazılım Geliştirme
Müşterilerinize sunacağınız yönetim ekranları için: Raporlama ve Analitik
Platform saha cihazlarından veri alacaksa: Edge ve Bulut Tabanlı IoT Mimarileri
Bulut ve yerleşik kurulum farkları üzerine: Bulut Bilişim ve Hizmet Modelleri · Tüm başlıklar: Web ve Mobil Yazılım
BARINDIRMA SEÇENEĞİ
Bulut mu, kendi sunucunuz mu
Bu karar teknik değil ticari bir karar ve baştan verilmesi gerekiyor.
Bulut kurulumda müşteri hemen başlar, işletme yükü sizde toplanır ve güncelleme tek noktadan yapılır. Abonelik modeliyle satılacak ürünlerde doğru tercih genelde budur.
Yerleşik kurulumda ise yazılım müşterinin kendi sunucusunda çalışır. Verinin kurum dışına çıkmasının istenmediği alanlarda, özellikle kamu ve büyük ölçekli sanayi müşterilerinde bu şart olabiliyor.
İkisini birden desteklemek mümkün ama bedeli var; her sürüm iki ortamda da doğrulanmak zorunda. Bu bedeli ödemeye değip değmeyeceğini hedef müşteri belirliyor, teknoloji değil.
Pratikte önerdiğimiz sıra şu: bulutla başlanır, yerleşik kurulum ancak somut bir müşteri talebi çıktığında eklenir. Baştan iki ortamı birden desteklemek, henüz tek müşterisi olmayan bir ürünün gelişimini yavaşlatıyor.
NEDEN CODIGNO
Kendi ürününü işleten ekip
Platform kurmak ile proje teslim etmek farklı işler ve bunu yaşamadan bilmek zor.
Proje teslim edilir ve biter. Ürün ise yayına alındıktan sonra başlar: sürüm çıkarmak, geriye dönük uyumluluğu korumak, müşteri destek taleplerini karşılamak ve sistemi ayakta tutmak. İşin asıl kısmı burasıdır.
Codigno kendi kurumsal yazılım platformunu geliştiriyor ve işletiyor. Modül seti geniş, kullanıcıları gerçek ve sistem yıllardır çalışıyor. Bir ürünü uzun süre ayakta tutmanın ne gerektirdiğini kendi ürünümüzde öğrendik.
15 yıldır kurumsal yazılım ve endüstriyel sistemler tarafında çalışıyoruz. Aynı çatı altında saha donanımı da geliştirdiğimiz için, cihazdan veri alan platformlarda donanım tarafını ayrı bir firmaya bırakmıyoruz.
Şunu da açıkça söyleyelim: her yazılım ürün olmaz. Bir işletmeye özel olarak yazılmış bir çözümün başka müşterilere satılabilmesi, çoğu zaman düşünülenden çok daha fazla çalışma gerektirir. Keşifte bunu gerçekçi biçimde söylüyoruz.
SIK SORULANLAR
Sık sorulan sorular
Mevcut yazılımımız SaaS’a dönüştürülebilir mi?
Çoğu durumda dönüştürülebiliyor, ancak kapsamı mevcut yapının nasıl yazıldığı belirliyor. Önce inceleyip gerçekçi seçenekleri söylüyoruz.
Müşterilerimizin verileri birbirinden ayrı mı tutuluyor?
Ayrı tutuluyor. Veri izolasyonu mimarinin en temel şartı; sonradan eklenen bir özellik değil.
Abonelik ve faturalama da kapsamda mı?
Kapsamda değerlendiriliyor. Paket yapısı, kullanım sınırları ve iptal süreçleri baştan tasarlanıyor.
Müşterilerimiz kendi kurulumunu yapabilir mi?
Yapabiliyor. Kayıt ve ilk kurulum akışı sizin müdahaleniz olmadan tamamlanacak şekilde kuruluyor.
Kendi sunucumuzda da çalışabilir mi?
Çalışabiliyor. Bulut ve yerleşik kurulumun ikisi de mümkün; hangisinin gerektiği hedef müşteriye göre keşifte belirleniyor.
Kaynak kod bizde kalıyor mu?
Kalıyor. Kaynak, veritabanı yapısı ve dokümantasyon teslimatın parçası.
Kaç kullanıcıya kadar ölçekleniyor?
Hedeflenen kullanıcı ve veri hacmi baştan konuşuluyor, yapı ona göre kuruluyor. Ölçekleme sistem tıkandığında ele alınan bir konu olmuyor.
Sistemin durumunu izleyebiliyor muyuz?
İzleyebiliyorsunuz. Kullanım, hata ve yavaşlayan işlemler görünür oluyor; sorunu müşteriden önce fark ediyorsunuz.
Müşteriye özel istekler nasıl karşılanıyor?
Kopya çıkararak değil, yapılandırmayla. Her müşteriye ayrı sürüm çıkarmak, ürünü kısa sürede yönetilemez hale getiriyor.
Yayına aldıktan sonra destek veriyor musunuz?
Veriyoruz. Sürüm çıkarma ve işletme desteği kapsamı sözleşmede tanımlanıyor.
Yazılımınızı ürüne dönüştürmeyi mi düşünüyorsunuz?
Bugün elinizde ne olduğunu ve kaç müşteriye satmayı hedeflediğinizi paylaşın; mevcut yapının ne kadarının korunabileceğini ve gerçekçi kapsamı birlikte çıkaralım.