Menü

İletişime geçin
Logo
Basın

Yazılım Modernizasyonu

Eski yazılım. Artan riskler.

Desteği sonlandırılmış bir framework, anlaşılması güç kod ya da eksik arayüzler, her değişikliği bir riske dönüştürebilir. Uygulamanızı inceler, mevcut davranışını testlerle güvence altına alır ve geçiş ile geri dönüş kararlarının net biçimde tanımlandığı aşamalı bir yenileme yolu geliştiririz.

Birden fazla ekranla mevcut uygulamalar üzerinde çalışma, temsili görsel
Görev tanımından belgelenmiş devire kadar.

Bu hizmet ne zaman yardımcı olur

Yazılım Modernizasyonu: bize verdiğiniz görev.

  • Desteği sonlandırılmış teknolojileri değiştirmek
  • Değişiklikleri yeniden planlanabilir hale getirmek
  • Zamanla büyüyen uygulamalardaki bilgi birikimini korumak

Yıllardır çalışan ancak eski framework'lere dayanan uygulamaları, planlı bir geçişle aşamalı olarak modernize ederiz. Kodun, bağımlılıkların ve veri akışlarının envanterini çıkardıktan sonra her uygulama için izlenecek yolu belirleriz: konteynerlere geçiş (replatforming), modüllere ayrıştırma (refactoring), verilerin yeni bir modele geçirilmesi veya bir ardıl uygulamayla değiştirme. Son süreç taşınana kadar eski ve yeni bölümler paralel çalışır.

Görev kapsamına neler dahil olabilir

  • Kod analizi, bağımlılık listesi, veri akışları ve uygulama başına işletim maliyetleriyle envanter çıkarma
  • İş değeri ve risk açısından değerlendirme; konteynerlere geçiş (replatforming), modüllere ayrıştırma (refactoring) ve değiştirme arasında karar
  • İlk satır değiştirilmeden önce mevcut kodu kapsayan karakterizasyon testleri
  • Strangler pattern'e göre aşamalı ayrıştırma, eski ve yeni bölümlerin paralel işletimi
  • Karşılaştırma, deneme çalıştırması ve belgelenmiş geri dönüş planıyla veri geçişi

Somut kapsamı, kabul noktalarını ve katkınızı teklifte belirleriz.

Genel tablo tek bakışta

Mevcut yapıyı anlayın. Geçişe hâkim olun.

  1. 01

    Tespit etme

    İş mantığını ve bağımlılıkları görünür kılmak

  2. 02

    Güvence altına alma

    Mevcut davranışı karşılaştırılabilir şekilde test etmek

  3. 03

    Geçiş yapma

    Veri sahipliğini ve geçişi kontrol etmek

  4. 04

    Devreden çıkarma

    Eski bileşenleri düzenli şekilde devre dışı bırakmak

Planlama, uygulama ve kararlar

Yazılım Modernizasyonu için önemli olanlar.

01

Değiştirmeden önce anlamak

Kaynak kodda, hiçbir belgenin tam olarak açıklamadığı iş kuralları çoğu zaman gizlidir. Bu nedenle kod ve bağımlılık analizini, ilgili iş birimiyle yapılan görüşmeler ve gerçek iş akışlarının gözlemlenmesiyle birleştiririz. Tekrarlayan arızalar, manuel düzeltmeler ve özel durumlar, gerçek risklerin nerede olduğunu gösterir. Veri kaynaklarını, arka planda çalışan işleri ve harici çağıran sistemleri de tespit ederiz.

Karakterizasyon testleri, uygulamanın bugün nasıl çalıştığını kayıt altına alır. Mevcut davranışların tümü doğru değildir; iş mantığı hataları, korunması gereken işlevlerden açıkça ayrılır. Böylece eski ve yeni sistem arasındaki karşılaştırma için sağlam bir temel oluşur.

02

Kontrol edilebilir adımlarla yenileme

Yeni bir platforma geçiş, uygulama kodundaki sorunları otomatik olarak çözmez. Bu nedenle çalışma zamanı ve işletimdeki değişiklikleri, tekil modüllerin yeniden yapılandırılmasını ve tam değiştirmeyi birbirinden ayırırız. Anlamlı olduğu durumlarda, yeni bir bileşen mevcut yapıdaki görevleri aşamalı olarak devralır. Paralel işletim, net bir veri sorumluluğuna sahip, planlı bir geçiş aşamasıdır.

