The number of organizations choosing to reap the benefits of public cloud—rather than keeping their workloads in traditional on-premises data centers—is exploding. So is the variety of offerings available from cloud service providers (CSPs). Choosing the right cloud provider, instance type, and instance size can be overwhelming. In this blog, I’d like to shine a light on one aspect of this increasingly complex landscape: running web services workloads on instances powered by Intel processors.
The Cloud in General and AWS in Particular
Moving your workloads to the cloud can lead to savings in terms of both time and money. For many organizations, flexibility is the number one advantage of the cloud: you can easily scale your workloads up and down and pay for only the resources that you need. You can also enjoy benefits in the areas of security and privacy, relying on CSPs to stay on top of the latest patches and upgrades. Your organization would likely enjoy these positives regardless of the provider you choose.
Close consideration of your specific needs and requirements will help you figure out which provider is the best fit for you. Intel has tested a range of common workloads across different cloud offerings. You can use these to understand the kind of performance you can expect for your workloads. In this blog, I’ll discuss our testing on ASP.NET and Java workloads. Additionally, I’ll walk you through some other considerations about choosing Intel processors for your websites and web apps that go beyond performance.
Boost Performance by Choosing the Right Instance
Many companies, regardless of their industry, create and support websites and web apps. For our performance tests, we chose ASP.NET, a popular web app framework. Selecting instances that deliver better performance for your ASP.NET-based websites and applications means a better experience for your end users.
We tested ASP.NET using scenarios from the TechEmpower Web Framework Benchmarks on a range of instances powered by 2nd Gen Intel Xeon Scalable processors and instances with ARM-based processors. The chart below shows the relative performance of the two types of instances. The instances enabled by 2nd Gen Intel Xeon Scalable processors outperformed the other instances at every vCPU count, by as much as 1.7 times. Performance gains were especially impressive on larger instance sizes with 48 and 64 vCPUs. This outcome is consistent with the outcomes we have seen across various other workloads (e.g., PostgreSQL and MySQL in the HammerDB benchmark.) We attribute this to relatively poor ARM core scaling and lack of software optimizations, which has a more pronounced effect as the VM size increases.
Get Better Value
While performance is important, so is value. Using the ASP.NET performance results and the cost per instance at the time of testing, we calculated the performance per dollar of each instance. We found performance per dollar to be similar with four to 32 vCPUs. As the chart below shows, however, for 48- and 64-vCPU instances, instances with 2nd Gen Intel Xeon Scalable processors provided up to 1.36x the ASP.NET performance per dollar as instances with ARM processors.
Companies that run Java web services workloads seek the best performance to provide the best experience for developers and users. We used an Industry-standard Java server benchmark to measure the performance of two 64-vCPU instances: one powered by 2nd Gen Intel Xeon Scalable processors and the other by ARM-based processors. The Xeon instances achieved 1.2x the work of the ARM-based instances, an improvement of 20 percent, which could translate to savings by accomplishing a given amount of work with fewer instances.
While performance is one consideration, and an important one, in determining which instance to choose for your web apps, it’s not the only one. Since ARM-based instances are not broadly available, it’s likely that any existing applications you have that you’d like to move to the cloud were not built on an ARM-based CPU. Switching CPU architectures could be costly. Additionally, our testing shows that if you anticipate your ASP.NET and Java applications expanding, your performance may take a hit as you get to larger instances sizes. And if you need to switch instance series entirely or add new geolocations, you may find your options limited with ARM.
Using a Known Processor Architecture Can Smooth Your Transition to Cloud and Help You Avoid Extra Work
If you are currently running your ASP.NET and Java web services workloads on Intel processors, you have a certain familiarity with how they run. You have likely developed a set of baseline settings and best practices and have optimized your workloads for Intel processor architecture. If you were to change to a new processor architecture—such as ARM--when moving these workloads to the cloud, you could find yourself at square one. You would need to perform testing to be sure you were getting the best possible performance from your instances, and you could find that the assumptions and best practices that served you well with the Intel architecture no longer applied. If this were the case, you would need to invest additional time adjusting your workloads. If you instead chose instances based on 2nd Gen Intel Xeon Scalable processors, you would eliminate processor platform-specific issue and avoid this potential extra work.
Many popular web apps serve millions of people around the globe. These applications need a lot of resources to keep running smoothly. While not every app will enjoy the same levels of userbase and engagement, it’s best to plan ahead as any app can suddenly catch on. In the case of internal company apps, you could see a sudden increase in usage if you acquire a new company or expand to add more departments. If you choose the Intel-based instances for your applications, you can rest assured knowing that your performance advantages will continue even as you scale up to larger VMs. Protect your future investment by making the smart choice now.
Moving your web services workloads to the cloud can be very advantageous, but the number of choices available can be a challenge to sort through and understand, even once you settle on a provider. I hope I’ve helped illuminate how the processor you choose to back your instances can affect performance and value.
ASP.NET tests performed by Intel in December 2020 on AWS in region us-east-2. Tested three iterations and selected average for result. Software used was Ubuntu 20.04 LTS with kernel 5.4.0, .NET Core SDK 5.0.101 for workload, and TFB ASP.NET KPIs for other software. All configurations used SSD storage and 600 MBps storage BW; other configuration details to follow. m5.16xlarge: 64 vCPUs, 256GB memory, 20 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.16xlarge: 64 vCPUs, 256GB memory, 25 Gbps network BW, Neoverse-N1 CPU. m5.12xlarge: 48 vCPUs, 192GB memory, 10 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.12xlarge: 48 vCPUs, 192GB memory, 20 Gbps network BW, Neoverse-N1 CPU. m5.8xlarge: 32 vCPUs, 128GB memory, 10 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.8xlarge: 32 vCPUs, 128GB memory, 12 Gbps network BW, Neoverse-N1 CPU. m5.4xlarge: 16 vCPUs, 64GB memory, 10 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.4xlarge: 16 vCPUs, 64GB memory, 10 Gbps network BW, Neoverse-N1 CPU. m5.2xlarge: 8 vCPUs, 32GB memory, 10 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.2xlarge: 8 vCPUs, 32GB memory, 10 Gbps network BW, Neoverse-N1 CPU. m5.xlarge: 4 vCPUs, 16GB memory, 10 Gbps network BW, Intel 8259CL or 8175M CPU. m6g.xlarge: 4 vCPUs, 16GB memory, SSD storage, 10 Gbps network BW, Neoverse-N1 CPU.
Java tests performed by Intel in October 2020 on AWS. Tested three iterations and selected the median for result. Software used was Ubuntu 20.04 with kernel 5.4.0. Other software included Java Server Benchmark with openjdk version 11.0.2 for Intel instances and AdoptOpenJDK version 11.0.7 for Graviton instances. Both configurations used EBS storage; other configuration details to follow. m5.16xlarge: 64 vCPUs, 256GB RAM, Intel 8259CL CPU, and 2 workload groups. m6g.16xlarge: 64 vCPUs, 256GB RAM, Amazon Graviton 2 CPU, and 1 workload group.
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.
Performance results are based on testing as of dates shown in configurations and may not reflect all publicly available updates. See backup for configuration details. No product or component can be absolutely secure. Your costs and results may vary.
Intel technologies may require enabled hardware, software or service activation.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.