Real-Dev-Squad / feature-flag-service

MIT License
3 stars 7 forks source link

[Documentation] Feature flag Service #88

Open vikhyat187 opened 1 year ago

vikhyat187 commented 1 year ago

My understanding of feature flag service.

Open questions

Screenshot 2023-03-02 at 7 51 35 AM

https://github.com/Real-Dev-Squad/todo-action-items/issues/59 https://www.atlassian.com/continuous-delivery/principles/feature-flags

vikhyat187 commented 1 year ago

MOM: Sync with Gaurav 7th March 2023

  1. How user management is handled, explore that. Ans : we have user model , we can use that.
  2. If MongoDB, how are we planning to host it self-managed or cloud-managed? Ans : Look at the price diff and decide on that.
  3. How much scalability do we want the service to serve? Ans : For now around 2k to 2.5k users.
  4. What should be the runtime? Docker or lambda? Ans : We can start with Lambda and move to docker based on the usage.
  5. Choose the language based on the runtime. E.g Java takes time for cold start in lambda Ans : To avoid coldstart we can use Cloudfare workers, it doesn't have coldstart like Lambdas.
  6. How much scalable is railway.app (the current deployment platform for website-backend)
  7. What is the pricing for railway.app Ans : Currently we use the free tier Memory per container. 512 MB CPU per container 2 vCPU Shared disk 1 GB
  8. The database can be SQL or NoSQL (need to think more on this) Ans : Mostly it will be NoSql.
  9. Look out for how the existing feature flag service works launch darkly
  10. The plan of release should be like Version - 1: Have the feature flag enabled on the user level (for a user) Version - 2: Have the feature flag enabled on the group of users Version - 3: Have it for a percentage of users
  11. How the user journey would be Ans. How feature flag can be created -> from dashboard site by super_user The feature flag would be accessed by consumer to check if the user is authorised to use the feature.
vikhyat187 commented 1 year ago

MOM: Sync 11th March 2023

  1. Check on the user API, do we have an API that returns the users belonging to a group (This is for version-2)
  2. The data access pattern will be like a. get me all the users belonging to the group b. get the feature flag for a user c. to get X per cent of random users, which do not have the feature flag enabled.
  3. Create API designs by @vikhyat187 a. To create a feature flag b. To read a feature flag c. To update a feature flag d. To delete a feature flag
  4. We can use Dynamodb for database
  5. Gaurav will compare the costing between Docker with least memory and lambda
  6. Do we have logging for the services to debug?