Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

Phase 1: Bridge Export to Google Cloud Instead of Synapse

Phase 2: Bridge Running on Google Cloud Instead of AWS

Phase 3: Bridge Stores Data in Google Cloud Instead of AWS (Stretch Goal)

Phase 1: Bridge Export to Google Cloud Instead of Synapse

Subtasks:

  • Refactor SynapseHelper to be a generic Export Adapter with pluggable implementations for Synapse and Google Cloud
  • Define Google Cloud storage format
  • Define Google Cloud permissions model
  • Implement Google Cloud Export Adapter
  • Define and implement Bridge Study config to select between Synapse and Google Cloud
  • Implement selector in Exporter to select between Synapse and Google Cloud

Phase 2: Bridge Running on Google Cloud Instead of AWS

Phase 2A: Bridge Server on Google Cloud

Subtasks:

  • Launch Spring MVC Service on Google Cloud
  • Set up DNS and SSL
  • Set up secure credentials
  • Log aggregation
  • Dashboards, monitoring, and alarms
  • Grant access to AWS Elasticache and RDS from Google Cloud OR partition and create a Redis and SQL instance in Google Cloud

Phase 2B: Bridge Exporter on Google Cloud

Subtasks:

  • Launch Spring Boot Worker on Google Cloud
  • Set up secure credentials
  • Log aggregation
  • Dashboards, monitoring, and alarms

Phase 2C: Bridge Worker on Google Cloud

Subtasks:

  • Launch Spring Boot Worker on Google Cloud
  • Set up secure credentials
  • Log aggregation
  • Dashboards, monitoring, and alarms

Phase 3: Bridge Stores Data in Google Cloud Instead of AWS (Stretch Goal)

Relevant docs:

AWS Services that need to be replaced:

  • DynamoDB → BigTable? Firestore?
  • Lambda (Cron scheduler) → Cloud Scheduler
  • RDS (MySQL) → Cloud SQL
  • S3 → Cloud Storage
  • S3 Presigned URLs → Cloud Storage Signed URLs
  • SES (Simple Email Service) → NO EQUIVALENT
  • SNS Push Notifications → Firebase Cloud Message MAY REQUIRE CLIENT APP CHANGES
  • SNS SMS → NO EQUIVALENT
  • SQS → PubSub