In the previous article we touched upon utilizing AWS serverless architecture with Oracle Primavera P6 EPPM cloud. You can refer the article here.
In this
article we will see how to utilize AWS serverless architecture to cut down on
processing time for 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 pre-defined
set of rules, for each transaction, during import and capture the information
in UDF fields. This resulted in importing transaction individually instead of in a batch of 1000, allowed by P6 web services.
This had
significant impact on overall time required to process 50,000 transactions.
With 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 transaction = 50,000 seconds or
(50,000/60) = 833.33 minutes or
(50,000/60/60) = 13.89 hours
This was
a huge problem.
With the
use of AWS serverless architecture model and carefully choosing services to fit
the requirement, the processing time was reduced considerably. All of this, without
worrying about additional cost of infrastructure or fluctuation in volume of
transaction in future.
The transactions
from 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 function concurrently. With 10 instances of lambda function
processing the transactions concurrently at any given time, the overall time
came down 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 instance of Lambda function is not same so the time will almost always be little higher than the above (theoretical) calculation.
The above approach is just one way to reduce overall processing time. A carefully designed solution with serverless approach can go a long way. Customers with on-premises integration solutions, who are constrained due to existing hardware configuration or otherwise, can also benefit by moving to serverless architecture.
If you have
a similar requirement and want to discuss how serverless architecture can be
utilized effectively, then leave a message or drop an email.