Open AntonSemenenko opened 5 years ago
The persistence workflow:
1)Create Elastic Block Store volume for storing DBs data and configure the automatic snapshots for this volume. 2)Create one EC2 instance separately from Elastic Beanstalk, connect it to the EBS volume 3)Deploy DB on the separate instance that will be utilized for the sync with the rest DBs and data backup purposes. 4) Configure Travis for auto-deployment 5)Instances created by Elastic Beanstalk will sync through peer discovery with a backup instance. 6) Check whether the sync between instances works well
Approximate timeline for implementation - 10-12h. Depends on how the sync will act after all steps, it is possible that additional work will be required.
Need clearer explanation on how new instances use the backup. Estimate per subtask
Need clearer explanation on how new instances use the backup. Estimate per subtask
1) Create Elastic Block Store volume for storing DBs data and configure the automatic snapshots for this volume. - 2h 2) Create one EC2 instance separately from Elastic Beanstalk, connect it to the EBS volume. - 2h 3) Configure Travis for auto-deployment to new instance. - 4-6h 4) Check whether the sync between instances works well. - 2h
We will tag backup instance, so all instances in the autoscale group can find it thought aws sdk and connect to it after start and sync with it as gundb peers.
Speaking of the estimation per subtask, such time of the evaluation isn't accurate enough, we are decomposing it step by step in order to make our workflow clear, however, it is difficult to predict how much time exactly will be spent on each action, moreover when the total time is 12 hours, that is why we are estimating it comprehensively.
putting on hold. solution need to be based on
This should be solved using backup. The scaling group should provide redundancy while each member can backup his content to S3 periodically.
Backup options