Estimating Amazon EC2 instance needed when migrating ERP from IBM Power Systems
This post courtesy of CK Tan, AWS, Enterprise Migration Architect – APAC
Today, there are many enterprise customers who are keen on migrating their mission critical Enterprise Resource Planning (ERP) applications from on-premises to the AWS Cloud. Some of these applications are Oracle E-Business Suite (Oracle EBS) or SAP running on IBM Power Systems. The enterprise customers realize that running critical ERP applications on AWS enables businesses to be more agile, cost effective, and secure than on-premises. AWS provides cloud native services that streamline your ability to adopt emerging technologies, which enable greater innovation, and faster time-to-value.
However, it is essential to note that both IBM Power Systems and Amazon Elastic Cloud Compute (EC2) are using different CPU processor architectures. Amazon EC2 instances run on either x86 or ARM-based processors, while the IBM Power Systems runs on IBM Power processors. As a result, there are no direct performance or sizing benchmarks mapping the two platforms.
The purpose of this blog is to share a method and an example of how to estimate the sizing of mission critical applications running on IBM Power Systems to Amazon EC2.
AWS refers SAP Application Performance Standard (SAPS) to normalize the CPU performance between IBM Power Systems and Intel x86 processors. SAPS is a hardware-independent unit of measurement that describes the performance of a system configuration in the SAP environment. It is derived from the Sales and Distribution (SD) two-tier benchmark. The SD benchmark defines 100 SAPS as 2,000 fully business processed order line items per hour.
This throughput is achieved by processing 6,000 dialog steps (screen changes), 2,000 postings per hour in the SD Benchmark, or 2,400 SAP transactions.
In the SD benchmark, fully business processed means the full business process of an order line item. This order line consists of: creating the order, creating a delivery note for the order, displaying the order, changing the delivery, posting a goods issue, listing orders, and creating an invoice.
In this method, I compare the performance sizing by using SAPS, which is not released by other ERP software such as Oracle EBS. However, I believe that this method for an indirect performance benchmark is most relevant for an ERP software perspective. This is because most of the enterprise businesses have similar ordering processes.
Discussion by Example
I walk you through a real example that demonstrates how you can translate and migrate an SAP ERP 6.0 or Oracle EBS application database to the AWS Cloud. The on-premises database runs on IBM Power 795 (IBM P795) with IBM AIX, and migrates to AWS by choosing the best size of Amazon EC2 instances.
Step 1: IBM P795 System Performance Analysis
You can use IBM nmon Analyzer, which is a free tool to produce AIX performance analysis reports running on IBM Power Systems. The tool works with the latest version of nmon, and is also tested with older versions for backwards compatibility. The tool is updated whenever nmon is updated, and at irregular intervals for new functions. It allows users to:
- View the data in spreadsheet form
- Eliminate “bad” data
- Automatically produce graphs for presentation to clients
The following graphic captures the performance analysis for CPU, memory, disk throughput, disk Input / Output (I/O), and network I/O. The time frame is during the system’s database peak demand at month end closing – using IBM nmon Analyzer.
Figure 1: Actual Number of Physical Core of CPU Utilization Analysis on IBM P795
Figure 2: Memory Usage Analysis on IBM P795
Figure 3: Total Disk Throughput Analysis on IBM P795
Figure 4: Total Disk I/O on IBM P795
Figure 5: Network I/O Analysis on IBM P795
Step 2: CPU Normalization
You can find the SAPS results for different hardware manufacturers from this link. Table 1 shows how to calculate the processing power for single CPU core with respect to different hardware manufacturers. I chose Amazon EC2 instances r5.metal and r4.16xlarge as potential candidates because they provide memory sizing. Memory sizing best fits the current demand of 408 GB – refer to Figure 2.
|Instance Type||SAPS (2- Tier)||Memory (GB)||Total CPU Cores||SAPS/Core|
Table 1: Calculate the SAPS Processing Power for Single Core of Physical CPU
I apply Equation 1 to calculate the Normalization Factor for any targeted Amazon EC2 instance with respect to the source system of IBM Power systems.
Normalization Factor = [SAPS Per Core] Amazon EC2 / [SAPS Per Core] IBM POWER Systems (1)
By inserting the SAPS/Core calculated from Table 1 into Equation (1), I got the following results:
- The normalization factor for 1 core of Amazon EC2 of r5.metal to IBM P795 = 1.08.
- The normalization factor for 1 core of Amazon EC2 of r4.16xlarge to IBM P795 = 0.79.
Table 2 shows how to calculate normalized total number of CPU cores that are allocated to each system. The normalized total number of CPU cores from selected Amazon EC2 instance must be greater than or equal to the assigned entitlement capacity of IBM P795 in this case.
|Instance Type||Normalization Factor (A)||Total # CPU Cores (B)||Normalized Total # CPU Core (A X B)|
Table 2: Normalized Total Number of CPU Core
Figure 1 indicates that 29 cores of physical CPU is needed to meet the total processing power of database ERP, running on IBM P795. This can be compared to assigned entitlement capacity of 32. So, the Amazon EC2 instance, r5.metal, delivers sufficient processing power with enough buffer for future business growth in next 12–24 months.
Step 3: Amazon EC2 Right Sizing
Next, I must check and ensure that other specifications such as network I/O, disk throughput, and disk I/O meet the current peak demand of the application. Table 3 shows the different specifications of r5.metal. It is clear from Table 3 that r5.metal meets all the demand requirements of the database ERP.
|Specifications||Amazon EC2 Instance Type of r5.metal|
|Physical Core of CPU||48 > 29 (current CPU utilization)|
|RAM (GiB)||768 > 408 (current memory usage)|
|Network Perf (GBps)||3 > 0.3 (current network I/O throughput)|
|Dedicated EBS BW (GBps)||~ 2.4 > 2.0 (current disk throughput)|
|Maximum IOPS (16 KiB I/O)||80,000 > 25,000 (current disk IO consumption)|
Table 3: EC2 r5.metal Specifications
The example discussed in this blog is a best practice for comparing performance from on-premises to the AWS Cloud. The method demonstrates how to select the right type and size of Amazon EC2 instances for migrating from IBM Power Systems, running a mission critical ERP application, to the AWS Cloud. This method has been applied to many enterprise cloud transformation projects, and has delivered more predictable performance with significant TCO savings. Additionally, this method can be adopted for capacity planning, and helps enterprises establish business justifications for hybrid platform migration.