Azure ile Uygulama Modernizasyonu

Sürekli gelişen ve evrim geçiren teknoloji sektöründe son zamanlarda sıkça duyduğumuz bir tabir olan Application Modernization tabiri, mevcut uygulamalarımızı günümüz teknolojileri ile uyumlu hale getirerek yeni teknolojilerin gücünden yararlanmaktır. Eski uygulamaların sorunsuz çalışmasını sağlamakla birlikte, günümüzdeki ihtiyaçları karşılayabilmek de zaman alıcı ve yoğun kaynak tüketimi olabilir. Bu konu üzerinden uygulamalarınızı modernize ederek güncel teknolojilere uyumlu hale getirebilirsiniz. Bu uyumlu hale getirme ve adapte olma sürecinde karşımıza bir çok alternatif çıkmakla birlikte en popüler olan günümüz teknolojisi ise bulut teknolojileridir. Datamarket olarak uygulama modernizasyonu konusunda Azure’un gücüyle nasıl bir yol haritası izlediğimizden ve bu alandaki yöntemlerden bahsedeceğiz.

Azure Uygulama Modernizasyonu

Azure bize sunduğu Platform As A Service (PaaS) kullanım kolaylığı ve güncel teknolojilerle uyumlu çalışması ile uygulamalarınızın güvenlik, kalite ve uyumluluğunu üst düzeye çıkarmak için en iyi yaklaşımdır. Azure bu teknoloji ile bizlere, sizi Infrastructure katmanından soyutlayarak tamamen yönetilen bir ortam sunmakta. Bizde infrastruce yönetimine harcadığımız zamandan ve iş gücünden tasarruf ederek tamamen uygulamalarımıza odaklanabiliyoruz.

Uygulama Modernizasyonu Stratejileri

Rehost;

Altyapıda bulunan uygulamayı Kaldır ve değiştir (Lift and Shift) yöntemi ile App Service üzerinde yapılacak olan minimum ayarları kullanarak buluta taşıyabilirsiniz. Uygulama kod tabanı aynı kalır.

Geliştiricilerin kod geliştirme konusunda verimliliğini arttırmak ve ölçeklenebilir hale getirmeye olanak tanır.

Refactor;

Uygulamaları gözden geçirmek için kullanılır. Bulut ortamında daha iyi uyum sağlarlar. Bu uygulamayı ve yazılan kodu değiştirmeyi içeren bir durumdur. Rehost’a göre daha fazla efor harcanması gerekiyor. Geliştiriciler, uyumlu olan dilleri, kapsayıcıları daha hızlı erişebilir ve kullanabilir hale gelirler. DevOps gibi araçlarla CI/CD süreçlerini hızlıca yapabilirler. Kolaylıkla uygulamaları aşağı veya yukarı doğru ölçeklendirme eylemlerini kullanarak uygulamanın en ideal olan altyapıda çalışmasını sağlayabilir.

Re-architect;

Bu seçenekte ise uygulamanızı, mikro hizmet (Micro Service) modeline göre yeniden yapılandırarak, kaplar (Containers) ve DevOps ile uygulamalarınızı başlatabilirsiniz. Bu yöntem ile iş sürekliliği, iş bölümü, düşük maliyet ve ölçeklenebilirlik sayesinde uygulamanızı yeniden keşfetmenize olanak tanır. Bulut tarafında PaaS kullanılmak istenirse eğer mikro hizmet (Micro Service), sunucusuz (Serverless), Kapsayıcılar (Containers) ve DevOps uygulamalarını içerir.

Rebuild;

Bulut özelinde en önemli avantajları elde etmek için uygulamanızı yeniden oluşturulması önerilir.

Yeniden yapılandırma (Rebuild) ile uygulama, bulut tabanlı bir uygulama olarak yeniden yazılır.

Replace;

Eski bir uygulama hala kullanışlı halde çalışır durumdaysa bulut tabanlı çözümlere dönüştürülebilir. Buna örnek olarak IIS üzerinde bulunan site’ler App Service ile değiştirmek olabilir. Güvenlik ve güncelleştirme aksiyonlarından kurtulmuş olursunuz.

Uygulama Modernizasyonu laboratuvar ortamında da oluşturup deneyimleyebilmeniz için aşağıdaki linke göz atabilirsiniz;

https://github.com/microsoft/MCW-App-modernization

Referanslar;

https://azure.microsoft.com/en-us/resources/videos/ignite-2018-application-modernization-with-microsoft-azure/