Project Partners Blog Author:
Sachin Gupta | Oracle Primavera Solution Architect – Application Integration Specialist
In the previous article, we touched upon utilizing AWS serverless architecture with Oracle Primavera P6 EPPM Cloud. You can reference the article here.
In this article, we will see how to utilize AWS serverless architecture to cut down on processing time for a large volume of transactions when importing them to Oracle Primavera P6 EPPM cloud using P6 web services.
One of the customers had the requirement of importing roughly 50,000 financial transactions from their ERP application to Oracle Primavera P6 EPPM Cloud on a weekly basis. Additionally, they wanted to perform validation based on a pre-defined set of rules, for each transaction, during the import and capture of the information in UDF fields. This resulted in importing transactions individually instead of in a batch of 1000, as allowed by P6 web services.
This significantly impacted the overall time required to process 50,000 transactions. With an average of 1 second per transaction, it required around 14 hours to import 50,000 transactions in Oracle Primavera P6 EPPM Cloud.
At 1 second per transaction –
50,000 transactions = 50,000 seconds or
(50,000/60) = 833.33 minutes or
(50,000/60/60) = 13.89 hours
This was a huge problem.
The processing time was considerably reduced by using the AWS serverless architecture model and carefully choosing services to fit the requirement. All of this without worrying about the additional cost of infrastructure or fluctuation in the volume of transactions in the future.
The transactions from the ERP application were uploaded to Amazon DynamoDB.
AWS Lambda was configured to trigger when new data was inserted in DynamoDB. It was configured to trigger up to 10 Lambda functions concurrently. With 10 instances of lambda function processing the transactions concurrently at any given time, the overall time decreased drastically from 14 hours to under 2 hours.
Previously, (50,000/60/60) = 13.89 hours
Now, (50,000/60/60/10) = 1.39 hours
Note: The distribution of data among instances of the Lambda function is not the same, so the time will almost always be slightly higher than the above (theoretical) calculation.
The above approach is just one way to reduce overall processing time. A carefully designed solution with a serverless approach can go a long way. Customers with on-premises integration solutions, constrained due to existing hardware configuration or otherwise, can also benefit by moving to a serverless architecture.
If you have a similar requirement and want to discuss how serverless architecture can be utilized effectively, leave a message or email questions directly to information@projectp.com.
Project Partners is a long-standing Oracle Partner and global leader in optimizing business processes and IT investments within project-driven organizations.
www.projectp.com