Her adım için bir hedef, bir test kapsamı ve bir geri dönüş kararı belirlenir. Bakım pencereleri ve olası kesintiler birlikte planlanır; kesintisiz işletim genel geçer bir vaat değildir. Bir sonraki bölüm ancak ilgili süreç için kanıt ortaya konduğunda yeni sisteme geçirilir.

03

Veri geçişi ve kontrollü devre dışı bırakma

Geçmiş veriler; kopya kayıtlar, eksik değerler ve önceki sürümlere ait kurallar içerir. Canlı geçişten önce eşleştirme, temizleme ve karşılaştırma adımlarını tanımlarız. Deneme çalıştırmaları, çalışma sürelerinin, veri hacimlerinin ve istisnaların yönetilebilir olup olmadığını gösterir. Özellikle önemli toplamlar, ilişkiler ve örneklemler iş birimi tarafından kontrol edilir.

Sistemi kapatmak için dışa aktarımlar, saklama süreleri, eski kayıtlara ilişkin sorular ve bağımlı sistemler de netleştirilmelidir. Hangi verilerin nerede erişilebilir kalacağını ve hangi noktadan sonra geri dönüşün mümkün olmadığını belgeleriz. Devir kapsamına yeni işletim dokümantasyonunun yanı sıra devre dışı bırakılan sistemin nasıl ele alınacağı da dahildir.

Araçlar göreve göre seçilir

Ortamınıza uygun teknoloji.

  • Kubernetes
  • Docker
  • .NET
  • Go
  • PostgreSQL
  • Terraform

Seçim, mevcut sistemlere, ekibinize ve sonraki işletime göre yapılır. Her proje burada sayılan teknolojilerin tümüne ihtiyaç duymaz.

İş birimi sorumluları ve teknik ekipler için

Uygulamanın arkasındaki kararlar.

04

Eski kodu körü körüne aktarmak yerine iş davranışını güvence altına almak

Zamanla büyümüş sistemlerde kod, sürecin genellikle yalnızca bir bölümünü açıklar. Tablo dışa aktarımları, manuel veri düzeltmeleri ve zamanlanmış işler, vazgeçilmez görevleri üstlenmiş olabilir. Bu yan yolları tespit eder ve tipik durumlardan oluşan bir katalog oluştururuz: normal durumlar, geçmişe dayalı istisnalar, sınır değerler ve bilinen hatalar. Eski ve yeni sistem arasındaki bir karşılaştırma çalıştırması, farklılıkları görünür kılar; ancak hangi sonucun iş açısından doğru olduğuna henüz karar vermez.

İş birimi, farklılıkları geliştirme ekibiyle birlikte değerlendirir. Yuvarlama, saat dilimleri, sıralama düzeni veya geçmişe dayalı fiyatlandırma kuralları, görünüşte küçük ama etkisi büyük sapmalar yaratabilir. İstenen davranış değişiklikleri, istenmeyen regresyonlardan ayrılır. Anlamlı bir kabul temeli ancak böyle oluşur. Belgelenen durumlar, sonraki değişiklikler için kalıcı bir güvenlik ağı işlevi görür ve bugüne kadar yalnızca birkaç kişinin sahip olduğu bilgiyi kayıt altına alır.

05

Paralel işletimde veri sorumluluğunu ve geçişi planlamak

Eski ve yeni bileşenler birlikte çalıştığı sürece, yazma erişimlerinden kimin sorumlu olduğu belirsiz kalmamalıdır. Her veri alanı için bir referans sistem belirler ve bu sorumluluğun devrini planlarız. Birbiriyle koordinasyon olmadan yazan iki uygulama, her biri kendi içinde doğru çalışsa bile çelişkili durumlar oluşturabilir. Bu nedenle ara mimari; kendi arayüzlerine, karşılaştırmalarına ve sınırlı bir kullanım ömrüne ihtiyaç duyar.

