Aracılığıyla paylaş


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 yapın ( uygulama oluşturma, çerçeve kullanma ve uygulama sunucusu çalıştırma) 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.

Java uygulamanızı çalıştırmak için genellikle uygulamalarınızı çalıştıran java sanal makinesinin (JVM) bir örneği olan bir uygulama sunucusuna dağıtırsınız. İsterseniz, katıştırılmış bir uygulama sunucusuyla tek başına bir uygulama da oluşturabilirsiniz. Her iki durumda da uygulama sunucusu, istemci isteğine dinamik, özelleştirilmiş bir yanıt döndürmek için Web kapsayıcılarıyla işbirliği yaparak ortak uygulama altyapısı ve işlevsel özellikler sağlar. İstemci isteği, servlet'ler, dinamik sayfalar, kurumsal çekirdekler, destekleyici sınıflar, bağımlı kitaplıklar ve veri sürücüleri içerebilen yazılım bileşenleri kullanılarak işlenebilir.

Tomcat, JBoss EAP, WildFly, WebLogic ve WebSphere popüler uygulama sunucularıdır. Benzer şekilde Spring Boot, Quarkus ve Open Liberty, tümleşik uygulama sunucularıyla tek başına uygulamalar oluşturmaya yönelik popüler çerçevelerdir. Azure desteği, herhangi bir Java uygulama sunucusunu kullanmanıza ve Java uygulamanızı güvenle ve kolayca dağıtmanıza olanak tanır.

Spring Boot veya Java uygulamasını herhangi bir uygulama sunucusuna dağıtma - Tomcat ve Jakarta EE

Azure ile java'nın herhangi bir sürümünü ve herhangi bir dağıtımını ve herhangi bir uygulama sunucusunu kısıtlama olmadan ve kendi fiziksel altyapınızı yönetmek zorunda kalmadan çalıştırabilirsiniz. Sanal makineler, kapsayıcılar ve tam olarak yönetilen hizmetler gibi seçeneklerle ne kadar denetim istediğinize veya Azure'ın sizin için ne kadar günlük yönetim işleyeceğine siz karar verirsiniz. VMware Spring Runtime, Red Hat JBoss EAP, Oracle WebLogic Server veya IBM WebSphere, Liberty veya OpenLiberty gibi ticari olarak desteklenen Java uygulama sunucuları veya çerçeveleri kullanıyorsanız Azure, hepsi için ortak olarak geliştirilmiş ve desteklenen teklifler sunar.

Dağıtım seçenekleri

