hotosm / OpenMapKitServer

OpenMapKit Server is the lightweight server component of OpenMapKit that handles the collection and aggregation of OpenStreetMap and OpenDataKit data.
http://openmapkit.org
BSD 3-Clause "New" or "Revised" License
4 stars 9 forks source link

Post CloudFormation Work #93

Open arunasank opened 5 years ago

arunasank commented 5 years ago

The first iteration of setting up OpenMapKitServer on CloudFormation is 🏁 done 🏁 ! But, we have a few more tasks to finish before considering this work in a good place

Task Description Expected timeline Owner Status
Using spot instances The new infrastructure is currently using on-demand instances. This is a consequence of the MixedInstancesPolicy being hard to customise via CloudFormation on AWS. @smit1678 is putting me in touch with our POC at AWS, and we will make a decision about whether to wait for their implementation, or use alternatives like 2 ASGs, one spot and one on-demand, wherein the on-demand is brought to capacity only when the spot ASG is out of capacity End Feb @arunasank
Making the infrastructure robust Work with @willemarcel to understand how many servers need to go into each stack and if additional monitoring/resources need to be set up. We can also set up certain stacks in different AWS regions, to be closer to their user base End Feb @willemarcel and @arunasank ✅ We did this using load tests.
Use the application load balancer We are using the classic load balancer, but let's use the latest load balancer that AWS provides. End Feb @arunasank https://github.com/hotosm/OpenMapKitServer/pull/102
Using EC2 instances with instance stores The t3.medium uses an EBS for storage instead of inbuilt instance-storage. EBS is makes disk reads/writes slower and is $$$ as compared to instances that come with in-built SSDs. I'll set up the OMK on an instance with SSD. Instances with in-built SSDs cost more than instances that depend on EBS, so will factor in our current costs before making this decision. End Feb @arunasank https://github.com/hotosm/OpenMapKitServer/pull/105
Strong end-to-end testing Lean on @willemarcel's expertise to put together a list of user-tests both as documentation for standardising testing after future deploys, as well as for testing that the current infrastructural changes have not impacted the application in any way End Feb @willemarcel
Getting rid of EBS backed deploy dependencies Since we are shifiting to CloudFormation, we can clean out all EBS related files in this project, as well as archive https://github.com/hotosm/omk-server-eb End Feb @willemarcel
Set up all our OMK stacks using CloudFormation Make a detailed plan for deleting existing EBS environments, and setting up OMK stacks on CloudFormation, to ensure that the process is seamless and secure, and we don't accidentally lose data End Feb @ramyaragupathy
Write up detailed documentation on stack creation/updation/deletion @willemarcel and I are super excited to move away from console-dependent deploys to 🍿-time deploys, which is what we'll have after we set up all our tasks on CloudFormation.! This task will involve writing up detailed documentation for the ✨ new ✨ way to deploy. End Feb @ramyaragupathy

If any of you are interested in owning these tasks or pairing on them, please get in touch with me/fill out your handle in the Owner column. 🤗

cc/ @hotosm/tech

arunasank commented 5 years ago

Please also point out tasks I have missed out on in the above list, and feel free to edit the above post to change the status for a task!

ramyaragupathy commented 5 years ago

Awesome and thanks for the detailed split @arunasank ! I'd like to support & learn from @arunasank @willemarcel on

arunasank commented 5 years ago

Welcome to the party @ramyaragupathy! Can you edit the post to add your handle against the tasks? 😄