Sie sind hier: Startseite » Markt » Tipps und Hinweise

Java-basierte Infrastruktur optimieren


Fünf Tipps, wie Sie Ihre Cloud-Kosten senken können
Ein Großteil der Unternehmens-Applikationen in der Cloud sind Java-basiert - Das macht die Java-Umgebung zum wichtigen Hebel, um Cloud-Kosten zu senken


Von Simon Ritter, Deputy CTO bei Azul

Unternehmen verlagern zunehmend Workloads in die Cloud. Doch bei allen Vorteilen entpuppt sich die neue Umgebung oft als Kostenfalle. Die meisten Unternehmen zahlen für Ressourcen, die sie gar nicht nutzen. Das hat verschiedene Gründe. CIOs müssen sicherstellen, dass Applikationen in der Cloud performant funktionieren und eine gute Nutzererfahrung bieten. Daher buchen Sie lieber zu viel als zu wenig Kapazitäten und fahren diese auch in den Nebenzeiten nicht herunter. Außerdem halten sie einen Puffer vor, um unerwartete Spitzenlasten abzufedern. So wird das Pay-per-Use-Modell, das eigentlich Kosten sparen sollte, zum Kostentreiber. Laut einer aktuellen Azul-Studie sagen 69 Prozent der weltweit befragten Unternehmen, dass sie überprovisionieren. Mehr als ein Drittel (41 Prozent) nutzen sogar weniger als 60 Prozent ihrer gebuchten Ressourcen.

Was hat Java damit zu tun? Eine ganze Menge! Denn Java ist und bleibt aufgrund der Plattformunabhängigkeit eine der beliebtesten Programmiersprachen – gerade auch in der Cloud. Fast alle Unternehmen (98 Prozent) setzen Java in ihrer Software oder Infrastruktur ein und 83 Prozent sagen, dass mindestens 40 Prozent ihrer Applikationen Java-basiert sind. 90 Prozent nutzen Java in der Public, Privat oder Hybrid Cloud. Die Java-basierte Umgebung zu optimieren ist daher ein wichtiger Hebel, um Ressourcen zu sparen und die Cloud-Kosten zu senken. Hier kommen fünf Tipps, wie das am besten gelingt.

1. Setzen Sie eine High-Performance Runtime ein
Je langsamer der Java-Code, desto mehr Ressourcen benötigt eine Applikation, damit sie schnell läuft. Indem Sie die Performance Ihrer Anwendungen verbessern, können Sie die Zahl der erforderlichen Cloud Nodes reduzieren. Eine Möglichkeit besteht darin, bestehende Applikationen zu modernisieren und neu zu designen. Dafür müssen Sie die meist großen monolithischen Architekturen in kleinere, Cloud-native Dienste umwandeln. Doch das ist aufwändig, langwierig und würde bei allen Applikationen Jahre dauern. Einfacher und schneller können Sie die Effizienz steigern, indem Sie eine High-Performance Java Runtime wie Azul Platform Prime einsetzen. So sorgen Sie für einen höheren Durchsatz, ohne dass Sie den Code Ihrer Applikationen anfassen müssen.

2. Beschleunigen Sie das Warm-up
Charakteristisch für Java-Anwendungen ist, dass sie eine Weile brauchen, bis sie ihre volle Leistung erreichen. Dieses sogenannte Warm-up hängt mit der JIT-Kompilierung (Just in Time) zusammen: Die Technologie identifiziert häufig genutzte Byte-Code-Blöcke und wandelt sie in Maschinenbefehle um, während die Anwendung ausgeführt wird. Das kostet etwas Zeit. Bei Applikationen, die tage-, wochen- oder monatelang dauerhaft laufen, fällt die Aufwärmphase nicht weiter ins Gewicht. Zum Problem wird sie aber bei Microservices, die schnell hoch- und runtergefahren werden. Gerade geschäftskritische Anwendungen müssen sofort nach dem Start einer neuen Serverinstanz sofort auf Anfragen reagieren. Um das zu gewährleisten, halten CIOs häufig einen Pool an vollständig aufgewärmten Instanzen bereit, die sie bei Bedarf zuschalten können. Diese provisionierten Ressourcen treiben die Cloud-Kosten in die Höhe. Lösen lässt sich das Warm-up-Problem mit einem schnelleren, Cloud-nativen JIT-Compiler und einem Tool, das Profile aller häufig verwendeten Codes erstellt. Darin werden sämtliche Informationen gespeichert, die für die Kompilierung wichtig sind. Wenn die Applikation dann das nächste Mal startet, ruft die JVM (Java Virtual Machine) die Profile auf und kann den Code sofort umwandeln. Dadurch verkürzt sich die Aufwärmphase erheblich.