Bir geçiş planı; ilk aktarımı, ara dönemdeki değişiklikleri ve nihai karşılaştırmayı kapsar. Kayıt sayılarını, iş açısından önemli toplamları, ilişkileri ve temsili tekil örnekleri kontrol ederiz. Geçişten önce iptal kriterleri, karar yetkisi ve izin verilen yazma duraklamaları belirlenir. Bir geri dönüş, yalnızca yeni oluşan veriler tekrar işlenebiliyorsa gerçekçidir. Bunun mümkün olmadığı durumlarda, bu sınırın zamanı ve sonuçları onaydan önce açıkça belirtilir.

06

Teknik ayrıştırma ve değiştirmenin tamamlanması

Değişmeden kalan bir eski mimarinin üzerine eklenen yeni bir kullanıcı arayüzü, bu mimarinin sınırlarını otomatik olarak ortadan kaldırmaz. Ortak kullanılan tabloları, örtük dosya biçimlerini, doğrudan veritabanı erişimlerini ve birden fazla uygulamayı aynı anda birbirine bağlayan kütüphaneleri inceleriz. Aşamalı olarak devreye alınan adaptörler değişiklikleri karşılayabilir. Ancak bunlar kendi bakımını gerektiren geçiş bileşenleridir ve fark edilmeden kalıcı bir ikinci sistem ortamına dönüşmemelidir.

Bu nedenle değiştirilen her işlev için bir devre dışı bırakma görevi de tanımlanır. Eski işler, kullanıcı hesapları, arayüzler, altyapı ve lisanslar, kalan kullanım açısından kontrol edilir. Geçmişe yönelik sorgulamalar için gerekirse salt okunur erişim veya belgelenmiş bir dışa aktarım sağlanır. Bağımlılıklar çözülmeden, işletim dokümantasyonu güncellenmeden ve sorumluluklar devredilmeden bu aşamanın modernizasyonu tamamlanmış sayılmaz. Bu sayede eski ve yeni sistemin maliyetleri kalıcı olarak üst üste binmez.

Anlaşılır çalışma sonuçları

Elinize geçecek sonuçlar.

Sonuç 01

Uygulama başına modernizasyon yolu içeren, değerlendirilmiş uygulama portföyü

Sonuç 02

Test kapsamı ve konteyner imajlarıyla modernize edilmiş uygulama

Sonuç 03

Veri karşılaştırması ve geri dönüş planı içeren geçiş kaydı

Örnek proje akışı

Çalışma bu şekilde ilerleyebilir.

Bir faturalandırma sistemi, artık desteklenmeyen bir çalışma zamanı kullanır. Önce hesaplamalar karşılaştırma testleriyle güvence altına alınır. Ardından sınırları net çizilmiş bir modül ele alınır; üretim ortamına geçiş onaylanmadan önce veri taşıma birden çok kez denenir.

Açıklayıcı senaryo, bir müşteri referansı veya sonuç garantisi değildir.

Başlarken yardımcı olanlar

  • Mevcutsa kaynak kod ve çalıştırılabilir test ortamı
  • Bilinen hatalar, bağımlılıklar ve kritik tarihler
  • İş birimine ait test senaryoları ve geçmiş kurallar için irtibat kişileri

Eksik belgeler bir engel değildir. Hangi bilgilerin önce temin edilmesi gerektiğini birlikte netleştiririz.

Projeniz ayrıntılarıyla

İş faaliyetleri sürerken modernize etmek.

Mevcut uygulamaların yenilenmesini, taşıdıkları iş değeri gözetilerek planlarız. Kapsam, hedefe yönelik teknik iyileştirmeden tek tek işlevlerin kademeli olarak değiştirilmesine kadar uzanabilir.

Değişikliklerden önce mevcut davranışı güvence altına almak

Dokümantasyon tek başına, uzun yıllardır kullanılan bir uygulamanın tüm kurallarını nadiren tam olarak anlatır. Kullanıcılarınızla birlikte temsili işlemleri, istisnaları ve bilinen hataları bir araya getiririz. Uygun karşılaştırma testleri, hangi davranışın korunması gerektiğini ve hangi sapmaların bilinçli olarak düzeltileceğini kayıt altına alır.

