Mevcut “bulut öncesi” kurumsal uygulamalarınızın bulut bilişimden tam olarak yararlanmasını sağlamak, işletim sistemlerinin (OS) desteklenmeyen sürümleri, kurumsal veri depoları veya dosya depolamayla sıkı bir şekilde entegre olan monolitik mimariler ve zorluklar gibi teknik engellerle doludur. Paydaş beklentilerinin karşılanmasında (maliyet azaltımları dahil).
“Yeşil alan” uygulamaları bulut tabanlı mimariyi benimsediğinde, bu zorlukların yükünden çok daha az etkilenirler, ancak bu yeni uygulamalar bir kuruluşun uygulama portföyünün yalnızca küçük bir yüzdesini oluşturur.
“Kaldır ve kaydır” yaklaşımı kullanılarak taşınan hizmet olarak altyapı (IaaS) üzerinde yeniden barındırılan tipik bir eski uygulama, her bulut özelliğinden tam olarak yararlanamaz. Bu yeniden barındırma yaklaşımını izleyen kuruluşlar genellikle geçiş ekibinin uygulamaları çalıştırmak için kısayollar kullandığını ve geçici çözümler bulduğunu keşfeder.
Bu kısayollar ve geçici çözümler, yeniden barındırmanın amacının, uygulamayı zamana duyarlı bir şekilde taşımak ve halihazırda bulutta çalışan, daha önemli ölçüde değiştirilmiş diğer uygulamaları desteklemek olmasından kaynaklanmaktadır. Bulutta yerel hazırlığa yönelik kapsamlı değerlendirme, eski uygulamada hiçbir zaman gerçekleştirilmedi ve bu da kötü sonuçlara yol açtı.
Göz önünde bulundurulması gereken alanlardan biri, tipik bir eski uygulamanın, güçlü veri bütünlüğü için geleneksel ilişkisel veritabanı yönetim sistemlerine (RDBMS) ve atomiklik, tutarlılık, izolasyon ve dayanıklılık (ACID) işlemlerine dayanmasıdır.
Bu geleneksel veritabanları, sağlam ve güvenilir olmak için temel altyapıya dayanır. Altyapının akıcı olduğu veya arızalanmaya yatkın olduğu ortamlar için üretilmemiştir. Bu veritabanları aynı zamanda ölçeği büyütmek için değil, büyütmek için oluşturulmuştur; bu da bulut kaynaklarının bolluğundan yararlanma ve uygulamanızı esnek bir şekilde ölçeklendirme yeteneğinizi engeller.
Ancak çağdaş uygulama tasarımı, belirli kullanım durumları için veritabanı davranışını optimize etmek amacıyla çok dilli kalıcılığın avantajından yararlanır. Bu konsept, verileri geleneksel Yapılandırılmış Sorgu Dili (SQL) modeline uymaya zorlamak yerine, geliştiricilerin verilere ve programlama yaklaşımlarına en uygun veri depolamayı seçmelerine olanak tanır. Tüm veri depolama için RDBMS’yi kullanmak, tasarımınızda esnekliğe ve veritabanını ölçeklendirmede önemli maliyetlere yol açabilir.
Bulut bilişimi benimsemek, dikkatli planlamayı ve mevcut uygulamalarınızın bulutta yerel bir mimariye geçişi nasıl engelleyebileceğinin derinlemesine anlaşılmasını gerektirir. Gartner müşterileri, standartların altındaki bulutun benimsenmesinin nedenleri olarak genellikle zayıf planlamayı ve uygunsuz geçiş stratejilerini gösteriyor. Planlama ve yapı olmadan, kararlar yalnızca uygulamayı çalıştırmak için uçuş sırasında verilecektir. Bu, belirtilen proje hedefleriyle uyumsuzluğa yol açacaktır.
Hedeflerin belirlenmesi
Buluta geçişler genellikle, bazılarının revizyonu veya güncellemesi gereken ve bulutun sunduklarından yararlanabilecek bir dizi uygulamayı kapsar. Bu girişimlerin bir kuruluştan diğerine değişen iş hedefleri vardır. Girişimlerin arkasındaki kararlar, süreçler ve kişiler her kuruluşa özeldir. Ancak Gartner, yinelenen birkaç teknik hedef belirledi ve ana hatlarını çizdi.
Belirli iş hedeflerinin bir kuruluşun bulut modernizasyon çabalarına rehberlik etmesi ve kuruluş genelindeki paydaşların bu hedeflerle uyumlu olması kritik öneme sahiptir. Örneğin, tüm uygulama modernizasyonları yeniden oluşturma gerektirmeyecektir. Buluta geçiş hedeflerinden biri bu değilse, belirli bir uygulamanın gelişmiş ölçeklenebilirliği için veritabanınızın bölümlenme şeklini değiştirmeniz gerekmeyebilir.
Çaba puan kartı oluşturma
Gartner, uygulama modernizasyonu için belirli etkin noktalara sahip bir mimari değerlendirmeyi temsil eden bir çerçeve önermektedir.
Bir uygulamayı modernize etmek için gereken çaba, her bir etkin noktanın geçişin iş hedeflerini nasıl engellediği değerlendirilerek belirlenmelidir. Uygulamanız ne kadar kolay değiştirilebilirse, bulutta yerel mimari kalıplarını ve ilkelerini benimsemek için o kadar az iş, çaba ve kaynağa ihtiyaç duyacaksınız.
Bu adım, değerlendirmenin geri kalanı boyunca her bir sıcak noktayı analiz ederken doldurulacak bir efor puan kartı oluşturmanızı gerektirir.
Modernizasyon inhibitörleri
İki ana engelleyici, uygulamalarınızın modernizasyon çabasını artırır: birleştirme ve karmaşıklık.
Bağlantı, uygulamanızın içindeki ve dışındaki karşılıklı bağımlılıkların sayısı olarak görülebilir. Örneğin, kod perspektifinden, kod bloklarının birbirleriyle ve çağrı grafiğiyle nasıl etkileşime girdiğini (yöntemlerin, sınıfların ve işlevlerin nasıl oluşturulduğu dahil) incelersiniz. Farklı kod bloklarına bağımlı olan bir komut dosyası veya kod bloğu, birleştirme olarak kabul edilir.
Bağlantı sorununu daha da karmaşık hale getiren şey, mimarinizin ve kodunuzun karmaşıklığıdır. Sıkı bir şekilde birleştirilmiş ve temeldeki yazılım ve donanım özelliklerine büyük ölçüde bağımlı olan uygulama bileşenleri karmaşıklığa yol açabilir. Bu karmaşıklık, bulutta yerel platformları hedeflerken dağıtım, çalışma zamanı ve barındırma seçeneklerinizi sınırlar. Benzer olan ve aynı anda değişen temel bağımlılıkların ve bileşenlerin soyutlamalarını ve kapsüllenmesini uygulamak önemlidir. Bu anlamda karmaşıklık, yerine getirilmesi zor bağımlılıklara sahip olmak anlamına gelir. Uygulama düzeyindeki bağımlılıklar (örneğin, uygulamanın bileşenleri arasındaki bağımlılıklar) da rol oynayabilir.
Başvurunuzun değerlendirilmesi, uygulama içindeki bağlantının derinliğini ve karmaşıklığını ortaya çıkaracaktır. Uygulamanızdaki bu etkin noktaların her birini modernleştirmek için gereken genel çabayı belirlemenize olanak tanır. Bu değişen modernizasyon derecelerine bağlı olarak kodunuzun farklı bölümleri için farklı stratejiler seçebilirsiniz.
Modernizasyon düzeyi doğrudan iş hedefleriyle bağlantılıdır. Uygulama bu hedefleri karşılayacak kadar değiştirilebilirse kodu yeniden düzenlemek ve uygulamayı bulutta yerel bir platforma modernleştirmek yeterli olabilir. Modernleştirme çabası düzeyi genel olarak yüksekse, uygulamanın tamamını yeniden oluşturmaktan başka seçeneğiniz olmayabilir. Bununla birlikte, örneğin modernizasyon düzeyiniz uygulama mimarisi açısından düşük ve veri kalıcılığı açısından yüksekse, tek tek bileşenleri yeniden tasarlayabilir ve yeniden oluşturabilirsiniz.
Diğer zorluklar
Bulut ortamında, başarısız olma potansiyeline sahip çok sayıda güvenilmez bileşen kullanarak güvenilir bir uygulama oluşturmaya çalışırsınız; bu, genellikle tek bir makinede görebileceğiniz uygulama bileşeni arızalarından farklı şekillerde olur. Bulut bilişim, dikey ölçeklenebilirlik yerine yatay ölçeklenebilirliği tercih eden geçici kaynakların bulunduğu bir ortamda çalışacak bir mimari gerektirir.
Bulutta yerel mimariler, bulutun sunduğu faydaların yanı sıra farklı olan ve sağlayıcıya dış kaynak sağlanan alanlar arasında denge kuracak ve böylece bunlar üzerindeki kontrolünüzü sınırlayacaktır. Kuruluşunuzun buluta geçiş motivasyonları; ek ölçeklenebilirlik, yeni kanalları benimsemek için işin genişletilmesi ve talep azaldığında kaynakların azaltılmasıdır. Bu, normal günlük operasyonlardan farklı olan öngörülemeyen bir yüke yol açabilir.
Bulut sağlayıcınızda yerel, yönetilen hizmetleri kullanmak aynı zamanda uygulamanıza gecikme de getirecektir çünkü uygulama bileşenleriniz artık bir ağ üzerinden dağıtılmıştır. Bulut yerlisi mimarların ayrıca bazı bulut hizmeti arızalarının, sistematik arızaların ve güvenlik ihlallerinin tamamen kendi kontrolleri dışında olduğunu dikkate alması gerekir.
Uygulama portföyünde bulutta yerel ilkelerin ne zaman ve nerede geçerli olduğunu anlamak için liderlik seviyesinden zihniyette genel bir değişim olması gerekiyor. Liderlik, bireyleri kuruluşunuz bağlamında sürekli olarak bu dersleri öğrenmeleri ve geliştirmeleri için güçlendirmelidir. Bulutta yerel modernizasyonu uygulama bakım döngülerinizin doğal bir parçası haline getirin. Bulut inovasyonunun mevcut organizasyonel süreçleri ve kültürü geride bırakması ve mevcut süreçleri bozması nedeniyle organizasyonel değişim süreçlerine yoğun yatırım yapılması gerekmektedir.
Bu makale, Gartner’ın kıdemli direktör analisti Eklove Mohan’ın hazırladığı “Uygulamanızı bulutta yerel mimariyi kullanacak şekilde nasıl modernleştirirsiniz?” başlıklı Gartner raporuna dayanmaktadır.