Skip to content

InstallAWSComponents

thalli000 edited this page Apr 23, 2020 · 1 revision

Install AWS Components

Roles and Permissions

You will need your AWS account configured to allow access for installing the Priority Operation Processing (POP) components.

Follow Install AWS Roles to configure the necessary roles and permissions.

Build the Source Code

There is a parent pom in the root of the Git project. mvn clean install

Setup an S3 Bucket to Store Compiled Lambdas

Our AWS CloudFormation looks in a configured S3 bucket for the lambda binaries. You can remove this dependency by installing the lambdas manually, but it would take more work. The s3 bucket does NOT require public access. It should exist within the same account as where you plan to deploy the CloudFormation stack.

In your AWS cosole go to the S3 configuration page.

  1. Create a new bucket called pop with directory deploy (or edit the cloudformation for your bucket name)
  2. Upload the lambda binaries to your S3 Bucket. When you build the project the zip files should be auto-copied to the deploy/endpoint/aws/binaries directory. Here are the files:
  • pop-authorizer-sample-aws-.zip
  • pop-endpoint-impl-aws--lambda_deployment_package_assembly.zip
  • pop-callback-progress-retry-aws--SNAPSHOT-lambda_deployment_package_assembly.zip
  • pop-scheduling-master-aws--lambda_deployment_package_assembly.zip
  • pop-scheduling-queue-aws--lambda_deployment_package_assembly.zip
  • pop-scheduling-monitor-aws--lambda_deployment_package_assembly.zip
  • pop-data-object-reaper-aws--lambda_deployment_package_assembly.zip
  • pop-agenda-reclaimer-aws--lambda_deployment_package_assembly.zip

Deploying Cloudformation

Priority Operation Processing software uses AWS Cloudformation to deploy the POP's AWS software components.

Template Location

./deploy/endpoint/aws/Main-AWS-CloudFormation.json

Steps

  1. Change all instances of [add your accountID] in the Main-AWS-CloudFormation.json to your AWS accountID
  2. Access the AWS Console CloudFormation page.
  3. Select Stacks
  4. Click Create stack (with new Resources)
  5. This will open the Create stack screen
  6. Select Template is ready
  7. Select Upload a template file
    1. Select Main-AWS-CloudFormation.json when prompted
  8. Click Next to open the Specify stack details screen
  9. Set the Stack name and adjust any settings as necessary.
  10. Click Next to open the Configure stack options screen
    1. There are no specific option adjustments needed.
  11. Click Next to open the Review screen
  12. Click Create stack to initiate the process.

What the template installs

  • Endpoint Lambdas
  • Scheduler Lambdas
  • Retry Lambda
  • API Gateway
  • Authorizer

Test your AWS installation

See How to build the code and run the Endpoint Functional Tests.

Priority Operation Processing

  1. Submission
  2. Scheduling
  3. Execution
    the ResourcePool

Data Object API

Agenda
the workflow
Agenda Template
the workflow definition
Customer
Insight
the scheduling queue definition
Operation Progress
the state of the running Agenda operations
Progress
the state of the running Agendas
ResourcePool
the processing resources

Service Agenda

Agenda Service
the workflow submission
Progress Service
rolled up agenda progress summary
ResourcePool Service
getting work and updating progress

Timed Processes

AgendaReclaimer
restarting stuck Agendas
AgendaRetry
retrying failed Agendas
DataObjectReaper
reaping expired data objects
PodReaper
reaping stuck Kubernetes pods

Installation

Install

Development

DevKubernetesSetup
RunLocalExecution
- RunWithMiniKube

Demo / Examples

SampleAuthorizer
SampleHandler

Product Comparison

Netflix Conductor

Clone this wiki locally