Online Returns Big Query Writer

Overview

This repository contains a task. BigQuery Writer pushes data to BigQuery. The BigQuery Writer will run every hour and get data from Aurora Postgres SQL. BigQuery Writer gets data from database from scanned product table where status is TRANSFFERED or FAILED with retry count is greater than equal to 5 and push it to the BigQuery. The data from BigQuery will be used for reporting.

Accounts Needed

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

References

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

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

Document

Ref

Architecture Document

Solution Architecture.

Jira Story

Technical Elaboration - SPDP-6916.

Bitbucket Repository

online returns big query writer.

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/sonarqube/dashboard?id=storepick-online-returns-big-query-writer-dev. 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 5 minutes. This will minimise the data loss in case a problem is discovered.

Diagrams

Online Returns Architecture Gives the overview for Online Returns BigQuery Writer Flow.

_images/online_returns.png