Syncing trainee data

Date

Apr 7, 2020,

Apr 9, 2020

Participants

  • @Joseph (Pepe) Kelly

  • @Sachin Mehta (Unlicensed)

  • Dev Team…

Goals

  • Spread some knowledge

  • Get enough info to update the Build & Deployment section

  • Create some stories to cover:

    • Creating a flow between

    • Anything obvious for an all-AWS TIS solution ('To Be')

Discussion topics

Time

Item

Presenter

Notes

Time

Item

Presenter

Notes

Before we discuss

Read up on the summary.

 

https://hee-tis.atlassian.net/wiki/spaces/NTCS/pages/1629814868

 




Go over the summary



  • We’ve got tis and trainee VPCs set up

  • A full migration has been tested for stage data

  • There are 2 main ways of sourcing events;

    1. Use custom database triggers to invoke a lambda (or similar)

    2. Use CDC from Amazon DMS to send events through Kinesis (or similar)

 

Data model for Trainee Self-service

 

 

 

Where to source data change events

 

Either:

  • built into the Aurora DB; database triggers.

    • more configurable; able to build up ‘logical’ entities from across tables.

    • reduces overall processing (additional calls for data & restricting what events are sent)

  • Use DMS or one of several CDC alternatives; database logs.

    • no need to change the database implementation or re-evaluate on every schema change (looser coupling to source).

    • better fit for existing CDC (rabbitMQ)

 

 

Sending data across VPCs

 

There are alternatives to using a Lambda. Lambdas can definitely access across VPCs.

 

Messaging / Streaming

 

  • Kinesis (Data Streams) is comparable to alternative ‘streaming’ middleware like Kafka.

  • It sits in the space where we currently use RabbitMQ for ‘messaging’.

 

Action items

Get familiar with AWS services
Write up the difference between options

Decisions