Her ne kadar Java programlama dili, İnternet henüz emekleme aşamasındayken ve bulut bilişim terimi henüz mevcut olmasa da, Java uygulamalarını buluta taşımak veya orada geliştirmek mantıklıdır. Bu makale, şirket içi uygulamaları bulutta yeniden barındırmanın (kaldırma ve kaydırma) ötesindeki olasılıkları ele alıyor ve bulutta yerel geliştirme için hangi AWS (Amazon Web Services) hizmetlerinin mevcut olduğunu gösteriyor. Amazon, kendi ücretsiz Linux ve Java dağıtımıyla iyi bir temel sunuyor.
Duyuru
Genel bakış edinin ve teklifi görüntüleyin
Her iyi seyahat hazırlığında olduğu gibi, mevcut ihtiyaçlarınızı ve kaynaklarınızı gözden geçirmek ve olası tekliflere hızlı bir genel bakış elde etmek önemlidir. Ancak o zaman doğru bir strateji ve planlama oluşturulabilir. Taşınan bir uygulamanın sağlığının yanı sıra modernizasyon riskini ve fırsatını değerlendirmek için bir uygulamanın “bulut hazırlığını” belirlemek üzere çeşitli kod ölçümleri mevcuttur.
VMware’in OpenRewrite kod arama ve dönüştürme sistemini temel alan ücretsiz Bulut Uygunluk Analiz Aracı’nı kullanabilirsiniz. OpenRewrite, Java sürümüne veya Spring Boot sürümüne yapılan bir güncellemeden hangi konumların etkilendiğini kontrol etmek için kurallar tanımlar. OpenRewrite, Cloud Native Computing Foundation (CNCF) tarafından tanımlandığı gibi, bulut yerel bir uygulama için 12 faktörlü uygulama kriterlerinin tümünü nihai olarak karşılamak amacıyla gerekli değişikliklerden bazılarını otomatik olarak yapabilir, diğerleri ise yalnızca birkaç testten sonra keşfedilecektir. ). Bu amaçla otomatik yapıların veya Spring Cloud çerçevesinin kullanılması yararlı olacaktır. Spring Cloud AWS Uzantıları, kullanımı ve dolayısıyla uygulamanın bazı AWS hizmetlerine entegrasyonunu basitleştirir.
AWS şu seçenekleri sunuyor
AWS bulutuna tipik bir Java EE web uygulaması getirmek istiyorsanız bu amaca yönelik çeşitli hizmetler mevcuttur. Hangisini kullanacağınız, mevcut AWS bilginize ve ne kadar esneklik istediğinize bağlıdır. Bir Java EE web uygulamasını fazla değişiklik yapmadan AWS bulutuna getirmenin en kolay yolu, AWS Elastic Beanstalk düzenleme hizmetini kullanmaktır. Amazon Linux (AL2023) görüntüsüne sahip Amazon Elastic Compute Cloud (EC2) sanal örneklerini temel alır. Tek yapmanız gereken, Linux veya Windows çalıştıran uygun bir Amazon Machine Image (AMI) ile istediğiniz bulut sunucusu tipini seçmektir.
Elastic Beanstalk, geliştiricilerin temel AWS hizmetlerini derinlemesine incelemesine gerek kalmadan gerekli ağları ve yük dengeleyicileri kurar. Veritabanınızı yönetilen bir Amazon RDS veritabanında (MySQL, MariaDB, PostgreSQL, Oracle, SQL Server) kolayca oluşturabilir ve uygulamanızı her zamanki gibi bir WAR dosyası olarak Apache Tomcat web sunucusuna dağıtabilirsiniz. Genel olarak, AWS’de kolaylık ve esneklik arasında seçim yapmanın kolay olmadığı çok çeşitli ilişkisel veritabanı ve bilgi işlem hizmetleri bulunmaktadır (Şekil 1).
AWS çeşitli bilgi işlem ve RDS seçenekleri sunar (Şekil 1).
.Ebextensions klasöründeki kendi dosyalarınızda daha fazla yapılandırma değişikliği yapılması mümkündür. Elastic Beanstalk, sistem ortamlarının otomatik ölçeklendirilmesi, izlenmesi ve otomatik güncellenmesiyle hazır, ölçeklenebilir ve üretken bir iş akışı ortamı sunar. Alternatif olarak, Java SE uygulamaları JAR dosyaları olarak veya Java uygulamaları kapsayıcılar olarak dağıtılabilir. Ancak bu genellikle klasik bir Java EE web uygulamasının uyarlanmasını veya dağıtımın değiştirilmesini gerektirir. Web uygulaması henüz konteyner olarak mevcut değilse, Jib, buildpack veya source-to-image (S2I) gibi uygun eklentileri kullanarak bunu derlemede kendiniz oluşturabilirsiniz. Alternatif olarak Kubernetes dağıtımları için eşdeğer Eclipse JKube eklentisiyle çalışır ve AWS App Runner hizmetiyle daha da kolaydır.
Amazon Lightsail Container Service, daha küçük web uygulamaları için de uygundur. Kubernetes kümeleri için Amazon Elastic Kubernetes Service (EKS), Amazon Elastic Container Service (Amazon ECS) ve AWS Fargate sunucusuz arasından seçim yapabilirsiniz. Ancak ilkinin üretim operasyonu daha fazla bilgi ve çaba gerektirir. Ek olarak, çalışan düğümlerin yönetimi ve bölmelerin veya konteynerlerin bakımı hâlâ gereklidir.
Sunucusuz Lambda hizmeti, daha küçük olay odaklı Java uygulamaları için kullanılabilir (Şekil 2). Ancak uygulamaları JAR dosyası veya kapsayıcı görüntüsü olarak dağıtmak için kaynak kodunu Lambda hizmetinin özelliklerine uyarlamanız gerekir. Elastic Beanstalk’a benzer şekilde, Java çalışma zamanı ortamını güncelleme, önceden yapılandırılmış kaynakları yönetme ve bunların ölçeklenebilirliği konusunda endişelenmenize gerek yok çünkü AWS bu işleri halleder. Günlüğe kaydetme, izleme ve izleme için ilgili AWS hizmetleri de zaten etkin durumdadır; bu, daha sonra sorun giderme sırasında faydalı olabilir.
Bu seçenekler AWS’de bir Java web uygulaması için mevcuttur (Şekil 2).
Haberin Sonu
Duyuru
Genel bakış edinin ve teklifi görüntüleyin
Her iyi seyahat hazırlığında olduğu gibi, mevcut ihtiyaçlarınızı ve kaynaklarınızı gözden geçirmek ve olası tekliflere hızlı bir genel bakış elde etmek önemlidir. Ancak o zaman doğru bir strateji ve planlama oluşturulabilir. Taşınan bir uygulamanın sağlığının yanı sıra modernizasyon riskini ve fırsatını değerlendirmek için bir uygulamanın “bulut hazırlığını” belirlemek üzere çeşitli kod ölçümleri mevcuttur.
VMware’in OpenRewrite kod arama ve dönüştürme sistemini temel alan ücretsiz Bulut Uygunluk Analiz Aracı’nı kullanabilirsiniz. OpenRewrite, Java sürümüne veya Spring Boot sürümüne yapılan bir güncellemeden hangi konumların etkilendiğini kontrol etmek için kurallar tanımlar. OpenRewrite, Cloud Native Computing Foundation (CNCF) tarafından tanımlandığı gibi, bulut yerel bir uygulama için 12 faktörlü uygulama kriterlerinin tümünü nihai olarak karşılamak amacıyla gerekli değişikliklerden bazılarını otomatik olarak yapabilir, diğerleri ise yalnızca birkaç testten sonra keşfedilecektir. ). Bu amaçla otomatik yapıların veya Spring Cloud çerçevesinin kullanılması yararlı olacaktır. Spring Cloud AWS Uzantıları, kullanımı ve dolayısıyla uygulamanın bazı AWS hizmetlerine entegrasyonunu basitleştirir.
AWS şu seçenekleri sunuyor
AWS bulutuna tipik bir Java EE web uygulaması getirmek istiyorsanız bu amaca yönelik çeşitli hizmetler mevcuttur. Hangisini kullanacağınız, mevcut AWS bilginize ve ne kadar esneklik istediğinize bağlıdır. Bir Java EE web uygulamasını fazla değişiklik yapmadan AWS bulutuna getirmenin en kolay yolu, AWS Elastic Beanstalk düzenleme hizmetini kullanmaktır. Amazon Linux (AL2023) görüntüsüne sahip Amazon Elastic Compute Cloud (EC2) sanal örneklerini temel alır. Tek yapmanız gereken, Linux veya Windows çalıştıran uygun bir Amazon Machine Image (AMI) ile istediğiniz bulut sunucusu tipini seçmektir.
Elastic Beanstalk, geliştiricilerin temel AWS hizmetlerini derinlemesine incelemesine gerek kalmadan gerekli ağları ve yük dengeleyicileri kurar. Veritabanınızı yönetilen bir Amazon RDS veritabanında (MySQL, MariaDB, PostgreSQL, Oracle, SQL Server) kolayca oluşturabilir ve uygulamanızı her zamanki gibi bir WAR dosyası olarak Apache Tomcat web sunucusuna dağıtabilirsiniz. Genel olarak, AWS’de kolaylık ve esneklik arasında seçim yapmanın kolay olmadığı çok çeşitli ilişkisel veritabanı ve bilgi işlem hizmetleri bulunmaktadır (Şekil 1).
AWS çeşitli bilgi işlem ve RDS seçenekleri sunar (Şekil 1).
.Ebextensions klasöründeki kendi dosyalarınızda daha fazla yapılandırma değişikliği yapılması mümkündür. Elastic Beanstalk, sistem ortamlarının otomatik ölçeklendirilmesi, izlenmesi ve otomatik güncellenmesiyle hazır, ölçeklenebilir ve üretken bir iş akışı ortamı sunar. Alternatif olarak, Java SE uygulamaları JAR dosyaları olarak veya Java uygulamaları kapsayıcılar olarak dağıtılabilir. Ancak bu genellikle klasik bir Java EE web uygulamasının uyarlanmasını veya dağıtımın değiştirilmesini gerektirir. Web uygulaması henüz konteyner olarak mevcut değilse, Jib, buildpack veya source-to-image (S2I) gibi uygun eklentileri kullanarak bunu derlemede kendiniz oluşturabilirsiniz. Alternatif olarak Kubernetes dağıtımları için eşdeğer Eclipse JKube eklentisiyle çalışır ve AWS App Runner hizmetiyle daha da kolaydır.
Amazon Lightsail Container Service, daha küçük web uygulamaları için de uygundur. Kubernetes kümeleri için Amazon Elastic Kubernetes Service (EKS), Amazon Elastic Container Service (Amazon ECS) ve AWS Fargate sunucusuz arasından seçim yapabilirsiniz. Ancak ilkinin üretim operasyonu daha fazla bilgi ve çaba gerektirir. Ek olarak, çalışan düğümlerin yönetimi ve bölmelerin veya konteynerlerin bakımı hâlâ gereklidir.
Sunucusuz Lambda hizmeti, daha küçük olay odaklı Java uygulamaları için kullanılabilir (Şekil 2). Ancak uygulamaları JAR dosyası veya kapsayıcı görüntüsü olarak dağıtmak için kaynak kodunu Lambda hizmetinin özelliklerine uyarlamanız gerekir. Elastic Beanstalk’a benzer şekilde, Java çalışma zamanı ortamını güncelleme, önceden yapılandırılmış kaynakları yönetme ve bunların ölçeklenebilirliği konusunda endişelenmenize gerek yok çünkü AWS bu işleri halleder. Günlüğe kaydetme, izleme ve izleme için ilgili AWS hizmetleri de zaten etkin durumdadır; bu, daha sonra sorun giderme sırasında faydalı olabilir.
Bu seçenekler AWS’de bir Java web uygulaması için mevcuttur (Şekil 2).
Haberin Sonu