İçeriğe geç
Mevcut sistemler · Modernizasyon

Yazılım modernizasyonu, operasyonu durdurmadan

Bugün kullandığınız sistemleri değerlendirir, iyi çalışan kısımları korur, sizi yavaşlatan kısımları yeni bir platforma taşırız. Geçiş, bu sistemlere bağlı operasyonlar durmadan tamamlanır; planı, geçiş sırasını ve geri dönüş yolunu işe başlamadan görürsünüz.

Faturalanan ilk işten önce yazılı bir kapsam ve sabit bir bütçe alırsınız.

Vazgeçilemeyen ama dokunulamayan sistem

Legacy sistem çoğunlukla hâlâ çalıştığı için hâlâ oradadır. Desteği bitmiş bir PHP, .NET ya da veritabanı sürümünde koşar, tek bir sunucuya FTP ile yüklenir. Onu anlayan kişi ayrılmıştır ve her değişiklik haftalar sürer, çünkü kimse neyi bozacağını kestiremez. Bazen de yıllardır kullanılan bir masaüstü programıdır ve artık web tabanlı olması gerekir.

Modernizasyon nadiren her şeyi bir kerede yeniden yazmak demektir. Sistemin ne yaptığını, nelerin ona bağlı olduğunu ve riskin nerede durduğunu ortaya koyan bir değerlendirmeyle başlarız. Sonra parça parça neyin korunacağına, neyin güncel bir platforma taşınacağına ve neyin yeniden yazılacağına karar verir, geçişi her biri geri alınabilen aşamalarla yaparız; operasyon proje boyunca sürer.

Bu sayfa uygulamanın, kodun ve verinin taşınmasını kapsar. Altyapıyı buluta taşımak ve sonrasında işletmek bulut ve DevOps hizmetimizdir; ikisi çoğu zaman tek bir projedir.

Bize neden ulaşılıyor

Tanıdık geldi mi?

01

Kimse dokunmak istemiyor

Kodun testi yok, dokümantasyonu az; her değişiklik bir risk ve küçük taleplerin listesi giderek uzuyor.

02

Desteği bitmiş yazılım üzerinde çalışıyor

Eski PHP, .NET ya da veritabanı sürümleri artık güvenlik güncellemesi almıyor; bir denetim ya da bir müşteri anketi bunu sormaya başladı.

03

Yayına almak, sunucuya dosya kopyalamak demek

Sürümler gece FTP ile çıkıyor, geri dönüş yolu yok ve tek bir hatalı yükleme bütün sistemi durduruyor.

04

Yeni her iş onun etrafından dolaşıyor

API sunamayan bir sistem yüzünden her yeni ürün ve entegrasyon ona göre eğilip bükülüyor; eski sistem her şeyin hızını belirliyor.

Değerlendir, koru, taşı, geç

Her modernizasyon projesinde, bu sırayla dört adım.

Değerlendirme

Sistemin ne yaptığını, tuttuğu veriyi, nelerin ona bağlı olduğunu ve nerede kırılgan olduğunu bir şey önermeden önce yazıya dökeriz.

  • Envanter
  • Bağımlılıklar
  • Risk

Koruma

Çalışan iş kuralları ve doğru veri kalır. En eski kod bazen başka hiçbir yerde yazılmamış kararları taşır.

  • İş kuralları
  • Veri

Yeni platforma taşıma

Sizi yavaşlatan kısımlar güncel bir altyapıya geçer; çoğu zaman tek parça bir uygulamadan, arasında kuyruk olan servislere.

  • Node
  • Postgres
  • Servisler

Geçiş

Veri ve trafik, her birinin test edilmiş bir geri dönüş yolu olan aşamalarla taşınır; iş geçiş boyunca çalışmaya devam eder.

  • Aşamalı geçiş
  • Geri alma
Sahibi siz olun diye

Sonunda elinizde kalanlar

Aşağıdakilerin hepsi ilk commit’ten itibaren sizindir ve mümkün olan her yerde kendi hesaplarınızda durur. Hiçbiri bizden lisanslanmaz, hiçbirinin bakımı yalnızca bize bağlı değildir.

tree

sirketiniz/

  • docs/assessment.mdEski sistemin ne yaptığı, nelerin ona bağlı olduğu ve riskin nerede durduğu.
  • docs/migration-plan.mdGeçiş sırası, her aşamanın geri dönüş yolu ve başarı kontrolü.
  • src/Modernize edilmiş uygulama ve eskisinde hiç olmayan test paketi.
  • data/Veri taşıma betikleri ve her kaydın eksiksiz geldiğini kanıtlayan kontroller.
  • docs/runbook.mdYeni sistemin nasıl yayına alındığı, izlendiği ve geri alındığı.
İş nasıl ilerler

Dört aşama ve her birinin size teslim ettiği

Kod yazılmadan önceki aşamalar dahil her aşama, inceleyebileceğiniz ve elinizde kalacak bir çıktıyla biter.

01
scope

Keşif ve gereksinim analizi