Azure, Hizmet olarak altyapı (IaaS), hizmet olarak kapsayıcılar (CaaS) ve hizmet olarak platform (PaaS) barındırma hizmetleri dahil olmak üzere Java uygulamaları için çok sayıda dağıtım seçeneği sunar. Mevcut Java uygulamalarını sanal makinelere (VM' ler) taşıyabilir, birden çok yolla kapsayıcıya alabilir veya yönetim kolaylığı, geliştirici ve operasyonel üretkenlik ile toplam sahip olma maliyetini iyileştirmek için bunları tam olarak yönetilen PaaS hizmetlerine dağıtabilirsiniz.

VM'ler ve kapsayıcılar

Azure'da sanal makinelere veya kapsayıcılara dağıttığınızda Java'nın herhangi bir dağıtımını ve sürümünü ve herhangi bir uygulama sunucusunu kullanabilirsiniz. Seçim tamamen size kalmış. Altyapıyı ve bileşenlerini el ile yapılandırmanız gerektiğini unutmayın. Bu kategoriye giren dağıtım seçenekleri şunlardır:

  • Azure Sanal Makineler, bunu çalıştıran fiziksel donanımı satın almak ve bakımını yapmak zorunda kalmadan sanallaştırma esnekliği sağlar. Ancak, üzerinde çalışan yazılımı yükleyerek, yapılandırarak ve düzeltme eki ekleyerek VM'nin bakımını yapmanız gerekir.

  • Azure Sanal Makine Ölçek Kümeleri, yük dengeli bir vm grubu oluşturmanıza ve yönetmenize olanak tanır. Tanımlı bir zamanlamaya veya talebe yanıt olarak sanal makine örneği sayısı otomatik olarak artabilir ya da azalabilir.

  • Azure Kubernetes Service (AKS), bakım ve sistem durumu izleme gibi kritik görevler de dahil olmak üzere tüm operasyonel ek yükü işleyerek yönetilen kubernetes kümesini dağıtmayı basitleştirir. AKS, olay odaklı otomatik ölçeklendirme ve KEDA tetikleyicileri de dahil olmak üzere kapasitenin esnek bir şekilde sağlanmasını destekler.

  • Azure Red Hat OpenShift, isteğe bağlı olarak yüksek oranda kullanılabilir, tam olarak yönetilen OpenShift kümeleri sağlar. OpenShift, Kubernetes'i tamamlayıcı nitelikte katma değerli özellikler seçerek gelişmiş geliştirici ve operatör deneyimi sunan anahtar teslimi bir kapsayıcı platformu sunar.

Tüm bu IaaS ve CaaS hizmetlerine herhangi bir Java çalışma zamanı dağıtabilirsiniz ancak aşağıdaki çalışma zamanlarından birini kullanmanızı öneririz:

Bu derlemelerin her ikisi de yerel geliştirme ve test için ve herhangi bir platform veya DevOps aracı kullanarak üretime hazır ikili dosyalar oluşturmak için ücretsiz olarak sunulur ve lisans ücreti ödemeye gerek yoktur. Kolaylık sağlamak için bunları öneririz. Bu derlemelerden birini kullandığınızda, herhangi bir sorununuz varsa ve Azure için uygun bir destek planınız varsa, daha fazla maliyet olmadan bir Azure desteği bileti açabilirsiniz. Bununla birlikte, bu önerilerin, destek kolaylığı için OpenJDK'nin diğer çeşitli serbest kullanılabilir derlemeleri arasında önerdiğimiz seçenekler olduğunu belirtmek gerekir. Daha fazla bilgi için bkz . Azure ve Azure Stack'te Java desteği.

Diagram with the heading 'Build or Migrate Java Apps' and a chart showing the relationship between Java technologies and Azure service categories.'Java Uygulamalarını Derle veya Geçir' başlığı ve Java teknolojileri ile Azure hizmet kategorileri arasındaki ilişkiyi gösteren grafik içeren diyagram.

Tüm bu IaaS ve CaaS dağıtım seçenekleri Apache Tomcat uygulama sunucusunu kolayca dağıtmanıza olanak sağlar. VMware'den Spring Runtime, Red Hat'ten JBoss EAP, Oracle'dan WebLogic Server veya IBM'den WebSphere gibi ticari bir teklif kullanıyorsanız Azure, bu satıcılardan da ortak olarak geliştirilen ve desteklenen barındırma seçenekleri sunar. Bunlar daha sonra Java ekosistemi iş ortaklarıyla birlikte derlenen ve desteklenen çözümler kapsamında ele alınmıştır.

Tam olarak yönetilen (PaaS) hizmetler

Azure'da Java uygulamalarını çalıştırmak için tam olarak yönetilen PaaS hizmetleri aşağıdaki seçenekleri içerir:

Azure Uygulaması Hizmeti ve kod veya ikili dosyalar (JAR/WAR) olarak dağıtılan Azure Container Apps için Java çalışma zamanları Microsoft tarafından sağlanır ve korunur. Yalnızca Eclipse Adoptium Temurin for Java 8 ve Microsoft Build of OpenJDK for Java 11 ve 17 kullanarak OpenJDK'nin LTS dağıtımlarını destekler. Buna göre, bazı uyarılar vardır; örneğin, birlikte geliştirilen ve desteklenen iş ortağı tekliflerimiz (daha sonra ele alınmalıdır) kendi çalışma zamanlarını kullanır.

Kendi kapsayıcı görüntülerinizden oluşturulan Azure Container Apps için, kaynak koddan kendi kapsayıcı görüntülerinizi oluşturmanız ve yönetmeniz gerektiğinden, istediğiniz Java dağıtımını ve sürümünü ve uygulama sunucusunu kullanabilirsiniz.

Sunucusuz işlevler

Bazen bir Java uygulamasının tamamına ihtiyacınız olmaz. Örneğin, gerçek zamanlı veri işleme için büyük ölçekte tetiklenebilen küçük bir kod parçasına (belki de milyonlarca olay tarafından) ihtiyacınız olabilir. Bu tür olaylar Azure Event Hubs aracılığıyla alınıp, Azure İşlevleri ölçeğinde çalışan olay odaklı sunucusuz Java koduyla işlenebilir ve Azure Cosmos DB gibi bir veri deposuna kaydedilebilir.

Java ekosistem iş ortaklarıyla birlikte derlenen ve desteklenen çözümler

Microsoft, Ortak olarak geliştirilen ve desteklenen yönetilen hizmetlerden popüler Java uygulama sunucuları için Azure Market tekliflerine kadar, Azure'da Java çalıştırmaya yönelik sınıfının en iyi çözümlerini sunmak için Java ekosistemindeki önde gelen satıcılarla işbirliği yaptı. Ayrıca, bu belgenin ilerleyen bölümlerinde ele alınan popüler uygulama izleme araçlarını da tümleştirdik.

Diagram with the heading 'Leverage the benefits of our strong partner ecosystem' and logos for the partners described in this article.Bu makalede açıklanan iş ortakları için 'Güçlü iş ortağı ekosistemimizin avantajlarından yararlanın' başlığına ve logolara sahip diyagram.

JBoss EAP (Red Hat)

Red Hat, kuruluş için açık kaynak çözümler sağlar. Bu çözümlerden biri, Hem Web Profili hem de Tam Platformda Java EE Sertifikalı ve Jakarta EE Uyumlu popüler bir uygulama sunucusu platformu olan JBoss Enterprise Application Platform (EAP) çözümüdür. Red Hat ayrıca Java standartları, OpenJDK, MicroProfile, Jakarta EE ve Quarkus için katkıda bulunur.

Azure Uygulaması Hizmetinde Red Hat JBoss Enterprise Application Platform (EAP) sunmak için Red Hat ile işbirliği yaptık. Java geliştiricilerinin jakarta EE uygulamalarını ayrı bir Red Hat aboneliğine veya her iki şirketten tümleşik destekle lisansa gerek kalmadan App Service'e dağıtmasını sağladık. Ayrıca Azure VM'lerde, Azure VM Ölçek Kümelerinde ve Azure RedHat OpenShift (ARO) üzerinde JBoss EAP için benzer ortak teklifler başlattık. Bu teklifler Microsoft ve Red Hat tarafından da ortak olarak işletilmektedir.

WebLogic Server (Oracle)

Azure VM'lerinde Oracle WebLogic Server (WLS) ve Azure Kubernetes Service üzerinde Oracle WebLogic Server sunmak için Oracle ile işbirliği yaptık. Bu çözümler sanal ağları/depolamayı sağlama, Linux/Java kaynaklarını yükleme, WebLogic Server'ı ayarlama ve ağ güvenlik grubuyla güvenliği yapılandırma gibi ortak işlemleri otomatikleştirerek Azure'a kolay geçişleri kolaylaştırır.

WebSphere/Liberty/Open Liberty (IBM)

Azure VM'lerinde WebSphere Uygulama Sunucusu (WAS), Azure Kubernetes Service'te WebSphere Liberty ve Open Liberty ve Azure Red Hat OpenShift üzerinde WebSphere Liberty ve Open Liberty için birlikte çözümler geliştiren IBM ile işbirliği yaptık. Daha fazla bilgi için bkz. IBM WebSphere ürün ailesini Azure'da çalıştırmaya yönelik çözümler nelerdir? Bu çözümler WebSphere iş yüklerinin Azure'a kolayca geçirilmesini sağlar ve yüksek oranda kullanılabilir bir WebSphere kümesi ayarlamak için gereken kaynak sağlama görevlerinin çoğunu otomatikleştirir. İş ortaklığı, görev açısından kritik iş yüklerinden buluta özel uygulamalara kadar çeşitli kullanım örneklerini kapsar.

Confluent Bulutu üzerinde Apache Kafka (Confluent)

Geçmişte Confluent'in Kafka hizmetini kullanmak isteyen Azure müşterilerinin Azure ve Confluent Cloud'da kaynakları ve kullanıcıları ayrı ayrı oluşturup yönetmesi gerekiyordu. Confluent ve Microsoft, bu acıyı hafifletmek için, Azure portalı, Azure CLI veya Azure Yönetim SDK'ları aracılığıyla Confluent Bulut kaynakları oluşturma ve yönetme özelliği de dahil olmak üzere tam olarak yönetilen bir hizmet olarak Apache Kafka sağlayan Azure Market bir teklif olan Confluent Cloud için Apache Kafka'yı sunmak için iş ortaklığı yaptı.

Günümüzde müşteri deneyimi daha basit, daha güvenli ve daha sorunsuzdur. Müşteriler birleşik bir iş akışının parçası olarak Confluent Bulut kaynaklarını ve Azure kaynaklarını sağlayabilir ve yönetebilir ve Azure İşlevleri, Azure Blob Depolama, Azure Event Hubs, Azure Data Lake Storage 2. Nesil ve Microsoft SQL Server için oluşturulmuş tam olarak yönetilen bağlayıcılardan yararlanabilir. Geliştiriciler Apache Kafka istemci kitaplıklarını kullanarak koda devam edebilir.

Özet

Bu tekliflerin birçoğu için ortaklarla ortak geliştirme sürekli ve sürekli bir çabadır. İş ortaklarımız tekliflerinde yenilik yapmaya devam ettikçe, müşterilerin Java uygulamalarını güvenle ve kolayca dağıtabilmesi ve ölçeklendirebilmesi için bu yenilikleri hızla Azure'a getirmek için onlarla yakın bir şekilde çalışıyoruz.

Özetle, Java ile ne yaptığınıza bakılmaksızın iş yükünüzü birçok seçenekle Azure desteği. VM'lerde veya kapsayıcılarda çalışan monolitik uygulamalardan tam olarak yönetilen hizmetlerde çalışan buluta özel mikro hizmet tabanlı uygulamalara kadar herhangi bir Java uygulaması oluşturabilir, herhangi bir çerçeve kullanabilir, herhangi bir uygulama sunucusunu çalıştırabilir ve herhangi bir uygulama mimarisini destekleyebilirsiniz.

Diagram with the heading 'Deploy Java applications with confidence and ease' and logos for the deployment options described in this article.Bu makalede açıklanan dağıtım seçenekleri için 'Java uygulamalarını güvenle ve kolayca dağıtma' başlığı ve logolar içeren diyagram.

Sonraki adım

Uçtan uca güvenlik, izleme ve otomasyon ile ölçeklendirme