{"id":93285,"date":"2026-05-19T19:53:30","date_gmt":"2026-05-19T19:53:30","guid":{"rendered":"https:\/\/www.azul.com\/?post_type=article&#038;p=93285"},"modified":"2026-05-26T15:49:22","modified_gmt":"2026-05-26T15:49:22","slug":"azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws","status":"publish","type":"article","link":"https:\/\/www.azul.com\/zh-hans\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/","title":{"rendered":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Architects working on AWS spend a lot of time&nbsp;aligning&nbsp;their workloads to the Well-Architected Framework. They review instance types, autoscaling behavior, resilience patterns, observability, IAM boundaries, deployment pipelines, and cost controls. They debate&nbsp;the&nbsp;trade-offs between&nbsp;managed services&nbsp;and&nbsp;self-managed components, horizontal&nbsp;or&nbsp;vertical scaling, and whether a design will&nbsp;still behave correctly&nbsp;under failure or growth. That is exactly what the framework&nbsp;is&nbsp;designed&nbsp;to encourage. But there is a gap in many of those reviews&nbsp;\u2014&nbsp;one that is surprisingly common in Java environments. The&nbsp;Java Virtual Machine (JVM)&nbsp;is often not part of the conversation at all.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That omission matters more than many teams realize. AWS is clear that neglecting any of the six pillars makes it harder to build a system that&nbsp;delivers on&nbsp;expectations and requirements. Yet&nbsp;most&nbsp;Java teams will spend weeks tuning infrastructure and platform choices while treating the&nbsp;Java&nbsp;runtime as a fixed background dependency. In&nbsp;practice, the&nbsp;Java&nbsp;runtime&nbsp;shapes&nbsp;throughput, tail latency, warmup behavior, memory efficiency, CPU usage, operational consistency, and the quality of runtime diagnostics available during troubleshooting. If those&nbsp;factors&nbsp;influence system behavior, then ignoring the JVM creates a blind spot in the Well-Architected review itself.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is the main point I want to make here. I am not&nbsp;claiming&nbsp;that&nbsp;the&nbsp;JVM replaces architecture. It does not. I am also not&nbsp;claiming&nbsp;that&nbsp;switching runtimes magically makes a workload&nbsp;\u201cWell-Architected\u201d&nbsp;\u2014&nbsp;it will not. What I am arguing is simpler and, in my view, harder to dismiss: for Java workloads on AWS, the runtime is&nbsp;<em>part&nbsp;<\/em>of the architecture.<mark style=\"background-color:#ffffff\" class=\"has-inline-color\">&nbsp;For&nbsp;architects&nbsp;who&nbsp;take the six AWS&nbsp;Well-Architected Framework pillars seriously, they should not&nbsp;overlook&nbsp;a layer that can materially affect all six, and in some cases affect them&nbsp;significantly.<\/mark> [1]&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-missing-layer-in-many-aws-java-reviews\"><a name=\"themissinglayerinmanyawsjavareviews\"><\/a>The missing layer in many AWS Java reviews<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most&nbsp;striking&nbsp;things about AWS architecture reviews is how much effort goes into optimizing everything around the application. Teams will analyze EC2 families, Graviton migration, EKS scaling policies, service mesh choices, storage tiers, network boundaries, and observability dashboards. But in many Java estates, they still run the default JVM choice without&nbsp;stopping to ask a more fundamental question: is the runtime itself helping or hurting the outcomes&nbsp;they are trying to achieve?&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where&nbsp;I think many Well-Architected reviews&nbsp;are incomplete. If you are reviewing a Java workload for performance efficiency, but you are not asking how efficiently the JVM converts CPU cycles into business throughput, the review is incomplete. If you are reviewing cost optimization, but you are not asking how much runtime overhead is spent on compilation, warmup, and GC behavior across a fleet, the review is incomplete. If you are reviewing operational excellence, but you are not asking whether the runtime provides enough observability to&nbsp;identify&nbsp;root cause quickly in production, the review is incomplete. The same logic carries into reliability, security, and sustainability.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is&nbsp;precisely&nbsp;why I think the JVM belongs&nbsp;in&nbsp;the AWS Well-Architected discussion. In cloud-native Java systems, runtime behavior is not just an&nbsp;implementation&nbsp;detail. It affects how quickly services stabilize after startup, how efficiently they scale, how&nbsp;predictable they are under load, and how easy they are to diagnose when things go wrong. Those are architectural outcomes, not low-level trivia.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-the-jvm-belongs-in-the-well-architected-discussion\"><a name=\"whythejvmbelongsinthewellarchitecteddiscussion\"><\/a>Why the JVM belongs in the Well-Architected discussion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#ffffff\" class=\"has-inline-color\">The easiest way to underestimate the JVM is to think of it as plumbing.&nbsp;In reality, it&nbsp;is one of the most consequential moving parts&nbsp;in&nbsp;a Java system.<\/mark><strong><mark style=\"background-color:#ffffff\" class=\"has-inline-color\"> <\/mark><\/strong>The JIT compiler influences steady-state performance. The garbage collector influences latency consistency. Warmup behavior influences startup and scale-out efficiency. Runtime observability&nbsp;influences&nbsp;how quickly&nbsp;engineers&nbsp;can&nbsp;detect&nbsp;unexpected behavior in production.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observability is especially important here. AWS frames operational excellence around building software correctly while consistently delivering a great customer experience, and that includes designing and operating workloads effectively at scale. In real Java systems, many of the hardest production issues do not&nbsp;show&nbsp;up&nbsp;cleanly&nbsp;at the application framework level. They show up as CPU spikes, lock contention, allocation pressure, compilation effects, or latency outliers that cannot be explained from infrastructure metrics alone.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is one&nbsp;reason&nbsp;I&nbsp;think&nbsp;Java Flight Recorder (JFR)&nbsp;and profiling&nbsp;belong in&nbsp;this discussion. Azul Prime supports Java Flight Recorder, and JFR gives teams a structured way to see what the runtime is doing. [2] Azul Mission Control can&nbsp;analyze&nbsp;those recordings, and async-profiler support makes it easier to capture useful low-overhead production data in JFR-compatible form. That does not just help performance engineers. It helps operators, SREs, platform teams, and architects move from symptoms to root causes faster. A workload is easier to&nbsp;operate&nbsp;well when the runtime is observable enough to explain itself.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So&nbsp;when I say the JVM belongs&nbsp;in&nbsp;a Well-Architected review, I do not just&nbsp;mean&nbsp;that&nbsp;it can make things faster. I&nbsp;mean&nbsp;that&nbsp;it can make a workload easier to understand, easier to&nbsp;optimize, and easier to&nbsp;operate. That is a much broader and more interesting argument.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-a-quick-refresher-on-the-six-aws-pillars\"><a name=\"aquickrefresheronthesixawspillars\"><\/a>A quick refresher on the six AWS pillars<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AWS describes the Well-Architected Framework&nbsp;as a way to&nbsp;understand the pros and cons of decisions made while building&nbsp;systems, and&nbsp;warns that neglecting the six pillars can make it challenging to build a system that delivers on expectations and&nbsp;requirements. Those six pillars are operational excellence, security, reliability, performance efficiency, cost optimization, and sustainability.&nbsp;Together, they help teams build&nbsp;stable and efficient systems.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Operational Excellence<\/strong>&nbsp;is AWS\u2019s commitment to building software correctly while consistently delivering a great customer experience. It covers how teams organize, design workloads, operate them at scale, and evolve them over time. For Java systems, that&nbsp;immediately&nbsp;raises runtime questions because the JVM is often where&nbsp;much of the&nbsp;operational friction&nbsp;tends to accumulate \u2014 warmup, GC behavior, JIT activity, thread scheduling, and the need for deep diagnostics when incidents happen.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Security<\/strong>&nbsp;is AWS\u2019s ability to protect data, systems, and assets while using cloud technologies to improve security. In Java environments, this is not only about IAM or network controls. It also includes whether the runtime is supported, patched, governed consistently, and treated as part of the&nbsp;workload\u2019s&nbsp;supply chain rather than as an invisible dependency nobody owns.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reliability<\/strong>&nbsp;is the ability of a workload to perform its intended function correctly and consistently when expected. AWS explicitly includes operating and testing the workload throughout its entire lifecycle. In practice, many reliability issues in Java systems begin as runtime instability&nbsp;\u2013&nbsp;latency spikes, pauses, warmup inconsistency, or noisy scaling behavior that eventually&nbsp;surface&nbsp;as failed requests or&nbsp;breached&nbsp;service&nbsp;levels.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Performance Efficiency<\/strong>&nbsp;is the ability to use cloud resources efficiently to meet performance requirements and&nbsp;maintain&nbsp;that efficiency as demand changes and technologies evolve. This is where JVM choice has the most obvious&nbsp;impact, because&nbsp;the runtime directly influences throughput, response&nbsp;time,&nbsp;CPU efficiency, and how quickly an application reaches&nbsp;optimized&nbsp;steady state.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cost Optimization<\/strong>&nbsp;is the ability to run systems to deliver business value at the lowest price point. For Java workloads, that means cloud cost cannot be separated from runtime efficiency. If the JVM uses fewer resources to do the same work, reaches peak performance faster, or reduces the&nbsp;excess capacity needed as a buffer,&nbsp;then it is contributing directly to the cost pillar.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sustainability<\/strong>&nbsp;focuses on environmental impacts, especially energy consumption and efficiency, as levers architects can use to reduce resource usage. That makes runtime efficiency relevant here,&nbsp;too. If the same Java workload can meet its requirements with fewer cores, fewer instances, or less CPU wasted on&nbsp;repetitive optimization work, that is not just a cost improvement&nbsp;\u2013&nbsp;it is also a sustainability improvement.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With that framework in mind, the interesting question is not whether the JVM touches the six pillars. It clearly does. The more useful question is how strongly it affects each one, and where Azul Prime can make the biggest difference.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-performance-efficiency-where-jvm-choice-has-the-clearest-impact\"><a name=\"performancefficiencywherejvmchoicehastheclearestimpact\"><\/a>Performance Efficiency: Where JVM choice has the clearest impact<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This&nbsp;pillar&nbsp;makes&nbsp;the strongest case&nbsp;for&nbsp;Azul Prime.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AWS defines performance efficiency as the ability to use cloud resources efficiently to meet performance requirements and&nbsp;maintain&nbsp;that efficiency as demand changes and technologies evolve. [3] That is&nbsp;almost a&nbsp;perfect description of why JVM choice matters in Java workloads. A runtime that delivers more throughput, more predictable latency, and faster convergence to steady-state performance is using cloud resources more efficiently.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azul Prime is built&nbsp;for exactly&nbsp;this kind of problem. Azul&nbsp;Prime\u2019s&nbsp;Zing JVM combines&nbsp;the&nbsp;Falcon&nbsp;JIT compiler&nbsp;and C4&nbsp;garbage collector&nbsp;to improve both code execution and latency consistency. [4] Falcon is designed to generate high-performance machine code. C4 is designed to avoid the classic&nbsp;\u201cstop-the-world&#8221;&nbsp;pause&nbsp;behavior&nbsp;that becomes increasingly painful in large, latency-sensitive Java deployments. [5] Prime also brings&nbsp;ReadyNow&nbsp;and Optimizer Hub into the picture, which means this is not just about the speed of a single JVM after it has been running for a long time. It is about how quickly and consistently a workload can reach optimized behavior across a fleet.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That distinction matters&nbsp;on&nbsp;AWS. In a static environment, teams can sometimes tolerate mediocre warmup because it is amortized over long uptime. In elastic AWS environments, fresh JVMs appear all the time. Pods get rescheduled, nodes get recycled, deployments happen&nbsp;frequently, and autoscaling introduces new capacity under pressure. In those environments, performance efficiency is not only about the eventual peak speed of the code. It is also about the path the workload takes to get there. Prime improves that path.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This argument&nbsp;is&nbsp;no longer theoretical. <a href=\"https:\/\/www.azul.com\/blog\/apache-kafka-performance-on-azul-platform-prime-vs-vanilla-openjdk\/\">In our Kafka benchmark<\/a>, the&nbsp;results were clear&nbsp;&#8211;&nbsp;simply switching the underlying JVM can materially change throughput with minimal engineering effort. That matters because Kafka is a good example of the kind of large-scale Java system where the runtime is not a footnote. It is part of the performance architecture.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cost-optimization-where-better-jvm-behavior-changes-the-economics\"><a name=\"costoptimizationwherebetterjvmbehaviorchangestheeconomics\"><\/a>Cost Optimization: Where better JVM behavior changes the economics<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AWS&nbsp;defines&nbsp;cost optimization&nbsp;as&nbsp;delivering business value at the lowest price point. [6] That sounds obvious, but in practice many cloud cost discussions stay too close to the infrastructure layer. Teams talk about reserved capacity, Spot usage, Graviton migration, rightsizing, and storage tiers. All of&nbsp;that matters. But for Java workloads, cost is also shaped by how efficiently the runtime turns infrastructure&nbsp;spend&nbsp;into useful work.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where this becomes really interesting is in horizontally scaled environments.&nbsp;Modern AWS workloads are rarely static. They scale out, restart, redeploy, and replace capacity constantly. In those environments, one of the hidden taxes is repeated optimization work. Each JVM spends CPU rediscovering profiles, compiling methods, and working toward a state that other JVMs in the cluster may already have reached earlier.&nbsp;It is runtime overhead showing up as&nbsp;cloud&nbsp;spend.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why I see Optimizer Hub as one of the most important parts of the story. Optimizer Hub can offload JIT compilation and share optimization knowledge across the fleet. [7] Cloud Native Compiler moves JIT work to dedicated resources instead of making every client JVM pay the full local cost. [8] ReadyNow Orchestrator records and serves profiles in a way that makes&nbsp;ReadyNow&nbsp;operationally practical in large fleets of containerized environments. [9] That combination changes the economics of horizontal scale because compiled knowledge and warmup history stop being local, disposable artifacts and start becoming reusable fleet-level assets.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is a very AWS-relevant idea. If workloads are elastic, repeated local warmup and repeated local JIT work can become an invisible cost multiplier. Optimizer Hub helps break that pattern. And that is why it belongs naturally in a cost optimization conversation, not just in a performance tuning conversation.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#ffffff\" class=\"has-inline-color\">This is&nbsp;why&nbsp;performance&nbsp;and cost&nbsp;should not be treated&nbsp;as separate discussions. Better steady-state code from Falcon can increase carrying capacity. Better latency consistency from C4 can reduce the need for defensive overprovisioning. Faster warmup can reduce the period during which fresh instances are consuming compute without yet delivering their full business value.&nbsp;All of&nbsp;those effects change the cost profile of a Java workload on AWS.&nbsp;&nbsp;<\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It also aligns well with how we talk about cloud cost optimization more broadly. The cost question should not only be \u201cWhich AWS service is cheaper?\u201d It should also be&nbsp;\u201cHow much useful business work are we getting from the compute we already pay for?\u201d&nbsp;For Java on AWS, Azul Prime gives a much better answer to that question than most teams assume.&nbsp;[10]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-operational-excellence-fewer-surprises-better-diagnostics-faster-root-cause-analysis\"><a name=\"operationalexcellencefewersurprisesbetterdiagnosticsfasterrootcauseanalysis\"><\/a>Operational Excellence: Fewer surprises, better diagnostics, faster root cause analysis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AWS defines operational excellence as a commitment to building&nbsp;software correctly while consistently delivering a great customer experience. It includes designing the workload,&nbsp;operating&nbsp;it at scale, and evolving it over time. [11] That is exactly where many Java organizations feel the pain of runtime behavior.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Java teams do not only debug application bugs. They debug startup effects, compilation transitions, GC behavior, lock contention, allocation spikes, and production incidents where the application seems \u201cslow\u201d but nobody can explain why from infrastructure metrics alone. In many organizations, the platform team sees CPU, the SRE team sees latency, the developer team sees no obvious bug, and the runtime&nbsp;remains&nbsp;a blind spot in the middle. That is not&nbsp;operational&nbsp;excellence. That is fragmented troubleshooting.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azul Prime improves this in two ways. First, it reduces a category of operational surprises by making runtime behavior more predictable&nbsp;\u2014&nbsp;especially around warmup and latency consistency.&nbsp;Second, it improves the ability to diagnose what is actually happening inside the JVM.&nbsp;JFR, Azul Mission Control, and async-profiler support give teams better visibility into what the runtime is doing so they can&nbsp;identify&nbsp;root cause faster and with more confidence.&nbsp;[12]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is more important than it may sound. A workload is easier to&nbsp;operate&nbsp;when teams can answer practical questions quickly. Why do new pods perform differently just after scale-out? Why is CPU higher after deployment? Why does one subset of instances stabilize faster than another? Why does the service only miss its latency&nbsp;objective&nbsp;during ramp-up? Those are AWS operations questions, but in Java workloads the answers often live inside the runtime.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is why&nbsp;runtime observability&nbsp;belongs much more centrally&nbsp;in&nbsp;architecture reviews. Architects often care deeply about dashboards, traces, and logs, but if the JVM layer is opaque, they still miss part of the operational picture. Prime makes that layer both more stable and more visible, which is exactly what operational excellence needs.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-reliability-because-runtime-stability-often-becomes-a-reliability-issue\"><a name=\"reliabilitybecauseruntimeinstabilityoftenbecomesareliabilityissue\"><\/a>Reliability: Because runtime stability often becomes a reliability issue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AWS defines reliability as the ability of a workload to perform its intended function correctly and consistently when expected to&nbsp;do so,&nbsp;throughout its entire&nbsp;lifecycle. [13] That is a broad and important definition. It also&nbsp;points to something&nbsp;many teams learn the hard way: in Java systems, performance instability often turns into reliability incidents.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A long pause, a heavy warmup period, or erratic runtime behavior may begin as a performance problem, but users do not experience it that way. They experience failed requests, timeouts, retry storms, queue growth, noisy autoscaling, or inconsistent service behavior. Reliability issues are often the operational form of runtime inefficiency.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azul Prime does not replace good AWS reliability design. You still need proper service boundaries, resilience patterns, health checks, tested recovery, and sound deployment practices. But Prime can remove a meaningful category of runtime-induced instability.&nbsp;The&nbsp;C4&nbsp;garbage collector&nbsp;is designed to&nbsp;maintain&nbsp;high throughput and low latency even with large heap sizes, and that consistency matters because predictable systems are easier to scale, alert on, and recover around than systems with sharp latency pathologies.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is one of the most understated benefits of a better JVM. The value is not only&nbsp;higher&nbsp;benchmark numbers, but in&nbsp;fewer situations where runtime behavior leaks upward and destabilizes the service.&nbsp;The result is better reliability, even when nothing in the application architecture has changed.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-security-not-the-main-story-but-still-part-of-a-well-architected-runtime-strategy\"><a name=\"securitynotthemainstorybutstillpartofawellarchitectedruntimestrategy\"><\/a>Security: Not the main story, but still part of a Well-Architected runtime strategy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Security is&nbsp;probably the&nbsp;weakest&nbsp;connection to&nbsp;this article\u2019s central argument, but it still matters. AWS defines security as protecting data, systems, and assets while using cloud technologies to improve security.&nbsp;[14] For&nbsp;Java systems,&nbsp;the runtime should&nbsp;not&nbsp;be oversold here. Prime is not primarily a security product. But it is still part of the&nbsp;workload\u2019s&nbsp;software supply chain and runtime governance model.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That matters because many organizations are disciplined about cloud security controls while being much less disciplined about runtime lifecycle management. They know who owns IAM. They know who owns KMS. They know who owns VPC boundaries. But they&nbsp;have less transparency about&nbsp;who owns JVM patching strategy, supportability, and consistency across environments. That gap is easy to underestimate until it becomes an audit or operational risk.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Well-Architected Java workload is stronger when the runtime is supported and intentionally managed. Even if security is not the headline reason to adopt Prime, it is still part of the case for treating the JVM as a first-class architectural&nbsp;component&nbsp;rather than a forgotten dependency.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sustainability-better-runtime-efficiency-reduces-waste-not-just-cost\"><a name=\"sustainabilitybetterruntimeefficiencyreduceswastenotjustcost\"><\/a>Sustainability: Better runtime efficiency reduces waste, not just cost<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AWS frames sustainability around environmental impacts, especially energy consumption and efficiency, and calls them important levers for reducing resource usage. [15] That should resonate with any architect who has ever seen a fleet burning&nbsp;compute&nbsp;on work that creates&nbsp;little to&nbsp;no customer value.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Java systems, sustainability is&nbsp;closely connected&nbsp;to performance efficiency and cost optimization. If the same workload can process more business transactions per core, require fewer instances to handle a target load, or reduce the amount of repeated optimization work done across a cluster, then resource usage drops. Lower resource usage means lower cost, but it also means lower waste.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This pillar is worth highlighting because it reminds architects&nbsp;that&nbsp;\u201cwaste\u201d&nbsp;has more than one dimension. Excess CPU spent on repeated JIT work is not&nbsp;only&nbsp;a billing issue. Overprovisioning to compensate for warmup behavior is not just a budget issue. Inefficient runtime behavior is also an energy efficiency issue. When Prime reduces that waste, it contributes to sustainability in a very practical and measurable way.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-aws-java-workloads-where-runtime-has-the-most-impact\"><a name=\"theawsjavaworkloadswhereruntimehasthemostimpact\"><\/a>The AWS Java workloads where runtime has the most impact<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not every Java workload needs this level of attention. Some are lightly loaded, operationally simple, or not sensitive enough for runtime choice to&nbsp;meaningfully&nbsp;change the business outcome. That is fine. Well-Architected thinking is about trade-offs, not ideology.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there are environments where JVM choice matters&nbsp;far&nbsp;more than teams tend to assume. High-CPU services, customer-facing APIs with strict latency&nbsp;objectives, memory-intensive applications, large Java fleets, and workloads that scale horizontally are all strong candidates. These are the kinds of systems where warmup, JIT overhead, GC behavior, and runtime observability stop being secondary details and start becoming drivers of cost, performance, and operational stability.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka is a good example because it is both throughput-heavy and operationally central in many architectures. Not&nbsp;every workload looks like Kafka.&nbsp;But the benchmark&nbsp;proves&nbsp;a&nbsp;broader point: if changing the JVM can materially change the outcome for a&nbsp;foundational&nbsp;platform&nbsp;like Kafka,&nbsp;with minimal engineering effort, then the runtime is not a side topic. It is part of the architecture.&nbsp;[16]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-jvm-belongs-in-the-conversation\"><a name=\"thejvmbelongsintheconversation\"><\/a>The JVM belongs in the conversation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"h-the-jvm-belongs-in-the-conversation-i-am-not-claiming-that-azul-prime-replaces-good-aws-architecture-it-does-not-it-does-not-remove-the-need-for-proper-observability-resilience-engineering-iam-discipline-cost-governance-or-sound-deployment-practice-and-it-does-not-affect-all-six-pillars-equally\">I am not claiming that Azul Prime replaces good AWS architecture. It does not. It does not remove the need for proper observability, resilience engineering, IAM discipline, cost governance, or sound deployment practice. And it does not affect all six pillars equally.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If&nbsp;there\u2019s&nbsp;one takeaway:&nbsp;Many AWS Java reviews are missing an important layer&nbsp;when&nbsp;they do not consider the JVM at all. For the right workloads, that omission is not minor. It can&nbsp;affect&nbsp;performance efficiency, cost optimization, operational excellence, reliability, and even the&nbsp;strength&nbsp;of the organization\u2019s security and sustainability posture.&nbsp;[17]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The final&nbsp;question&nbsp;to&nbsp;ponder:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#ffffff\" class=\"has-inline-color has-black-color\">If the JVM can materially influence so many AWS Well-Architected outcomes for Java workloads, why is it still absent from so many architecture reviews?&nbsp;<\/mark><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-references\"><a name=\"references\"><\/a>References<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>The pillars of the framework &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/the-pillars-of-the-framework.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/the-pillars-of-the-framework.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Using Java Flight Recorder &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/prime\/Java-Flight-Recorder\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/prime\/Java-Flight-Recorder<\/a>]&nbsp;<\/li>\n\n\n\n<li>Performance efficiency &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/performance-efficiency.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/performance-efficiency.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Garbage Collection in Zing &#8211; C4 Garbage Collection &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/prime\/c4-garbage-collection.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/prime\/c4-garbage-collection.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Falcon JIT in Zing &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/prime\/Falcon-Compiler\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/prime\/Falcon-Compiler<\/a>]&nbsp;<\/li>\n\n\n\n<li>Cost optimization &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/cost-optimization.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/cost-optimization.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>About Optimizer Hub &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/optimizer-hub\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/optimizer-hub\/<\/a>]&nbsp;<\/li>\n\n\n\n<li>About Cloud Native Compiler &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/optimizer-hub\/about\/cloud-native-compiler\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/optimizer-hub\/about\/cloud-native-compiler<\/a>]&nbsp;<\/li>\n\n\n\n<li>About&nbsp;ReadyNow&nbsp;Orchestrator &#8211; Azul Docs [<a href=\"https:\/\/docs.azul.com\/optimizer-hub\/about\/readynow-orchestrator\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/optimizer-hub\/about\/readynow-orchestrator<\/a>]&nbsp;<\/li>\n\n\n\n<li>Cloud Cost Optimization Cookbook &#8211; Azul [<a href=\"https:\/\/www.azul.com\/cloud-cost-optimization-cookbook\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.azul.com\/cloud-cost-optimization-cookbook\/<\/a>]&nbsp;<\/li>\n\n\n\n<li>Operational excellence &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/operational-excellence.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/operational-excellence.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Azul Mission Control 8.2.0 &#8211; async-profiler support [<a href=\"https:\/\/docs.azul.com\/azul-mission-control\/releases\/8.2.0\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.azul.com\/azul-mission-control\/releases\/8.2.0<\/a>]&nbsp;<\/li>\n\n\n\n<li>Reliability &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/reliability.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/reliability.html<\/a>]&nbsp;&nbsp;<\/li>\n\n\n\n<li>Security &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/security.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/security.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Sustainability &#8211; AWS Well-Architected Framework [<a href=\"https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/sustainability.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.aws.amazon.com\/wellarchitected\/latest\/framework\/sustainability.html<\/a>]&nbsp;<\/li>\n\n\n\n<li>Apache Kafka Performance on Azul Prime vs Vanilla OpenJDK &#8211; Azul Blog [<a href=\"https:\/\/www.azul.com\/blog\/apache-kafka-performance-on-azul-platform-prime-vs-vanilla-openjdk\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.azul.com\/blog\/apache-kafka-performance-on-azul-platform-prime-vs-vanilla-openjdk\/<\/a>]&nbsp;<\/li>\n\n\n\n<li>AWS and Azul Prime: Better Together &#8211; Azul Blog [<a href=\"https:\/\/www.azul.com\/blog\/aws-and-azul-platform-prime-better-together\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.azul.com\/blog\/aws-and-azul-platform-prime-better-together\/<\/a>]&nbsp;<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how Azul Prime aligns to AWS\u2019s Well-Architected Framework.<\/p>\n","protected":false},"author":92,"featured_media":93295,"template":"","resource_categories":[494,524,669,771],"industry":[],"product":[280],"role":[57,61,64,69],"resource_topic":[273,772,773],"class_list":["post-93285","article","type-article","status-publish","has-post-thumbnail","hentry","resource_categories-java-performance","resource_categories-high-performance-jvm","resource_categories-performance","resource_categories-aws","product-prime","role-architect","role-cto","role-head-of-engineering","role-vp-engineering","resource_topic-performance","resource_topic-aws","resource_topic-well-architected-framework"],"acf":{"article_smart_summary":"<p><span data-contrast=\"auto\">In this post you will learn:<\/span><span data-ccp-props=\"{&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><i><span data-contrast=\"auto\">Why the Java runtime is the missing layer in many AWS Java reviews<\/span><\/i><span data-ccp-props=\"{&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><i><span data-contrast=\"auto\">Why the JVM belongs in the Well-Architected discussion<\/span><\/i><span data-ccp-props=\"{&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><i><span data-contrast=\"auto\">What the six AWS\u00a0Well-Architected Framework\u00a0pillars are<\/span><\/i><span data-ccp-props=\"{&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><i><span data-contrast=\"auto\">Where the JVM has the clearest impact on the six AWS pillars<\/span><\/i><span data-ccp-props=\"{&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n","article_sidebar_nav_items":[{"link":{"title":"The missing layer in many AWS Java reviews","url":"#themissinglayerinmanyawsjavareviews","target":""}},{"link":{"title":"Why the JVM belongs in the Well-Architected discussion","url":"#whythejvmbelongsinthewellarchitecteddiscussion","target":""}},{"link":{"title":"A quick refresher on the six AWS pillars","url":"#aquickrefresheronthesixawspillars","target":""}},{"link":{"title":"Performance Efficiency: Where JVM choice has the clearest impact","url":"#performancefficiencywherejvmchoicehastheclearestimpact","target":""}},{"link":{"title":"Cost Optimization: Where better JVM behavior changes the economics","url":"#costoptimizationwherebetterjvmbehaviorchangestheeconomics","target":""}},{"link":{"title":"Operational Excellence: Fewer surprises, better diagnostics, faster root cause analysis","url":"#operationalexcellencefewersurprisesbetterdiagnosticsfasterrootcauseanalysis","target":""}},{"link":{"title":"Reliability: Because runtime instability often becomes a reliability issue","url":"#reliabilitybecauseruntimeinstabilityoftenbecomesareliabilityissue","target":""}},{"link":{"title":"Security: Not the main story, but still part of a Well-Architected runtime strategy","url":"#securitynotthemainstorybutstillpartofawellarchitectedruntimestrategy","target":""}},{"link":{"title":"Sustainability: Better runtime efficiency reduces waste, not just cost","url":"#sustainabilitybetterruntimeefficiencyreduceswastenotjustcost","target":""}},{"link":{"title":"The AWS Java workloads where runtime has the most impact","url":"#theawsjavaworkloadswhereruntimehasthemostimpact","target":""}},{"link":{"title":"The JVM belongs in the conversation","url":"#thejvmbelongsintheconversation","target":""}},{"link":{"title":"References","url":"#references","target":""}}],"article_cta":{"link":{"type":"url","value":"https:\/\/www.azul.com\/products\/prime\/","url":"https:\/\/www.azul.com\/products\/prime\/","name":"https:\/\/www.azul.com\/products\/prime\/","title":"Learn More","target":""},"appearance":"solid","color":"","show_arrow":false}},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS - Azul | Better Java Performance, Superior Java Support<\/title>\n<meta name=\"description\" content=\"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS\" \/>\n<meta property=\"og:description\" content=\"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/\" \/>\n<meta property=\"og:site_name\" content=\"Azul | Better Java Performance, Superior Java Support\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AzulSystemsInc\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-26T15:49:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@azulsystems\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"16\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/\"},\"author\":{\"name\":\"Daniel Witkowski\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/#\\\/schema\\\/person\\\/0724eb7a8d53a3cabe4671c18f2a6cf5\"},\"headline\":\"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS\",\"datePublished\":\"2026-05-19T19:53:30+00:00\",\"dateModified\":\"2026-05-26T15:49:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/\"},\"wordCount\":3914,\"publisher\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr\",\"inLanguage\":\"zh-CN\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/\",\"url\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/\",\"name\":\"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS - Azul | Better Java Performance, Superior Java Support\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr\",\"datePublished\":\"2026-05-19T19:53:30+00:00\",\"dateModified\":\"2026-05-26T15:49:22+00:00\",\"description\":\"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#breadcrumb\"},\"inLanguage\":\"zh-CN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr\",\"contentUrl\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr\",\"width\":1120,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/articles\\\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.azul.com\\\/zh-hans\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/#website\",\"url\":\"https:\\\/\\\/www.azul.com\\\/\",\"name\":\"Azul | Better Java Performance, Superior Java Support\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.azul.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-CN\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/#organization\",\"name\":\"Azul\",\"alternateName\":\"Azul Systems\",\"url\":\"https:\\\/\\\/www.azul.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/logo.svg?wsr\",\"contentUrl\":\"https:\\\/\\\/www.azul.com\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/logo.svg?wsr\",\"width\":112,\"height\":48,\"caption\":\"Azul\"},\"image\":{\"@id\":\"https:\\\/\\\/www.azul.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/AzulSystemsInc\",\"https:\\\/\\\/x.com\\\/azulsystems\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCSoJZa--HhjV9iXtbHUmm8A\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/azul-systems\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.azul.com\\\/#\\\/schema\\\/person\\\/0724eb7a8d53a3cabe4671c18f2a6cf5\",\"name\":\"Daniel Witkowski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g\",\"caption\":\"Daniel Witkowski\"},\"url\":\"https:\\\/\\\/www.azul.com\\\/zh-hans\\\/blog\\\/author\\\/danielwitkowski\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS - Azul | Better Java Performance, Superior Java Support","description":"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/","og_locale":"zh_CN","og_type":"article","og_title":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS","og_description":"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.","og_url":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/","og_site_name":"Azul | Better Java Performance, Superior Java Support","article_publisher":"https:\/\/www.facebook.com\/AzulSystemsInc","article_modified_time":"2026-05-26T15:49:22+00:00","og_image":[{"width":1120,"height":630,"url":"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@azulsystems","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"16\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#article","isPartOf":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/"},"author":{"name":"Daniel Witkowski","@id":"https:\/\/www.azul.com\/#\/schema\/person\/0724eb7a8d53a3cabe4671c18f2a6cf5"},"headline":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS","datePublished":"2026-05-19T19:53:30+00:00","dateModified":"2026-05-26T15:49:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/"},"wordCount":3914,"publisher":{"@id":"https:\/\/www.azul.com\/#organization"},"image":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#primaryimage"},"thumbnailUrl":"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr","inLanguage":"zh-CN"},{"@type":"WebPage","@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/","url":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/","name":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS - Azul | Better Java Performance, Superior Java Support","isPartOf":{"@id":"https:\/\/www.azul.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#primaryimage"},"image":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#primaryimage"},"thumbnailUrl":"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr","datePublished":"2026-05-19T19:53:30+00:00","dateModified":"2026-05-26T15:49:22+00:00","description":"Learn why the Java runtime belongs in your AWS architecture decisions \u2014 and how it maps to each of the six Well-Architected Framework pillars.","breadcrumb":{"@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#breadcrumb"},"inLanguage":"zh-CN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/"]}]},{"@type":"ImageObject","inLanguage":"zh-CN","@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#primaryimage","url":"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr","contentUrl":"https:\/\/www.azul.com\/wp-content\/uploads\/5.19-Article-Azul-Prime-A-Well-Architected-Java-Runtime-for-AWS.png?wsr","width":1120,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.azul.com\/articles\/azul-prime-a-well-architected-java-runtime-for-best-cloud-cost-and-performance-on-aws\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.azul.com\/zh-hans\/"},{"@type":"ListItem","position":2,"name":"Azul Prime: A Well-Architected Java Runtime for\u00a0Best Cloud Cost and Performance on\u00a0AWS"}]},{"@type":"WebSite","@id":"https:\/\/www.azul.com\/#website","url":"https:\/\/www.azul.com\/","name":"Azul | Better Java Performance, Superior Java Support","description":"","publisher":{"@id":"https:\/\/www.azul.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.azul.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-CN"},{"@type":"Organization","@id":"https:\/\/www.azul.com\/#organization","name":"Azul","alternateName":"Azul Systems","url":"https:\/\/www.azul.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-CN","@id":"https:\/\/www.azul.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.azul.com\/wp-content\/uploads\/2021\/01\/logo.svg?wsr","contentUrl":"https:\/\/www.azul.com\/wp-content\/uploads\/2021\/01\/logo.svg?wsr","width":112,"height":48,"caption":"Azul"},"image":{"@id":"https:\/\/www.azul.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AzulSystemsInc","https:\/\/x.com\/azulsystems","https:\/\/www.youtube.com\/channel\/UCSoJZa--HhjV9iXtbHUmm8A","https:\/\/www.linkedin.com\/company\/azul-systems"]},{"@type":"Person","@id":"https:\/\/www.azul.com\/#\/schema\/person\/0724eb7a8d53a3cabe4671c18f2a6cf5","name":"Daniel Witkowski","image":{"@type":"ImageObject","inLanguage":"zh-CN","@id":"https:\/\/secure.gravatar.com\/avatar\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/767bf1e965dc715fb3f24de5894d285988892f276db0ac272506e75ae6a129ed?s=96&d=mm&r=g","caption":"Daniel Witkowski"},"url":"https:\/\/www.azul.com\/zh-hans\/blog\/author\/danielwitkowski\/"}]}},"_links":{"self":[{"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/article\/93285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/users\/92"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/media\/93295"}],"wp:attachment":[{"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=93285"}],"wp:term":[{"taxonomy":"resource_categories","embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/resource_categories?post=93285"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/industry?post=93285"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/product?post=93285"},{"taxonomy":"role","embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/role?post=93285"},{"taxonomy":"resource_topic","embeddable":true,"href":"https:\/\/www.azul.com\/zh-hans\/wp-json\/wp\/v2\/resource_topic?post=93285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}