StorePick Product Service Event Poller Lambda

Overview

This repository contains the Product Service Event Poller Lambda for HFSS.

This lambda is triggered by a cloudwatch rule every 10 mins, 24/7.

It will retrieve events from Product Service on the basis of limit, evententity=product and eventid[since] query parameters and prepare message to publish in SNS.

Event is propagated to HFSS lambda, which retrieves latest MIN data from product service.

Account Needed

AWS accounts will be required for DEV/SIT/PROD.

References

  1. Python Service with infrastructure as code.

  2. Unit tests & code coverage at about 90%+

  3. Configuration for multiple environments, DEV/SIT/PRD

Document

Ref

Architecture Document

Solution Architecture.

Jira Story

Technical Elaboration - SPDP-7787.

Bitbucket repository

storepick-product-events-poller-lambda.

Testing Approach

We will be using a BDD approach where the behaviour will be tested first the code will be developed to match the tested behaviour.

Deployment strategy

The deployment is handled by a jenkins multibranch pipeline, https://jenkins.p.morconnect.com/digital/job/storepick-product-service-events-poller-lambda/. The commit in the develop branch will automatically deploy the application to the aws environments. The release is done by standard process of tagging the release branch, and by building and deploying from the tags. The tag format is sit-v*-<commit> for nonprod and prd-v*-<commit> for the production release. These tags are manually built on jenkins after the change request has been approved. The release branch is merged to the stable master branch after the successful production deployment.

Backout

To back out we will build off the last release in the master branch and redeploy an old tag version, this shall take around 10 minutes.

Diagrams

Product Service Event Poller Lambda work flow diagram

_images/diagram.png

A slightly more detailed view of the lambda.

_images/diagram2.png