Röportaj: Uygulamaları yeniden düzenlemenin daha kolay bir yolu var mı?


Tipik bir Java göçüne bakıldığında, Moderne’nin CEO’su ve kurucu ortağı Jonathan Schneider, organizasyonların alma eğiliminde yaklaşma eğiliminde olmadığına inanıyor.

Belirli bir kırılganlığı düzeltmek için en az Java 17’ye göç etmesi gereken büyük bir bankayla konuşmayı hatırlayarak şöyle diyor: “Banka, WebSphere kullandığı için Java 8’e sabitlendi.”

Banka, WebSphere Java Uygulama Sunucusundan uygulamaları Tomcat alternatifine taşımadığı ve Java 17’ye yükseltilmediği sürece, bu özel Java güvenlik açığını çözemezdi, Schneider ekledi.

Zorluk, “3.000 uygulamayı daha modern bir Java ortamına nasıl kırmaktan kaçınacak şekilde yeniden düzenleyeceğidir” diyor.

Uygulama modernizasyonu, BT departmanları için büyük bir baş ağrısıdır, bilinen güvenlik açıklarını içeren daha eski, eşleştirilmemiş kod nedeniyle kaynaklar üzerinde bir tahliye ve daha büyük bir siber güvenlik riskidir.

Analist Forrester’ın yakın tarihli bir raporu, piyasa oynaklığına yanıt vermeye çalışırken, eski başvuru kodunu korumak için savaşırken risk kuruluşlarının karşılaştıklarını vurgulamaktadır.

Forrester, teknik borcun yeni yeteneklerin teslimatını yavaşlatırken hem maliyetleri ve riskleri artırdığını söylüyor. BT liderlerini, bir sağlayıcıya teknik borç için desteği dış kaynak kullanmaya çağırır, bu da BT ekibinin modern BT mimarisi ve teslimat uygulamalarını ileri sürmesini sağlar.

“Eski teknoloji yığınını kanıtlanmış dış kaynak sağlayıcılarına dış kaynak kullanımı, operasyonel güvenilirliği müzakere edilen bir maliyetle sağlayacak ve modern, uyarlanabilir ve yapay zeka oluşturmak için fonları ve ekipleri serbest bırakacak [artificial intelligence]-Novasyonu yönlendiren ve sizi gelecekteki büyüme için konumlandıran güçlü ekosistem ”analistleri Sharyn Leaver, Eric Brown, Riley McDonnell ve Rachel Birrell State Bütçe Planlaması: Daha fazla oynaklığa hazırlanın rapor.

Uygulama modernizasyon yaklaşımları ölçeklenebilir değildir

Ancak Schneider’e göre, kurum içi bir ekibin veya bir dış kaynak kullanıcının sorumluluğu olsun, teknik borcu yönetmenin geleneksel yolu işe yaramıyor.

Tarihsel olarak, ilerideki uygulamayı gözden geçirmeye ve güncel tutmaya devam etmek için kodun ürün mühendislerine bırakıldığına dikkat çekiyor.

Bazen, bir BT danışmanlık firması, bir yazılım fabrikası kurmak için uygulama bakımı sağlayarak, her seferinde bir uygulama üzerinde çalışacağını söylüyor. Schneider’e göre, bu yaklaşım işe yaramadı. Modernne’nin aldığı yaklaşım, tüm iş boyunca yatay olarak çözülebilecek görevleri dikkate almaktır.

Schneider Netflix’te çalışıyordu ve açık kaynaklı bir yazılım otomatik yeniden düzenleme aracı olan Openrewrite’ın mucididir ve kodu güncel tutmanın karmaşıklığı etrafında bir iş kurmuştur.

Oluşturulan her kod parçası, üretime yerleştirildiği anda temel olarak teknik borç olarak sonuçlanır. “Bir uygulamanın mimarisi etrafında tüm mükemmel kararları alabilirim ve bugün en iyi kütüphaneleri seçebilirim, o zaman iki ay sonra, bir nedenden ötürü, artık optimal değil” diyor.

Modernne, kurumsal kaynak kodunu etkili bir şekilde tarar ve kayıpsız bir anlamsal ağacı üretir (bkz. Bir Yazılım Kütüphanesi’ni Değiştirme), bir veritabanında depolanan kodun. Bu daha sonra kod değişikliklerinin etkisini anlamak için sorgulanabilir.

