Identity/PersonaProfileServer: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 16: Line 16:
= Questions =
= Questions =


* What is the maximum amount of data that can be stored per user?
* What is the maximum amount of data that can be stored per user? Depends on number of emails and max size
* Are we storing arbitrary keys or are only well defined keys going to be allowed?
* Are we storing arbitrary keys or are only well defined keys going to be allowed? No
* How often is this data accessed?  What is the write pattern?  What is the read pattern?  (only accessed at registration? not written often?)
* How often is this data accessed?  What is the write pattern?  What is the read pattern?  (only accessed at registration? not written often?)
* How are we handing back the data?
* How are we handing back the data?
* What kind of database will we use?
* What kind of database will we use? MySQL?


* What does the API look like?
* What does the API look like?
* If we launch as an alpha service, how do we handle migration from alpha to beta to release?
* If we launch as an alpha service, how do we handle migration from alpha to beta to release? Not a problem as long as we consult with ops while designing the labs prototype.


* Can other services be attached to this DB?
* Can other services be attached to this DB? Not for now (even though it looks like contacts maybe)
* What is our timeline?  What is the data that we are going to use to decide when this is going to come out of labs and into production?
* What is our timeline?  What is the data that we are going to use to decide when this is going to come out of labs and into production? 2012Q1 ;)
* What is the data SLA?  Where does data need to be backed up?
* What is the data SLA?  Where does data need to be backed up?


* What happens when the profile server is down? Does BrowserID sign-in depend on it? (hopefully not)
* What happens when the profile server is down? Does BrowserID sign-in depend on it? You can still login but there's some kind fallback design/graphics for the moocards.
* Can we push image resizing / optimizing to the client?
* Can we push image resizing / optimizing to the client? No all of it, but hopefully some of it.




== Questions continued ==
== Questions continued ==


* Find out number of emails per user
* Find out max and average number of emails per user [petef]
* Decide on a maximum image size
* Decide on a maximum image size [skinny]
* Run the moocard idea past skinny
* Run the moocard idea past skinny [skinny]


= TODO =
= TODO =

Revision as of 16:49, 4 May 2012

Warning: These are just rough notes. We are in the early stages of our discussions with ops, so this will definitely change.

Description

  • different domain for profile server to scale it out differently
  • some kind of data storage (MySQL, but with generic key/value schema)
  • profile data will be key-wrapped
  • from an ops point of view, it's better to spend lots of CPU optimizing images at upload time then to serve unoptimize images

Things to avoid

  • don't want to be a CDN for images (to prevent abuse -- "persona profile filesystem")
  • we probably don't want to store arbitrary key-value store for users
  • planning on moving very quickly from labs to prod: it will take about a quarter to move once we say we're ready

Questions

  • What is the maximum amount of data that can be stored per user? Depends on number of emails and max size
  • Are we storing arbitrary keys or are only well defined keys going to be allowed? No
  • How often is this data accessed? What is the write pattern? What is the read pattern? (only accessed at registration? not written often?)
  • How are we handing back the data?
  • What kind of database will we use? MySQL?
  • What does the API look like?
  • If we launch as an alpha service, how do we handle migration from alpha to beta to release? Not a problem as long as we consult with ops while designing the labs prototype.
  • Can other services be attached to this DB? Not for now (even though it looks like contacts maybe)
  • What is our timeline? What is the data that we are going to use to decide when this is going to come out of labs and into production? 2012Q1 ;)
  • What is the data SLA? Where does data need to be backed up?
  • What happens when the profile server is down? Does BrowserID sign-in depend on it? You can still login but there's some kind fallback design/graphics for the moocards.
  • Can we push image resizing / optimizing to the client? No all of it, but hopefully some of it.


Questions continued

  • Find out max and average number of emails per user [petef]
  • Decide on a maximum image size [skinny]
  • Run the moocard idea past skinny [skinny]

TODO

  • Get some answers for the questions above
  • Look at lloyd's scaling to 1M user wiki page and do something similar (assume everybody is uploading huge pictures we have to resize)
  • Talk to security folks, what needs to happen in what order?
  • Talk to David Ascher and user data group to find out about data collection implications.