CloudServices/SimplePushServer: Difference between revisions

no edit summary
No edit summary
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<div style="border:1px solid red; background-color:#ECC;padding:2em;font-size:100%;"><b>Obsolete!</b>
Please refer to the [https://mozilla-push-service.readthedocs.org/en/latest/ Push Service] docs.
</div>
<h1><i>SimplePush Server</i></h1>
<h1><i>SimplePush Server</i></h1>
==Overview==
==Overview==
Line 6: Line 10:
''Principal Point of Contact'' - <i>Doug Turner</i> <i>dougt@mozilla</i>
''Principal Point of Contact'' - <i>Doug Turner</i> <i>dougt@mozilla</i>


''IRC'' - #<i>channel</i>
''IRC'' - #<i>push</i>


''Group Email'' - TBD
''Group Email'' - TBD
Line 68: Line 72:


It should also be noted that Go's SSL implementation is surprisingly CPU intensive as of 1.1.2. For our implementation, we decided that since PUTs require more setup/teardown than longer lived Websocket connections, we would use AWS ELB SSL termination to handle the secure PUTs. If peak user load is not expected to be higher than 100K or so, this may not be required.
It should also be noted that Go's SSL implementation is surprisingly CPU intensive as of 1.1.2. For our implementation, we decided that since PUTs require more setup/teardown than longer lived Websocket connections, we would use AWS ELB SSL termination to handle the secure PUTs. If peak user load is not expected to be higher than 100K or so, this may not be required.
== Proprietary Ping Requirements ==
* [[CloudServices/SimplePushServer/GCM|GCM]]
* APNS


==Code Repository==
==Code Repository==
https://github.com/mozilla-services/pushgo/
Previously (as referenced in other parts of this page), https://github.com/mozilla-services/pushgo/.
 
Currently, https://github.com/mozilla-services/autopush/ is used.


==Release Schedule==
==Release Schedule==
Line 107: Line 116:


https://github.com/jrconlin/simplepush_test - provides a quick "smoke test" as well as a thorough API test of bad or malicious tests.
https://github.com/jrconlin/simplepush_test - provides a quick "smoke test" as well as a thorough API test of bad or malicious tests.
== Notes ==
* [[/Testing Notes|Testing notes for Push]]


=Security and Privacy=
=Security and Privacy=
Line 127: Line 139:


https://mana.mozilla.org/wiki/display/SVCOPS/SimplePush#SimplePush-Deployments
https://mana.mozilla.org/wiki/display/SVCOPS/SimplePush#SimplePush-Deployments
==Deployment Request Template ==
'' Currently, deployments are created from Github Releases. Releases for Stable and Production must be signed off by QA before deployment. ''
Bugzilla Subject: Please deploy '' Tag name '' to '' Product '' '' Platform ''
Bug content:
  Version:
  '' Release Title (e.g. Simple Push Server 1.4.2 Release Candidate 1)''
  '' Release URL (e.g. https://github.com/mozilla-services/pushgo/releases/tag/1.4.2rc1) ''
 
  Product:
  '' What platform to deploy the target to (e.g. push-web, push-loop) ''
 
  Config Changes:
    +[''handlers'']: ''handlers'' section added.
    ~[''default'']: ''default'' section options changed.
    -[''propping'']: ''propping'' section removed.
    ...
   
  Deployment Notes:
  '' Please note any other modifications which may cause the server to fail to start. ''


==Escalation Paths==
==Escalation Paths==
==Lifespan Support Plans==
==Lifespan Support Plans==
=Logging and Metrics=
=Logging and Metrics=


Line 142: Line 177:
* [https://kibana.shared.us-west-2.prod.mozaws.net/index.html#/dashboard/file/simplepush.json Kibana dashboard]
* [https://kibana.shared.us-west-2.prod.mozaws.net/index.html#/dashboard/file/simplepush.json Kibana dashboard]
* [https://graphite.shared.us-west-2.prod.mozaws.net/ US-West-2 Push monitoring]
* [https://graphite.shared.us-west-2.prod.mozaws.net/ US-West-2 Push monitoring]
* [https://metrics.services.mozilla.com/loop-server-dashboard/ Loop Server dashboard]
* Cloudwatch URL (pending?)
* Cloudwatch URL (pending?)
Usage metrics are viewable at:
https://graphite.shared.us-west-2.prod.mozaws.net/grafana/#/dashboard/file/default.json
and use the following view template:
https://dl.dropboxusercontent.com/u/361111/Push%20_%20SimplePush%20Stats-1421198257367


=Customer Support=
=Customer Support=
== External Libraries & Users ==
* [https://aerogear.org/push/ Aerogear Unified Push]
* [https://onesignal.com/ OneSignal]
== Deployments==
== Deployments==
=== Loop ===
=== Loop ===
Line 168: Line 212:
Currently monitoring and metrics are being collected and displayed on to different systems. Effort will be made to simplify this.  
Currently monitoring and metrics are being collected and displayed on to different systems. Effort will be made to simplify this.  


TODO: Dev & Ops need to identify a list of key health metrics to monitor for this system.  
TODO: Dev & Ops need to identify a list of key health metrics to monitor for this system.
 
* [https://metrics.services.mozilla.com/loop-server-dashboard/ Loop Server dashboard]
 
==== Points of Contact ====
==== Points of Contact ====
In the event of significant events, operations notifies members of development teams that actions are required.
In the event of significant events, operations notifies members of development teams that actions are required.
Confirmed users
1,018

edits