Perforce tarafından hazırlanan son 2022 Java Geliştirici Üretkenliği Raporundaki veriler, geliştirme ekiplerinin mikro hizmetlerin ve Sürekli Entegrasyon/Sürekli Dağıtım (CI/CD) uygulamalarının tam potansiyelinden henüz yararlanmadığını ortaya koyuyor. Bulgular, geliştiricilerin genellikle bu teknolojilerin üretkenliği artırmak yerine azalttığını bulduğunu gösteriyor.
CI/CD kullanıcılarının %42'si derlemenin tamamlanma sürelerinin beş dakikadan uzun olduğunu bildirdi ve en sık yanıt (%33) 10 dakikayı aşan derleme süreleri oldu. Ankete katılanların önemli bir %35'i günde beş defadan fazla kod işliyor. Bu kesinti süresi hızla birikerek uzun süreler boyunca üretkenliği etkiler.
CI/CD teknolojisi liderlik tablosu Jenkins'i (%46) açık ara lider olarak görüyor, ardından GitHub Actions (%16), Bamboo (%7), TeamCity (%4), CircleCI (%3) ve Travis CI ( %1).
Ayrıca, ankete katılan geliştiricilerin %61'i geçen yıl içinde mikro hizmet tabanlı uygulamalarının başlatma sürelerinde bir artış gözlemledi. Bu geliştiricilerin %13'ü %50'nin üzerinde bir artış yaşadı, %30'u %10-50'lik bir artış kaydetti ve %17'si %0-10'luk bir artış bildirdi. Genel olarak, yanıt verenlerin %60'ı başlangıç süresinde bir artış fark ederken, %35'lik belge değişikliği yok.
Bulgulara yanıt olarak, Perforce Software CTO'su Rod Cope, CI/CD ve mikro hizmetleri benimseyen ekiplerin, uzun taahhüt ve yeniden dağıtım sürelerinde boşa harcanan zamana bağlı olarak hala engellerle karşılaştığı yorumunu yaptı. Cope, şirketlerin işe alım zorluklarını ve azalan geliştirici moralini önlemek için Java ekiplerini uygun araçlarla donatmaya öncelik vermesi gerektiğini vurguladı. Aksi takdirde, geliştiriciler araç seti tercihlerini karşılayan kuruluşları tercih edebilir.
Mikro hizmet uygulaması kullanıcılarıyla ilgili olarak Performance'ın raporu, benzer şekilde yüksek yeniden dağıtım sürelerine işaret ediyor. Bu kullanıcıların endişe verici bir şekilde %44'ü en az beş dakikalık yeniden konuşlandırma süreleri bildirdi. JRebel by Perforce Ürün Müdürü Curtis Johnson, bu sorunu ortadan kaldırmak ve Java uygulamaları için mikro hizmet mimarisinin faydalarını en üst düzeye çıkarmak için uygun araçların uygulanmasının öneminin altını çizdi.
Katılımcılara iş günlerinde ek %10 boş zamanı nasıl ayıracakları sorulmuştur. Sadece %4'ü eğlence aktivitelerinden bahsederken, çoğunluk yeni özellikler eklemek (%28), uygulama performansını iyileştirmek (%20) veya test kapsamını genişletmek (%19) gibi işlevsel tepkilere öncelik verdi. Diğer odak alanları, geliştirme süreçlerini iyileştirme (%17), yeni projelere başlama (%6) ve lansman tarihlerini ilerletme (%6) idi.
Çalışma ayrıca, yanıt verenlerin %44'ünün şu anda tamamen mikro hizmet tabanlı uygulamalara sahip olduğunu, %44'ünün mikro hizmetlere geçiş yaptığını, %10'unun bu olasılığı tartıştığını ve yalnızca %2'sinin denediğini ancak başarısız olduğunu gösteriyor. Mikro hizmet uygulama çerçeveleri alanında Spring Boot, %74'lük baskın bir benimseme oranına sahiptir.
Geliştiricilerin birincil uygulamalarındaki mikro hizmetlerin sayısına bakıldığında, %30'u 1-5, %24'ü 5-10, %16'sı 10-20 ve %22'si 20 veya daha fazla olduğunu bildirdi. Çalışma ayrıca Java 8'in (%37) baskın kullanımı, ardından Java 11'in (%29) ve yalnızca %12'sinin Java 12 veya daha yenisini kullanması dahil olmak üzere diğer alanlardaki eğilimlerin altını çizdi.
JDK sürüm yükseltmeleri ile ilgili olarak, mevcut planları olanların %62'si önümüzdeki 12 ay içinde JDK 17'yi benimsemeyi hedefliyor. Yükseltme kararlarını belirleyen başlıca faktörler, Uzun Süreli Destek (LTS) (%25), güvenlik (%23), performans (%20), yeni özellikler (%18) ve uyumluluktur (%14).
JRE/JDK dağıtımları arasında Oracle Java (%36) ilk tercihtir ve onu Generic OpenJDK (%27) ve AdoptOpenJDK/Adoptium (%16) takip etmektedir. İnşa araçları için Maven (%68) en üst sırada yer alırken, Gradle (%23) ve Ant (%6) geride kalıyor. Tümleşik geliştirme ortamları (IDE'ler) açısından tercih edilen seçenek IntelliJ (%48), ardından Eclipse (%24) ve Visual Studio Code (%18) geliyor.
CI/CD ve mikro hizmetler, yazılım geliştirme alanındaki kritik trendler olmaya devam ediyor ve AppMaster.io gibi şirketler, kolayca web ve mobil uygulamalar oluşturmak için güçlü no-code ve low-code platformlar olarak öne çıkıyor. AppMaster , hızlı uygulama geliştirme, API yönetimi ve teknik borcu ortadan kaldırarak ve boşa harcanan zamanı azaltarak geliştiricilere güç veren yazılım geliştirmeye yönelik ölçeklenebilir, uygun maliyetli bir yaklaşım gibi yenilikçi yetenekler sunar.