3. Nutzen Sie Compilation as a Service
Ein weiterer Trick besteht darin, die Kompilierung in einen zentralisierten Cloud-Service zu verlagern. Auch das steigert die Performance und hat den Vorteil, dass die Microservices mit kleineren Cloud-Instanzen auskommen, weil sie nicht mehr selbst kompilieren müssen. Darüber hinaus kann der Code zwischengespeichert werden, sodass er beim nächsten Mal aus dem Cache geladen wird und schneller bereitsteht.

4. Optimieren Sie die JVM für leistungsfähige Cloud-Instanzen
Auch mit der Wahl der passenden Cloud-Instanz können Sie die Performance Ihrer Java-Anwendungen steigern. Da Java mit beliebiger Hardware und Software funktioniert, sind Sie nicht an einen bestimmten Prozessortyp gebunden. Viele Cloud Provider bieten zum Beispiel Cloud-Computing-Instanzen mit besonders leistungsfähigen Prozessoren, die auf maschinelles Lernen und KI spezialisiert sind. Sie können die JVM für diese Instanzen optimieren und im JIT Compiler entsprechende Mikroarchitekturbefehle nutzen. Beispielsweise beschleunigt die Vektorverarbeitung rechenintensive Anwendungen.

5. Vermeiden Sie Stop-the-World Garbage Collection
Ein bekanntes Performance-Problem bei Java-Anwendungen liegt in der Garbage Collection. Mit diesem automatisierten Speicherverwaltungsprozess identifiziert die JVM nicht mehr benötigte Objekte im Heap-Speicher und entfernt sie, um Speicherplatz freizugeben und die Anwendung zu stabilisieren. Dabei kann es jedoch zu sogenannten Stop-the-World-Pausen kommen: Die Applikation muss kurz angehalten werden, damit der Garbage Collector den Speicher aufräumen kann. Solche Pausen lassen sich vermeiden, indem Sie einen speziellen C4 Garbage Collection Algorithmus (Continuously Concurrent Compacting Collector) einsetzen, der parallel zur Anwendung läuft und den Speicher kontinuierlich optimiert.

Fazit
Unterm Strich ist die Rechnung einfach: Effizientere Java-Anwendungen brauchen weniger Ressourcen und sparen dadurch Cloud-Kosten. Die genannten Tipps sind nur einige Beispiele dafür, wo Sie ansetzen können. "Viele Unternehmen haben ihre bestehenden Java-Applikationen per Lift-and-Shift in die Cloud migriert und stellen jetzt fest, dass sie dort hohe Kosten verursachen. Manche überlegen deswegen sogar, Anwendungen wieder zurückzuholen. Doch es gibt viele Möglichkeiten den Ressourcenbedarf zu reduzieren, indem man die Java-Umgebung optimiert und auf eine High-Performance-Plattform setzt. Wenn man bedenkt, wie groß der Anteil Java-basierter Software und Infrastruktur in der Cloud ist, ergibt sich ein enormes Einsparpotenzial. (Azul Systems: ra)

eingetragen: 30.07.24
Newsletterlauf: 16.09.24

Azul Systems: Kontakt und Steckbrief

Der Informationsanbieter hat seinen Kontakt leider noch nicht freigeschaltet.


Kostenloser PMK-Verlags-Newsletter
Ihr PMK-Verlags-Newsletter hier >>>>>>



