Identity/AttachedServices/DeploymentPlanning/ScryptHelperService: Difference between revisions

Line 5: Line 5:
The immediate and only goal of this service is to let [[User_Services/Sync|New Sync]] devices outsource some of the computational costs of the [[Identity/AttachedServices/DeploymentPlanning/FirefoxAccountsService|Firefox Accounts]] authentication process.  It is a stateless but computationally-expensive service.
The immediate and only goal of this service is to let [[User_Services/Sync|New Sync]] devices outsource some of the computational costs of the [[Identity/AttachedServices/DeploymentPlanning/FirefoxAccountsService|Firefox Accounts]] authentication process.  It is a stateless but computationally-expensive service.


== Goals ==
== Goals and Milestones ==


TBD
The goal for Q32013 is to have this service '''Production Ready'''.


Need to define capacity, uptime, various success criteria here.
This does not mean having a fully-deployed production environment!  With the implementation of the storage component still outstanding, there's no point in standing up an authentication service all by itself.  It does mean that we need the ability to do automated deployments that pass loadtests, meet operational and security criteria, and generally inspire confidence that we could roll things out to production without major hiccups.
 
These are the individual milestones on our way to said goal, broken down into weekly chunks:
 
* '''Aug 09:'''
** usable manual-deploy dev environment tooling
*** using awsboxen top stand up a single box, with a simple nginx+gunicorn+python-app setup
* '''Aug 16:'''
** defined testable "success criteria" for Scrypt Helper:
*** Target number of concurrent users.
*** Target number of scrypt operations per second.
*** Total cost of AWS resources
* '''Aug 23:'''
** (reserved for work on Firefox Accounts)
* '''Aug 30:'''
** loadtesting code written and debugged.
*** this will use loads and loads.js to hook into MozSvc loadtesting cluster
*** the client API is so thin, we will just write custom tests to exercise it
*** '''Dependencies:''' stable server API
* '''Sep 6:'''
** automated single-region staging deployment
*** built using cloudformation and awsboxen
*** including shipping logs and performance data to a Heka/ES/Kibana box for analysis
** loadtests run against Scrypt Helper staging environment.
*** '''Dependencies:''' stable and performant loads cluster infrastructure, usable log analysis tools
* '''Sep 13:'''
** fixed any load-related issues
** (mostly reserved for work on Firefox Accounts)
* '''Sep 20:'''
** tweaking, tweaking, always tweaking...
* '''Sep 27:'''
** security review signoff.
** svcops signoff.
* '''Sep 30:'''
** Production Ready!
 
There are likely a lot of SvcOps details missing from this plan, e.g. monitoring and infrasec things.  We'll do what we can to get those in place, but I'm OK with an initial staging environment that's taking some of that stuff.


== Dev Deployment ==
== Dev Deployment ==
Confirmed users
358

edits