Teknik envanter çıkarma ile iş odaklı önceliklendirme birleştirilir. Güncelliğini yitirmiş kütüphaneler, değiştirilmesi zor modüller ve sık görülen işletim arızalarının etkileri farklıdır. Başlangıç noktasını, fayda, risk ve bağımlılıkların kontrollü bir aşamaya izin verdiği yerde seçeriz.

Geçişleri ve veri sorumluluğunu açıkça tasarlamak

Bir paralel işletim sırasında, hangi sistemin hangi veriler için referans sistem olduğu net olmalıdır. Kontrolsüz çift taraflı yazma, çelişkili durumlar oluşturabilir. Senkronizasyonu, geçiş adaptörlerini ve karşılaştırmaları yalnızca fiilen gereken geçiş süresi için planlarız.

Bir geri dönüş yolu, o ana kadar yapılmış veri değişikliklerine bağlıdır. Bu nedenle geçiş öncesinde, ne zamana kadar geri dönülebileceğini ve hangi ek çalışmaların gerekeceğini tanımlarız. Başarılı bir geçişten sonra eski erişimler, görevler ve altyapı hedefe yönelik olarak devre dışı bırakılır, böylece geçiş çözümü kalıcı olarak ek karmaşıklık yaratmaz.

Örnek proje senaryosu

Hizmetin günlük işlere katkısı.

Örnek: Mevcut bir uygulamaya yeni bir müşteri alanı eklenmesi gerekir. Önce yalnızca okuma amaçlı müşteri görünümünü ayırır ve verilerini eski sistemle karşılaştırırız. Yazma işlemleri, veri sorumluluğunun tanımlanmış bir şekilde devredilmesiyle daha sonra eklenir.

Bu örnek olası bir süreci açıklar ve bir müşteri referansı değildir.

Hizmet almadan önce

Yazılım Modernizasyonu hakkında sorularınız.

Her şeyin yeniden geliştirilmesi mi gerekir?

Hayır. İyi çalışan iş mantığı korunabilir. Envanter çalışması, çalışma zamanı değişikliğinin, tekil modüllerin yenilenmesinin ya da tam değiştirmenin anlamlı olup olmadığını gösterir. Belirleyici olan; bakım kolaylığı, risk ve iş sürecinde planlanan değişikliklerdir.

Dokümantasyon eksikse ne olur?

İlişkileri kod, veri ve gerçek iş akışlarından yeniden ortaya çıkarırız. Bu süreçte konu bilgisine sahip çalışanlar özellikle önemlidir. Eksik erişimler veya kullanım hakları kapsamı sınırlayabilir; bu tür boşluklar, bağlayıcı bir taahhütten önce netleştirilir.

Bu süreçte işletim devam edebilir mi?

Geçiş çoğunlukla aşamalar halinde gerçekleştirilebilir. Paralel işletimin, kısa bakım pencerelerinin veya daha uzun bir kesintinin gerekip gerekmediği, veri yönetimine ve mimariye bağlıdır. Geçişi, iş açısından bir veri karşılaştırması ve gerçekçi şekilde kullanılabilir bir geri dönüş yoluyla planlarız.

Sonraki adım

Bugün nerede tıkandığınızı bize anlatın.

Başlangıç için uygulamanızın, sorunun ve hedefinizin kısa bir açıklaması yeterlidir. Seçtiğiniz hizmet iletişim talebinize aktarılır.

Bu hizmeti talep edin

İş Ortaklarımız

  • Microsoft
  • Microsoft Azure
  • Amazon AWS
  • Google Cloud
  • Thales Group
  • Arrow ECS
  • Vodafone
  • IBM
  • Veeam
  • Atlassian
  • JetBrains
  • NinjaOne
  • OPSWAT
  • Utimaco
  • Eviden

Erişilebilirlik

Görünümü ihtiyaçlarınıza göre ayarlayın.

Bu sayfa için henüz basit dil sürümü mevcut değil.

Ayarlar şu anda yalnızca bu ziyaret için geçerlidir. Ayarların kalıcı olarak kaydedilmesine Çerez ayarları bölümünden izin verebilirsiniz.