Java uygulamalarınız için doğru Azure hizmetlerini seçme

Bu makale, Java uygulaması dağıtımı için Azure hizmetlerini kullanma konusunda size yol gösterir ve Azure'ın çeşitli Java teknolojileri ve mimarileri için desteklediğini vurgular. "Lift and Shift", containerization ve Platform-as-a-Service (PaaS) gibi çeşitli denetim ve basitlik düzeylerine uyarlanmış dağıtım yöntemlerini özetler.

Makale, sabit bir A veya B seçimi yerine uygulama gereksinimlerine göre hizmet seçmenizi tavsiye eden bir A+B zihniyetini savunur. Esnek bir yaklaşım için kullanım örneğini, iş hedeflerini, güvenliği ve bütçeyi dikkate almayı önerir. Makale, Geliştirici deneyimlerini geliştirmek için Microsoft'un Java ekosistem liderleriyle ortaklığının altını çizer ve kaynak, ikili veya kapsayıcı olarak Java uygulamalarını dağıtmak için Azure hizmetlerini önerir. Bu nüanslı yaklaşım, Microsoft'un Java uygulamalarına dağıtım stratejiniz için en uygun Azure hizmetlerini sağlama, verimliliği, ölçeklenebilirliği ve maliyet verimliliğini en üst düzeye çıkarma taahhüdüyle desteklenen yeniliklere odaklanmanıza yardımcı olur.

Tüm Java uygulamalarını güvenle ve kolayca dağıtma