Ayrıca yazılım geliştiricilerinin yazılım kütüphanelerini otomatik bir şekilde değiştirmesini sağlayan tariflerle de kullanılabilir. Yazılım geliştiricileri, tarifin kodlama açısından istenen sonuçları üretip üretmediğini görebilir; Tüm kod tabanında gerekli değişikliği yapmak için çalıştırmadan önce gerekirse ayarlayabilirler.

Kodlama tarifleriyle AI kullanmak

Bu tarifler Claude kodu gibi büyük bir dil modeli (LLM) kullanılarak oluşturulabilir. Schneider, “Birkaç hafta önce, bir bankacılık yöneticisi başvuruları şirket içi konteynere taşımaya çalıştığını söyledi” diyor. “Ancak temel sorun, uygulamaların diske günlük dosyaları yazmasıydı.”

Bunun, göçü engellediğini söylüyor. Schneider, “Günlük yapılandırmasını değiştirmemiz ve kodu diske yazmaması için değiştirmemiz gerekiyordu” diye ekliyor.

Bu tür dönüşümleri yapmak için özel tarifler yazmanın programlama çerçevesini öğrenmeyi ve tarif gelişiminde uzman olmayı içerdiğine inanıyor. Ancak, Claude kodunu kullanarak Schneider, yepyeni bir özel tarif oluşturmanın sadece 20 dakika sürdüğünü söylüyor.

“Claude Code, farklı türde günlük konfigürasyonlarını ve bu şeyleri nasıl yönlendireceğini değiştirmek için ilk 10 veya daha fazla kalıp yazdı” diyor. “Daha sonra bu tarifi alabilir, ilk 9.000 kaynak kodu deposunda kullanabilir ve yapılan değişiklik türlerini görebiliriz.”

Geliştirici, çalışıp çalışmadıklarını kontrol etmek ve daha sonra benzer desenler üretmek veya geliştiricinin uygunsuz olduğu düşünülen bir modeli geliştirmek için bunları tekrarlayan Claude AI’ya geri beslemek için tarifin ürettiği kalıpları değerlendirebilir.

Schneider için, tarif, bir yemek tarifi gibi, bir kod değişikliği yapmak için adım adım takip edilebilen bir dizi talimattır. Tarif ayrıca ayarlanabilir ve geliştirilebilir. “Değişikliklerden rahat bir kez, her yere damgalayacak bir deterministik makineniz var” diyor.

Schneider, “Bir çeşit hızlı yineleme geri bildirimi alıyoruz” diye ekliyor. “Günün sonunda, sahip olmadığınız şey, bir LLM gibi, tüm kod düzenlemelerini yapmak gibi olasılıksal bir sistemdir. Daha ziyade, olasılıksal sistem, tüm kod tabanı boyunca değişimi yapmak için deterministik bir makine haline gelen bir tarif yazıyor.”

Üretimdeki kod hacmi göz önüne alındığında, BT departmanlarının ölçeklendirilen bir yaklaşıma ihtiyacı olduğunu söylüyor. Schneider, “Orada ne kadar kod olduğunu hayal etmek zor” diyor.

Moderne’nin daha büyük müşterilerinden birinde, neredeyse beş milyar satır kaynak kodu yönetildiğini söylüyor.

Schneider için, kaynak kodunun bir LLM’ye yüklendiği yerlerde yapay zeka tabanlı yeniden düzenleme, istiflenmez. Sadece maliyet milyonlarca dolar olabilir, bu da kendisi ve Moderne’nin sadece tarifleri potansiyel bir büyük maliyet tasarrufu oluşturmak için Claude Ai’yi kullanma yaklaşımını yapar.

Modernne, Azure Marketplace’in yanı sıra yeni başlayanları tanıtmak için Microsoft Pegasus programında. “Microsoft her zaman kilit müşterileri için önemli olan ve çözümleri müşteri ihtiyaçlarıyla eşleştirmeye çalışıyor” diyor. “Bu durumda, teknoloji mühendisliği ve BT yöneticilerinin uygulama modernizasyonunu hızlandırmaya çalışıyorlar.”

Schneider, programın Microsoft ile birlikte satış yapmanın ticari faydalarıyla birlikte “çok fazla kasetten keserek” Moderne’nin Azure Marketplace listesine yardımcı olduğunu ekliyor.



Source link