One-Click AWS Lambda Deployment

OpenRules business decision models can be deployed as operational decision services utilizing the Serverless architecture provided by Amazon Web Services (AWS), the most powerful and popular cloud platform in the modern world.  When you deploy your decision models as AWS Lambda functions, you don’t even think about servers and pay only for the execution time your services actually consume.
However, the cold reality is that AWS is complicated, and the way how you build and deploy your AWS Lambda Decision Service is usually not straightforward. It may require deep understanding of the AWS environment and essential coding and configuration efforts. OpenRules Decision Manager dramatically simplifies this process by automatically generating all necessary components and allowing you to convert your business decision model to AWS Lambda function without any coding.

OpenRules Decision Manager allows Business Analysts to deploy their decision models as AWS Lambda decision services. They simply create and test their Excel-based decision models on their local machines – examples of simple decision model are described here.  Assuming that you already have an active AWS account, you may simply use a  graphical interface provided by AWS Lambda and AWS API Gateway to upload your decision model and configure it as an AWS Lambda function. To simplify this configuration process, we provided the tutotial “Building Operational Decision Services with OpenRules + AWS Lambda + AWS API Gateway“. 

However, it is still can be too much to learn for a business user. So, we decided to implement One-Click AWS Lambda Deployment mechanism that frees a user from any knowledge of AWS environment. This mechanism became available on Oct. 1 with the Release 8.0.2. Now business users, who created and tested Excel-based business decision models, don’t even have to open AWS configuration tools. They can deploy their test decision models directly from their local OpenRules installation with one click on the provided batch file “deployAWS.bat“!

What is actually required for AWS Lambda deployment? Besides an active AWS account, your machine need to know your AWS security credentials (access key ID and secret access key). It is a natural requirement as you want to be the only one who can make changes in your Amazon account. These credentials are usually saved in your home directory in the file .aws/credentials. Alternatively, you may define them directly in the standard batch file “settingAWS.bat” that also contains the following settings:

set AWS_BUCKET=<new-or-existing-S3-bucket-name>
set AWS_REGION=us-east-1                                                         

Your developers may help you with specifying your “settingAWS.bat” file (but you need to do it only once).

Then, as usual, you build your the decision model by clicking on the standard batch-file “build.bat”. You may test it locally by clicking on “run.bat“. When you are satisfied with the results, you simply click on the standard file “deployAWS.bat“ and your decision model will be deployed as AWS Lambda service.

But OpenRules goes even further! To simplify testing and to demonstrate how to invoke the deployed decision service, it generates the file “testAWS.bat”. When you click on this file, it will remotely execute all test cases defined in the Excel file “Test.xls” against just deployed AWS Lambda.

OpenRules also generates Java API used by your developers to invoke your AWS decision service from their Java applications. So, it covers the entire development and maintenance life-cycle:

  1. Business analysts develop their business decision models in Excel
  2. Business analysts deploy their models as AWS services
  3. Developers integrate these services in their applications using the automatically generated Java APIs.
  4. Business analysts continue to modify their decision models in Excel and re-deploy them with one-click.

You may try to deploy your own decision model on Amazon cloud now – just download the latest OpenRules Decision Manager!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.