Java ekosistemi Java SE, Jakarta EE (Java EE ve J2EE'nin ardılı), Spring, çok sayıda uygulama sunucusu ve diğer çerçeveler gibi çeşitli teknolojileri içerir. Java ile ne yapıyorsanız (uygulama oluşturma, çerçeve kullanma ve uygulama sunucusu çalıştırma gibi) iş yükünüzü birçok seçenekle Azure desteği. Benzer şekilde, VM'lerde veya kapsayıcılarda çalışan monolitik uygulamalardan tam olarak yönetilen hizmetlerde çalışan buluta özel mikro hizmet tabanlı uygulamalara kadar tüm uygulama mimarilerini Azure desteği.

Azure, farklı denetim ve basitlik düzeylerine göre uyarlanmış, bulutta Java uygulamaları çalıştırmak için aşağıdaki üç birincil yöntemi sunar:

  • "Lift and Shift" yaklaşımı, mevcut uygulamaların doğrudan Azure Sanal Makineler'a en az değişiklikle geçirilmesini sağlar.

  • Kapsayıcıya alma, Azure Kubernetes Service (AKS) ve Azure Red Hat OpenShift'in kapsayıcılı uygulamaları düzenlemeye yönelik ana platformlar olmasıyla esneklik sunar.

  • Hizmet Olarak Platform (PaaS), genellikle en ekonomik toplam sahip olma maliyetiyle birlikte en uygun geliştirici üretkenliğini ve operasyonel yönetilebilirliği sunarak kolaylık ve verimliliğin zirvesini temsil eder.

Java uygulama geliştirme aşamanız ne olursa olsun, Azure gereksinimlerinizi karşılamak için uyumlu bir bulut çözümü sağlar. Java uygulamalarını güvenle ve kolayca dağıtma bölümünde bu teklifler hakkında daha fazla bilgi edinebilirsiniz.

Java uygulamalarınız için tam taşınabilirlik: her yerde sorunsuz bir şekilde dağıtın

Java uygulamanız için hangi Azure hizmetini seçersensiniz seçin, uygulamanızın esnekliği garanti edilir. Java koduna ve derlenmiş çıktılarına sahip olduğunuzdan, yerel geliştirme makinenizde, derleme sunucularınızda, şirket içi ortamlarınızda veya seçtiğiniz herhangi bir bulut platformunda uygulamanızı istediğiniz yere dağıtma özgürlüğüne sahip olursunuz. Uygulamanızın taşınabilirliği sizin elinizde.

Tabii ki, çok fazla seçenek olduğunda, bir ikilemle karşılaşırsınız.

İkilem – Java uygulamaları için A veya B hizmetini kullanma

Azure'ın tekliflerinde geziniyorsanız Java uygulamalarınızı çalıştırmak için en uygun Azure hizmetini seçme ikilemi ile karşılaşabilirsiniz. Bu seçim, kaynak planlamanızı, bütçenizi, proje zaman çizelgelerinizi ve sonuç olarak uygulamanızın pazara çıkış süresini etkilediği için çok önemlidir. Bu karar yalnızca ilk dağıtım maliyetlerini değil, devam eden bakım giderlerini de etkiler.

Geçmişte kuruluşlar genellikle yazılım uygulamaları için iki platform, teknoloji veya rakip çözüm arasından seçim yapmak zorunda hissederdi. Örneğin kuruluşların Java Enterprise uygulamaları için WebLogic veya WebSphere, kapsayıcı yönetimi için Docker Swarm veya Kubernetes veya dağıtım için sanal makineler (VM) yerine kapsayıcılar arasında karar vermeleri gerekiyordu. Bu karar alma süreci "A veya B zihniyeti" olarak adlandırılır ve hangisinin daha iyi performans gösterdiğini belirlemek için bir web sayfasının veya uygulamanın iki sürümünü birbiriyle karşılaştırmak için bir yöntem olan A/B testinden önemli ölçüde farklıdır. Bunun yerine, bu bağlamdaki A veya B zihniyetinde uygulama dağıtımı için bir platform veya teknoloji yerine başka bir platform veya teknoloji seçmek yer alır. Bu, kararların genellikle paketlenmiş yazılım teslim modelleri, altyapı ve yazılım lisansına yapılan önemli ön yatırımlar ve herhangi bir uygulama platformu oluşturmak ve dağıtmak için gereken uzun sağlama süreleri gibi faktörlerle kısıtlandığı geleneksel şirket içi uygulamalardan gelir.

Bu zihniyetin Azure'a getirilmesi, tüm uygulamaları barındırmaya çalışan tek bir platform oluşturmak için aşırı zaman harcanmasına neden olabilir ve bu da gecikmeler ve verimsizlikler doğurabilir. Ancak Azure daha avantajlı bir yaklaşım sunar ve bu kısıtlayıcı düşünce yapısından her iki dünyanın da en iyilerini benimseyen bir yaklaşıma geçiş teşvik eder ve sonuçta daha iyi bir yatırım getirisi (ROI) elde eder.

Azure'a geçiş sırasında bulut ortamı, gereksinimlerinize göre kaynak sağlayıp sağlamayı kaldırabileceğiniz esnek bir paradigma seçerek bir hizmetten diğerine seçim yapma gereksinimini ortadan kaldırır. Bu esneklik, daha geniş ve kapsayıcı bir düşünce biçimini teşvik ederek geleneksel A veya B zihniyetinden ayrılan bir strateji olan A+B yaklaşımını benimser. Azure, birden çok hizmetin avantajlarını karıştırmayı ve bir A+B zihniyetini benimsemeyi hem kolay hem de uygun maliyetli hale getirerek bu değişimi kolaylaştırır. Bu yaklaşım, uygulamanızın belirli gereksinimlerine en uygun hizmetleri seçme ilkesinin altını çizer ve temelde eldeki iş için doğru aracı seçmeyi savunur.

A+B zihniyetine geçiş, kuruluşların karar alma süreçlerini ve teknik stratejilerini genişleterek bu zihniyetin karşıladıkları yeni olasılıkları ve fırsatları benimsemelerini sağlar. Bu makalede, A+B zihniyetinin ilkeleri açıklanır ve uygulamanızın gereksinimleriyle en etkili şekilde eşleşen Azure hizmetlerini rastgele seçmenize olanak tanır. Azure Spring Apps, Azure Uygulaması Hizmeti, Azure Container Apps (ACA), Azure Kubernetes Service veya Sanal Makineler olsun, A+B zihniyet uygulamalarınızı barındırmak için bir Dizi Azure Hizmetleri'ni değerlendirmeniz ve seçmeniz için size enlem verir. Bu felsefe, dil ve çerçeve sınırlarını aşan evrensel olarak geçerlidir. Burada odak Java uygulamaları olsa da, A+B zihniyet her programlama dilinde geliştirilen uygulamalar için eşit derecede alakalı ve faydalıdır.

A+B zihniyetini benimseyerek, önceden belirlenmiş tek bir hizmetle sınırlı değilsiniz. Bunun yerine, hizmetleri uygulamanızın benzersiz taleplerine en uygun şekilde birleştirme yetkiniz vardır. Bu yaklaşım yalnızca esnekliği ve ölçeklenebilirliği geliştirmekle kalmaz, aynı zamanda maliyeti ve operasyonel verimliliği de iyileştirir. Bu yaklaşım, teknik stratejinizin, içinde çalıştığınız bulut ortamı kadar dinamik ve uyarlanabilir olmasını sağlar.

A veya B hizmetini düşünmek neden gerekli değildir?

Bulutun sunduğu esneklik ve özellikle Azure'da sunduğu seçenekler sayesinde uygulamalarınız için doğru bulut hizmetini seçmek, A hizmeti veya B hizmeti arasında ikili bir karar vermek zorunda değildir. Aşağıdaki bölümlerde geleneksel "bir veya diğer" seçime bağlı kalmanın neden gerekli olmadığı ve daha akıcı bir yaklaşımı benimsemenin operasyonlarınıza nasıl fayda sağlayabileceğinizi açıklar.

Eski alışkanlıklardan yeni esnekliğe

Geleneksel olarak, BT sistemlerinin dağıtılması, uzun kurulum sürelerinin yanı sıra donanım ve yazılıma yönelik önemli ön yatırımlar da içerirdi. Bu ortam, bir platformu dikkatle seçmeyi ve maliyetlerden ve kaynaklardan tasarruf etmek için etrafındaki her şeyi iyileştirmeyi mantıksal hale getirdi. Ancak Azure dahil olmak üzere bulut ortamı, isteğe bağlı ve esnek yapısıyla bir paradigma değişimi sunar. Yalnızca kullandığınız kadar ödersiniz ve kaynaklarınızı gereksinimlerinizi karşılayacak şekilde ayarlamak, ilk sermaye harcamalarının yükü olmadan kolaylaşır.

Buluta geçiş

Buluta ve özellikle Azure'a geçiş, altyapı ve platform sorumluluklarının yönetilmesinde önemli bir değişiklik getirir. Daha önce kuruluşunuz tarafından omuzlanan ağır kaldırmanın büyük kısmı, aşağıdaki diyagramda görüldüğü gibi Artık Microsoft'a kayıyor. Bu değişiklik işlemleri basitleştirir ve uygulamalarınızı yönetmek için gereken çabayı azaltır. Birden çok platformu yönetme kısıtlamalarına bağlı değilsiniz ve ek maliyetler ve karmaşıklıklar konusunda endişelenmeden her iş için en iyi aracı seçmenizi serbest bırakmanız gerekiyor.

Aşağıdaki diyagramda müşteri ile bulut sağlayıcısı arasındaki paylaşılan sorumluluk modeli gösterilmektedir:

Müşteri ve bulut sağlayıcısı arasındaki paylaşılan sorumluluk modelini gösteren bir tablo içeren diyagram.

Her ihtiyaç için en uygun seçimi

Bu yeni bulut merkezli dünyada karar alma süreci, tüm ihtiyaçlarınızı önceden belirlenmiş tek bir hizmete sığdırmak yerine doğru iş için doğru aracı seçmeye dönüşür. Azure Kubernetes Service ile Spring Boot uygulamaları için Azure Spring Apps veya diğer hizmet kümeleri arasında seçim yaparken odak, belirli uygulamaların gereksinimlerini en iyi karşılayan hizmete geçer.

Mikro hizmetlerin yükselişi

Mikro hizmetlerin benimsenmesi bu esnek yaklaşımı daha da destekler. Tasarım gereği, mikro hizmetler her hizmet için en uygun teknolojinin kullanılmasını teşvik ederek doğal olarak A+B zihniyetiyle uyumlu bir teknolojik çeşitliliği teşvik eder. Bu yaklaşım, daha sağlam, verimli ve ölçeklenebilir bir uygulama mimarisi oluşturmak için farklı hizmetlerin güçlü yönlerini kullanmaktır.

A+B'yi kucaklamanın avantajları

A+B zihniyetlerini benimsemek birçok önemli avantaj sunar. Daha fazla çeviklik ve esneklik sağlayarak işlemlerinizin her yönü için en uygun araçları ve hizmetleri seçmenizi sağlar. Bu yaklaşım yalnızca daha iyi kaynak ve maliyet verimliliği sağlamakla kalmaz, aynı zamanda ürünlerinizin pazara çıkış süresini kısaltır. Sonuç olarak, bu yaklaşım teknoloji seçimlerinizi iş gereksinimlerinize ve hedeflerinize daha yakın bir şekilde hizalayarak operasyonel mükemmelliği teşvik eder.

Özetle, bulut ve özellikle Azure, uygulamalarınızı dağıtma ve yönetme hakkında yeni bir düşünme yöntemi sunar. Kısıtlayıcı A veya B seçiminden uzaklaşıp A+B zihniyetini benimseyerek, uygulamalarınızın belirli gereksinimleriyle daha uyumlu kararlar vererek verimliliği, çevikliği ve maliyet tasarrufunu artırabilirsiniz.

A+B zihniyetine geçiş için pratik kılavuz

Aşağıdaki liste, A+B zihniyetine geçiş yapmak ve devam etmek için kılavuz olarak kullanabileceğiniz bazı temel ilkeleri numaralandırır:

  • Kullanım örneğinden çözüme geçin, tersini değil. Çoğu zaman, birçok yazılım ekibi önce teknolojiye karar verir ve ardından kullanım örneklerini ve tasarımı zorlamaya çalışır. Çoğu durumda, bu yaklaşım maliyet, geliştirme süresi, kaynaklar ve operasyonel giderler açısından önemli bir ek yük oluşturur. Çözüme geçmeden önce hem işlevsel hem de işlevsel olmayan kullanım örnekleriniz ve gereksinimleriniz hakkında netlik elde edin.

  • İş hedeflerinizi, işletmenin doğasını ve rekabetinizi ve yeni özellikleri üretim ortamına ne sıklıkta sunmanız gerektiğini anlayın. Çözümünüzü her zaman iş hedeflerinize ve hedeflerinize uyacak şekilde tasarlamanız gerekir.

  • Güvenlik ve uyumluluk gereksinimlerini anlama. İnternet üzerinden her şeye erişilen bulut çağında güvenlik kritik önem taşır ve pazarlık edilemez. Ayrıca, hizmet ettiğiniz sektöre bağlı olarak uygulamanızın belirli uyumluluk gereksinimlerini karşılaması gerekebilir. Hava durumu gelişmiş güvenlik saldırılarına yönelik çözümünüzü tasarlamanız ve uyumluluk gereksinimlerinizi karşılamanız gerekir.

  • Bütçenizi ve zaman çizelgelerinizi anlayın. İlk geliştirme, devam eden operasyonlar ve gelecekteki sürümler için bütçenizi net bir şekilde anlayın. Ayrıca zaman çizelgelerinizi de anlayın. Hem ek giderler hem de olumsuz iş etkisi açısından geciken projelerin maliyeti genellikle hafife alınır. Çözümünüzü hem bütçenizi hem de zaman çizelgenizi karşılayacak şekilde tasarlayın.

  • Uygun olduğunda bulutta yerel olarak düşünün. Bulutta yerel mimari ve teknolojiler, bulutta yerleşik olarak bulunan ve bulut bilişim modelinden tam olarak yararlanan iş yüklerini tasarlama, oluşturma ve çalıştırmaya yönelik bir yaklaşımdır. Bulutta yerel olarak, uygulamaları daha hızlı bir şekilde derleyebilir ve üretime dağıtabilirsiniz. Bulut ayrıca şirket içinde mümkün olmayabilecek esneklik, küresel ölçek, gelişmiş analiz, yapay zeka ve makine öğrenmesi (ML) özellikleri gibi özellikler de sunar. Çözümünüzü mümkün olduğunca bulutta yerel teknolojilere göre tasarlar.

  • DevOps kültürünü düşünün. DevOps yalnızca araçlar veya süreçler değildir, geliştirme ve operasyonlar arasında işbirliğini destekleyen ve daha hızlı ve daha güvenilir yazılım teslimi sağlayan bir yazılım geliştirme uygulamasıdır. Genel olarak kültür olarak adlandırılan DevOps, sürekli değer sunmak için kişileri, süreçleri ve teknolojiyi birbirine bağlar.

İş gereksinimlerinizi ve işlevsiz gereksinimlerinizi karşılayan çözümü seçin; aşağıdakilerden birini yapın:

  • Uygulanması en hızlı.
  • Beceri geliştirme, oluşturma, dağıtım ve operasyon maliyetleri açısından uygun maliyetlidir.
  • Kullanımı kolay.
  • Otomasyon ile tamamen uyumludur.
  • Tasarım gereği DevOps desteği.

Bu ilkeler, çözümü önceden belirlenmiş bir platforma zorlamak yerine iş hedeflerinizi karşılayan bir çözüm oluşturmaya odaklanmanıza yardımcı olur.

Özel durumlar

Diğer her şey gibi, A+B'de de istisnalar vardır. Aşağıdaki liste kapsamlı değildir, ancak karşılaşabileceğiniz bazı özel durumlar için size yön yönergeleri sağlar:

  • Kurumsal strateji. Örneğin, bazı kuruluşlar uygulama oluşturmak ve dağıtmak için kapsayıcıların kurumsal genelinde benimsenmesini kullanır çünkü uygulamada birden çok programlama dili olabilir ve tüm uygulamaları birleşik bir şekilde derlemek ve dağıtmak isterler.

  • Yürütme ile çizginin çok aşağısı. A+B analizine geçmeden önce bir çözüm seçmiş olabilirsiniz. Çözümünüzün yürütülmesi konusunda ayrıntılı bilginiz varsa devam edin, ancak sonraki uygulama için, kullanım örneğiniz için doğru çözümü seçmek için A+B zihniyetinin ilkelerini kullanın.

  • Büyük ölçekli veri merkezi geçişleri. Kuruluşlar bulut yolculuğunu hızlandırmak için genellikle Azure Geçişi gibi araçları kullanarak sunucuları toplu olarak Azure'a geçirmeyi (uygulamalarını barındırmayı) içeren "lift and shift" adlı bir strateji kullanır. Bazıları, veri merkezlerini Azure'a geçirmek ve bunları verimli ve uygun maliyetli bir şekilde kapatmak için bu yaklaşımı kullanır. Bu senaryoda, Azure'a geçiş yaptıktan sonra uygulamaları modernleştirmek için A+B zihniyetini kullanmanızı öneririz.

Dikkat edilmesi gereken temel konular

Size düşünme çerçevesini ve uygulamalarınız için Azure'da doğru hedefleri seçmek için kullanabileceğiniz ilkeleri sağladık. Hepsine uyan tek bir boyut değil. A veya B değil, A + B.

Aşağıdaki diyagramda, herhangi bir uygulama için Azure hizmeti seçmeye yönelik önemli noktalar özetlemektedir:

Herhangi bir uygulama için Azure hizmeti seçmeye yönelik önemli noktaların özetini gösteren diyagram.

Java uygulamalarınız için doğru Azure hizmetlerini seçme

Azure'da Java uygulamalarına yönelik çok sayıda teknoloji seçeneğinin ortasında seçim sürecini kolaylaştırmak için geliştiricilerin, müşterilerin ve sistem tümleştiricilerinin en uygun Azure hizmetine yardımcı olması için basit bir karar ağacı oluşturduk.

Teknolojik açıdan işlevsel olmayan gereksinimleri göz önünde bulundurmaya yönelik pratik kılavuzun ötesinde, göz önünde bulundurulması gereken ilk soru altyapı üzerinde denetime ihtiyacınız olup olmadığıdır. Bunu bilmiyorsanız, yönetilen hizmetler en iyi ve en çok önerilen yollardır. Spring veya App Server tabanlı olan uygulamaların doğası, şu karara daha fazla yol gösterir: Spring uygulamaları Azure Spring Apps ile hizalanırken, Azure Uygulaması Hizmeti Tomcat veya JBoss EAP uygulamalarına uygundur.

Altyapı denetimi gerektirenler için, seçim çok bulutlu teknoloji tercihlerine bağlıdır: Azure Sanal Makineler basit bir geçiş sunar ve Tanzu ile tümleştirilenler için IaaS market tekliflerinde Tanzu idealdir. Kubernetes'e yatırım yapan müşterilerin Azure Kubernetes Service ve Azure Red Hat OpenShift seçenekleri vardır. Bu karar verme çerçevesi, müşteri gereksinimlerini Azure'ın en uygun çözümleriyle eşleştirerek seçimleri basitleştirmek için tasarlanmıştır.

Microsoft, aşağıdaki alanlarda iş ortakları dahil olmak üzere çok sayıda iş ortağıyla işbirliği yapar:

  • Oracle, Broadcom, Red Hat, IBM ve OpenAI gibi önde gelen Java ekosistemi iş ortakları.
  • MySQL, PostgreSQL, MongoDB Labs, DataStax, Redis Labs, Confluent ve Elastic gibi önemli veritabanı ve araç kuruluşları.
  • New Relic, Dynatrace, AppDynamics, Grafana Labs ve Datadog gibi gözlemlenebilirlik uzmanları.
  • IntelliJ, Maven ve Gradle gibi geliştirme araçları.

Birleştirilmiş yatırımımız daha sorunsuz geliştirici deneyimleri oluşturarak veritabanları, önbellekler, mesajlaşma ve dizinler gibi temel hizmetlerle sorunsuz tümleştirmeler sağlar ve gözlemlenebilirlik için kapsamlı araçlar sağlar. Otomasyon, yük dengeleme ve otomatik ölçeklendirme ile altyapı yönetiminin yükünü omuzlarınızdan kaldırmayı hedefliyoruz. Bu destek, temel alınan sistemlerin sağlam ve ölçeklenebilir olduğu bilgisine güvenerek kodunuz aracılığıyla iş değeri oluşturmaya odaklanmanızı sağlar. Bu nedenlerden dolayı Java uygulama türlerinizi barındırmak ve çalıştırmak için belirli Azure hizmetlerinin kullanılmasını öneririz.

Java uygulamalarını kaynak veya ikili dosya olarak dağıtma

Doğrudan kaynak koddan veya derlenmiş ikili dosyalar (JAR, WAR veya EAR dosyaları) olarak dağıtılan Azure'da Java uygulamaları için, Azure'ın bu amaçlar için özel olarak tasarlanmış kapsamlı hizmet teklifleri sayesinde dağıtım kolaylaştırılır. Java uygulamalarının doğal taşınabilirliği, Azure'ın benzersiz dağıtım stratejilerinizi ve operasyonel gereksinimlerinizi karşılayacak çok çeşitli hizmetler sunabileceği anlamına gelir. Bu esneklik, Java uygulamanızın özellikleri ne olursa olsun gereksinimlerinize mükemmel bir şekilde uyan bir Azure hizmeti olmasını sağlar.

Azure'ın farklı Java uygulaması dağıtım senaryolarına nasıl hizmet ettiği gösteren aşağıdaki üç örneği göz önünde bulundurun:

  • Spring Applications. Spring uygulamalarıyla çalışan geliştiriciler için Microsoft Azure, Spring açık kaynak projelerinde lider olan Broadcom'un Tanzu ile işbirliği yaparak Azure Spring Apps olarak bilinen premier bir bulut hizmeti sundu. Bu işbirliği IntelliJ, VS Code, Maven ve Gradle gibi popüler geliştirme araçlarının yanı sıra Azure DevOps, GitHub Actions ve Jenkins gibi otomasyon araçlarını tümleştirerek geliştirici deneyimlerini geliştirir. Application Analizler, New Relic, Dynatrace, App Dynamics, Grafana, Log Analytics, Elastic ve Splunk gibi gözlemlenebilirlik araçları da desteklenir. Anahtar Kasası gizli dizileri ve TLS/SSL sertifikalarını işleme tümleştirmeleri, yönetilen kimlikler aracılığıyla destek hizmetleriyle "parolasız" kimlik doğrulaması ve Bulutta Spring uygulamaları için güvenli, kolaylaştırılmış bir dağıtım süreci sağlayan Azure rol tabanlı erişim denetimi (RBAC) ile güvenlik en önemli önceliktir.

  • JBoss EAP üzerinde Java Uygulamaları. Benzer şekilde, JBoss EAP kullanan Java uygulamaları için Microsoft Azure ekibi ile Red Hat JBoss EAP ekipleri arasındaki işbirliği sayesinde özel bir deneyim sunulur. Bu ortaklık, JBoss EAP uygulamaları için tasarlanmış zengin bir özellik kümesi sunan Azure Uygulaması Hizmeti'nde gelişmiş destekle sonuçlandı. Bu destek, Java uygulamalarınızın Azure'da sorunsuz, güvenli ve verimli bir şekilde çalışmasını sağlayarak Microsoft ve Red Hat'in birleştirilmiş uzmanlığını kullanmanıza olanak tanır.

  • WebLogic üzerinde Kurumsal Java Uygulamaları. Oracle WebLogic üzerinde çalışan geleneksel kurumsal Java uygulamaları da Azure'a ayrılmış bir yola sahiptir. Microsoft Azure ile Oracle WebLogic ekipleri arasındaki işbirliği, Azure Sanal Makineler'da iyileştirilmiş dağıtımın önünü açtı. Bu ortaklık, sanal makineler, depolama, ağ ve yük dengeleyiciler gibi temel IaaS özellikleriyle tümleştirmeyi genişleterek Azure'da kurumsal Java uygulamaları için sağlam bir temel sağlar. Bu eşgüdümlü çalışma, uygulamaların hem WebLogic'in sağlamlığından hem de Azure altyapısının ölçeklenebilirliğinden ve esnekliğinden yararlanmasını sağlar.

Bu senaryolar, Azure'ın Java uygulamaları için çeşitli çerçevelere ve mimarilere uygun esnek, güvenli ve verimli bir dağıtım ortamı sunmaya olan bağlılığını vurgular. Azure, Tomcat veya WebSphere üzerinde çalışan uygulamalar gibi diğer Java uygulamaları için özel hizmetler de sağlayarak her tür Java uygulaması için uygun bir Azure hizmeti olmasını sağlar.

Geliştiriciler ve operatörler, bu özel Azure hizmetlerini kullanarak sorunsuz ve üretken bir bulut dağıtım deneyimi elde eder, Java uygulamalarını kolayca otomatik hale getirir ve güvenli hale getirir. Ancak alternatif dağıtım seçeneklerinin seçilmesi, bu temel geliştirici ve operatör deneyimlerini oluşturma ve bakımını kendiniz halletmenizi gerektirebilir.

Aşağıdaki diyagramda, kaynak veya ikili olarak dağıtılan her Java uygulama türü için önerilen Azure hizmetleri gösterilmektedir:

Kaynak veya ikili olarak dağıtılan her Java uygulama türü için önerilen Azure hizmetlerini gösteren diyagram.

Bu diyagramda başvuruda bulunan hizmetler hakkında daha fazla bilgi edinmek için aşağıdaki tabloda yer alan bağlantıları kullanın:

Hizmet Kaynak veya ikili dosya olarak dağıtılan Java uygulamaları için hızlı başlangıç
Azure Spring Apps Spring uygulaması dağıtma
App Service Tomcat'te Java uygulaması dağıtma
JBoss EAP'de Java uygulaması dağıtma
Azure Functions Java işlev uygulaması dağıtma
Azure Sanal Makineler Azure Sanal Makineler'da Oracle WebLogic Server
Azure'da IBM WebSphere ailesi Sanal Makineler

Java uygulamalarını kapsayıcı olarak dağıtma

Java uygulamalarını dağıtma söz konusu olduğunda kapsayıcıya alma, kuruluşlar genelinde kapsayıcı oluşturma, yönetim ve idarede otomasyonu geliştiren son teknoloji bir yaklaşımı temsil eder. Zorluk, yüksek kaliteli, kapsayıcılı yazılım uygulamalarını hızla sunmak için önemli bir adım olan kapsayıcıları güvenli ve güvenilir bir şekilde oluşturmaktır. Bu işlem sıfırdan başlayabilir veya kapsayıcı güncelleştirmelerini ve yönetimini kolaylaştırmak için kod ve ikili dosyaları derleyen ve depolayan araçları tümleştiren mevcut kapsayıcı sistemlerini kullanabilir. Bu tümleştirme, Kapsayıcı biçiminde Java uygulamaları için esnek bir dağıtım yöntemi sunan Sürekli Tümleştirme/Sürekli Dağıtım (CI/CD) işlem hatlarına uydurmak için çok önemlidir.

Azure hizmetleri, kapsayıcılı uygulamaların teslimini basitleştirmenin yanı sıra kaynaklardan veya ikili dosyalardan dağıtım için net yollar sağlayarak öne çıkar. Bu çift yaklaşım geliştiriciler üzerindeki etkiyi en aza indirir ve altyapı veya platform operatörlerinin yükünü azaltır. Java'nın doğal taşınabilirliği göz önünde bulundurulduğunda, Azure'ın geniş kapsayıcı hizmetleri seçimi, dağıtım stratejiniz ve gereksinimleriniz için mükemmel bir eşleşme bulmanızı sağlar.

Azure'ın kapsayıcılı Java uygulaması dağıtım senaryolarına nasıl hizmet ettiği gösteren aşağıdaki iki örneği göz önünde bulundurun:

  • Spring Applications. Azure Spring Apps, kapsayıcılı Spring uygulamaları için mükemmel bir seçimdir. Kaynak, ikili dosyalar veya kapsayıcı görüntüleri dahil olmak üzere birden çok dağıtım türünü destekler. Bu esneklik, dağıtım yöntemleri arasında kolayca geçiş yapmaya olanak tanır. Kapsayıcılarla başlayabilirsiniz ancak daha sonra kaynak veya ikili olarak dağıtmaya karar vekleyebilirsiniz. Bu seçenek, hantal, yinelenen ve zaman yoğunluklu olabilecek kapsayıcıların sürekli inşası ve bakımı ihtiyacını aştığı için avantajlıdır.

  • Tomcat'te Java Uygulamaları. Azure Uygulaması Hizmeti, Tomcat üzerinde çalışacak şekilde tasarlanmış Java uygulamalarını kapsayıcıya almak için uygundur. İkili dosyalar veya kapsayıcı görüntüleri gibi çeşitli dağıtım türlerini barındırır. Azure Spring Apps gibi bu hizmet de dağıtım stratejileri arasında geçiş esnekliği sunar. Kapsayıcı dağıtımıyla başlayabilir ve daha sonra ikili dosyaları (WAR'ler ve JAR'ler) dağıtmaya geçme seçeneğini koruyabilirsiniz. Bu çok yönlülük, geliştirme ve dağıtım işleminin akışını sağlayarak belirli senaryonuz için en verimli dağıtım yöntemini seçmenizi sağlar.

Bu örnekler, Azure'ın geleneksel yöntemler veya modern kapsayıcılar aracılığıyla Java uygulamalarını dağıtmak için çok yönlü, verimli ve geliştirici dostu ortamlar sağlama taahhüdünün altını çizer.

Aşağıdaki diyagramda kapsayıcı olarak dağıtılan her Java uygulama türü için önerilen Azure hizmetleri gösterilmektedir:

Kapsayıcı olarak dağıtılan her Java uygulama türü için önerilen Azure hizmetlerini gösteren diyagram.

Bu diyagramda başvuruda bulunan hizmetler hakkında daha fazla bilgi edinmek için aşağıdaki tabloda yer alan bağlantıları kullanın:

Hizmet Kapsayıcılı Java uygulamaları için hızlı başlangıç
Azure Spring Apps Spring uygulaması dağıtma
App Service Tomcat'te Java uygulaması dağıtma
Azure Red Hat OpenShift JBoss EAP'de Java uygulaması dağıtma
Azure Kubernetes Service WebLogic Server'da Java uygulaması dağıtma
WebSphere Liberty'de Java uygulaması dağıtma
Azure Container Apps Quarkus uygulaması dağıtma

Özet

Java uygulamalarının dağıtımında gezinirken Azure, her uygulamanın gereksinimlerini karşılayacak şekilde uyarlanmış bir hizmet yelpazesi sunan ince bir A+B yaklaşımını benimser. Microsoft'un Java ekosistem liderleriyle işbirliği, her biri kaynak, ikili veya kapsayıcı olarak dağıtılan belirli Java uygulama türleri için önerilen bir Azure hizmetleri paketiyle sonuçlandı ve dağıtım işleminin akışını sağladı ve en iyi performansı sağladı. Bu odak, dağıtım stratejilerini en uygun Azure hizmetleriyle eşleştirmeye odaklanarak Microsoft'un size iş için doğru araçları seçme esnekliği sağlama taahhüdünün altını çizer. Java uygulamalarının doğal taşınabilirliği önemli bir avantajdır ve operasyonel verimliliği ve çevikliği artırmak için şirket içi sistemler ve farklı bulut sağlayıcıları arasında sorunsuz bir geçiş sağlar. Microsoft, bu daha geniş, daha kapsayıcı seçim sürecini savunarak Java uygulamaları için bulut yolculuğunu basitleştirmekle kalmaz, ölçeklenebilirlik, güvenlik, gözlemlenebilirlik ve uygun maliyetliliği de en üst düzeye çıkarır. Microsoft'un kılavuzu, geliştiricilerin ve kuruluşların Azure ekosistemini kullanmalarına yardımcı olur ve her Java uygulamasının ihtiyaçlarına en uygun bulut ortamında başarılı olmasını sağlar.

Sonraki adım

Java için Azure geliştirici belgeleri