Kod yazmaya başlamadan önce gerçek sorunu ortaya koyarız: paydaşlar, kısıtlar, mevcut sistemler ve başarının ölçülebilir tanımı.

  • requirements.md
  • kapsam + sabit bütçe
  • risk kaydı
02
design

Tasarım ve mimari

Arayüz akışlarını ve sistem mimarisini birlikte tasarlarız. Böylece kâğıt üzerinde tanımlanan ile geliştirilip ölçeklenecek sistem birebir örtüşür.

  • tıklanabilir prototip
  • sistem diyagramı
  • veri modeli
03
build

Haftalık demolarla geliştirme

İlerlemenin her an görünür olduğu kısa teslimat döngüleri. Bitmiş sistemi ilk kez yayın günü görmezsiniz; süreç boyunca çalışan yazılımı düzenli olarak incelersiniz.

  • her döngüde test ortamı dağıtımı
  • test paketi + CI
  • haftalık demo
04
operate

Yayına alma ve işletme

Sistemi yayına alır, izler ve operasyon kılavuzunu size teslim ederiz. Ardından sistemi aylık bir anlaşmayla işletmeye devam ederiz; bu anlaşmayı 30 gün önceden bildirerek sonlandırabilirsiniz.

  • canlı ortam altyapısı
  • operasyon kılavuzu + devir dokümanları
  • izleme + uyarılar
Şartlar

İşe başlamadan önce yazıya döktüğümüz şartlar

Her projede taahhüt ettiğimiz rakamlar. Projeniz bunların üzerine kendi tarihli planını alır.

Talep
1 iş günüTalebinizi okumuş birinden yanıt.
Keşif
1 ila 3 haftaYazılı bir kapsam ve sabit bir bütçeyle biter.
Haftalık inceleme
Her haftaİşin o anki hali, kendiniz açabileceğiniz bir linkte.
İlk sürüm
8 ila 16 haftaKeşfin bitiminden canlı ortama tipik süre.
İşletme
30 gün ihbarAylık bir anlaşmayla izleme ve geliştirme.

Temsilîdir. Her proje, işe başlamadan önce kendi tarihli planını alır.

Fiyatlandırma

Bir modernizasyon projesinin maliyeti neye bağlıdır?

Değerlendirme keşfin parçasıdır. Fiyat vermeden önce kodu ve veriyi okuruz; sabit tutar, bu okumadan çıkan yazılı geçiş planına göre belirlenir.

  1. 01Kod tabanının büyüklüğü ve ne kadarının hâlâ kullanıldığı
  2. 02Taşınacak veri miktarı ve ne kadar temiz olduğu
  3. 03Eski sisteme bağlı diğer sistemlerin sayısı
  4. 04Geçişin aşamalı yapılabilmesi ya da tek bir zaman aralığı gerektirmesi
  5. 05Bugün var olan test ve dokümantasyon, varsa
  6. 06Yeni altyapıyı sonrasında bizim işletip işletmeyeceğimiz

Neden aşamalı geçiş yapıyoruz

Legacy bir sistem için en sık önerilen plan, tek seferde devreye alınan bir yeniden yazımdır. En riskli plan da odur.

Tek seferde yeniden yazım

  • Yeni sistemi kimse kullanmadan aylarca geliştirme.
  • Yeniden yazım yetişene kadar eski ve yeni sistem birbirinden uzaklaşır.
  • Tek bir geçiş hafta sonu ve başarısız olursa kolay bir dönüş yolu yok.
  • Eski koddaki yazılmamış kurallar yeniden yazımda kaybolur.

Aşamalı geçiş

  • Her aşama canlıya çıkar ve bir sonraki başlamadan önce kullanılır.
  • İkisi yan yana çalışır, trafik parça parça yeni sisteme geçer.
  • Her aşamanın, geçişten önce test edilmiş bir geri dönüş yolu var.
  • Değerlendirme, kod değişmeden önce bu kuralları yazıya döker.
Teknoloji

Neyle geliştiriyoruz

Uzun destek ömrü ve geniş yetenek havuzu olan araçlar; sistemin bakımını yalnızca biz değil, her yetkin ekip yapabilsin diye.

Node.js

Eski tek parça uygulamanın yerini alan servisler için güncel ve uzun süre desteklenen bir çalışma ortamı.

PostgreSQL

Taşınan verinin indiği, kısıtlarıyla onu bundan sonra temiz tutan veritabanı.

TypeScript

Eski sistemin yazılmamış kurallarını derleyicinin denetlediği kontrollere dönüştüren tipler.

Vercel

Gece yapılan FTP yüklemesinin yerine, her değişiklik için önizleme ortamı.

Bu hizmetle ilgili sorular

Bu hizmet için ilk görüşmelerde en sık sorulanlar.

Aradığınız yanıtı bulamadınız mı?
Bize yazın: hello@kodfabrika.com.

Soru sorun

Uzun yıllar için geliştirilir.
Bu hafta başlar.

Ne geliştirmek istediğinizi anlatın. Karşılığında bir sunum dosyası değil; yazılı bir kapsam, net bir bütçe ve bir teslimat planı alırsınız.