Meldungen: Tipps und Hinweise

  • Wirksamkeit von KI-Lösungen

    Die Vorteile der generativen KI sind in den letzten Jahren immer deutlicher geworden. Unternehmen erzielten nicht nur wertvolle Produktivitäts- und Effizienzsteigerungen, sie verbesserten auch die Arbeitsmoral, indem sie den Zeitaufwand für einfache Aufgaben reduzierten.

  • SaaS-Backup-Lösung für Microsoft 365 & Co.

    Nach Angaben von Microsoft nutzen weltweit mehr als 85 Millionen Menschen Microsoft 365. Die bekannte Office Suite bietet seinen Anwendern wichtige Software-as-a-Service (SaaS)-Funktionen wie E-Mail, Dateispeicherung oder Kollaborationsanwendungen

  • Java bleibt IT-Alltag

    Java gibt es seit 1995. Hat die Technologie bald ausgedient? Auf keinen Fall! Tatsächlich wird die Programmiersprache ihre führende Rolle behaupten - und sogar noch an Bedeutung gewinnen.

  • Risiken für SaaS-Daten

    Statista zufolge nutzen 70 Prozent der Unternehmen mit bis zu 500 Mitarbeitern (Software-as-a-Service) SaaS beziehungsweise auf Cloud Computing basierende Anwendungssoftware. Insgesamt haben durchschnittlich über alle Branchen und Unternehmensgrößen hinweg 56 Prozent der Unternehmen weltweit SaaS-Anwendungen eingeführt. Die Chancen, zu den Profiteuren dieser Cloud-Dienstleitungen zu gehören, stehen also gut.

  • Digitale Technologien im Kundenservice

    In der heutigen Geschäftswelt wird der Kundenservice immer mehr zum entscheidenden Wettbewerbsvorteil. Unternehmen, die ihren Serviceprozess optimieren, profitieren nicht nur von einer höheren Kundenzufriedenheit, sondern auch von gesteigerter Effizienz und neuen Umsatzpotenzialen. Doch der Weg dahin ist voller Herausforderungen.

  • Unternehmensweite Gen-AI-Projekte

    Viele Unternehmen beschäftigen sich bereits mit generativer KI (Gen-AI) und versuchen, damit die Produktivität zu steigern und die Benutzererfahrung zu verbessern. Fast drei Viertel der Unternehmen haben laut Accenture Künstliche Intelligenz zu ihrer obersten digitalen Investitionspriorität für 2024 gemacht.

  • Bandbreite der CNAPP-Funktionen verstehen

    Da sich viele Unternehmen von der zunehmenden Komplexität einer Cloud Computing-Lösung überfordert fühlen, haben sich Cloud Native Application Protection Platforms (CNAPP) zur Gewährleistung einer umfassenden und optimierten IT-Sicherheit etabliert.

  • Unternehmensweite Gen-AI-Projekte

    Laut der AWS-Umfrage verwenden etwa 45 Prozent der Unternehmen Gen-AI-Tools, um den Kundensupport zu verbessern, hauptsächlich durch den Einsatz von Chatbots. Zwischen 35 Prozent und 40 Prozent dieser Führungskräfte geben auch an, dass ihre Unternehmen diese Tools nutzen, um die persönliche Produktivität zu steigern oder die Softwareentwicklung zu beschleunigen (in Form von Code-Assistenten), und weitere 32 Prozent für Vertrieb und Marketing (für personalisierte Kampagnen und Angebote).

  • Einfacher Zugang zu Expertenwissen

    Muss man denn alles selber machen? In Sachen Cybersecurity war das bis vor Kurzem noch so. Heute spricht allerdings viel dafür, Teile der IT-Sicherheit an externe Dienstleister auszulagern. Ontinue, Expertin für Managed Extended Detection and Response (MXDR), nennt die fünf wichtigsten Gründe.

  • Java-basierte Infrastruktur optimieren

    Unternehmen verlagern zunehmend Workloads in die Cloud. Doch bei allen Vorteilen entpuppt sich die neue Umgebung oft als Kostenfalle. Die meisten Unternehmen zahlen für Ressourcen, die sie gar nicht nutzen. Das hat verschiedene Gründe. CIOs müssen sicherstellen, dass Applikationen in der Cloud performant funktionieren und eine gute Nutzererfahrung bieten.

Wir verwenden Cookies um unsere Website zu optimieren und Ihnen das bestmögliche Online-Erlebnis zu bieten. Mit dem Klick auf "Alle akzeptieren" erklären Sie sich damit einverstanden. Erweiterte Einstellungen