Services/Mobile-ID: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (overview update)
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:


= Overview =
The Mobile-ID service provides a global mobile number validation system that
The Mobile-ID service provides a global mobile number validation system that
can be used to authenticate a user's device. It interacts with SMS gateways to send and receive SMSs.
can be used to authenticate a user's device. It interacts with SMS gateways to send and receive SMS messages.
 
'''More Info:'''
* https://wiki.mozilla.org/Loop/Architecture#MSISDN_.28Phone_Number.29_Verification
* https://bugzilla.mozilla.org/show_bug.cgi?id=988469#c5
 
 
[[#toc]]


See : https://wiki.mozilla.org/Loop/Architecture#MSISDN_.28Phone_Number.29_Verification


=Contacts=
=Contacts=
Line 11: Line 18:
** Alexis Metaireau <alexis@mozilla.com>
** Alexis Metaireau <alexis@mozilla.com>
** Rémy Hubscher <natim@mozilla.com>
** Rémy Hubscher <natim@mozilla.com>
* <b>OPS</b>
* <b>Ops</b>
** Benson Wong <mostlygeek@mozilla.com>
** Dean Wilson <dwilson@mozilla.com>
** Wesley Dawson <whd@mozilla.com>
** Bob Micheletto <bobm@mozilla.com>
* <b>QA</b>
* <b>QA</b>
** James Bonacci <jbonacci@mozilla.com>
** Richard Pappalardo <rpappalardo@mozilla.com>
** Karl Thiessen <kthiessen@mozilla.com
 
 
[[#toc]]
 
 
= Deployment Environments =
== Summary ==
There are 4 deployed environments.
{| class="wikitable"
|-
| '''Environment'''
| '''URL'''
| '''Endpoint Used'''
| '''Usage'''
|-
| DEV
| http://msisdn-dev.stage.mozaws.net
| Nexmo
| Development and integration
|-
| STAGE
| http://msisdn.stage.mozaws.net
| Nexmo
| End-2-End (client-side) testing
|-
| STAGE-LOADTEST
| http://msisdn-loadtest.stage.mozaws.net
| Omxen
| Load (server-side) testing
|-
| PRODUCTION
| http://msisdn.services.mozilla.com
| Nexmo
| Production apps
|-
|}


=Deployement=


There are three environments.
[[#toc]]




==Dev==
==DEV==


'''Description'''
* <b>Host:</b> https://msisdn-dev.stage.mozaws.net/
* <b>Host:</b> https://msisdn-dev.stage.mozaws.net/
* <b>Maintainer:</b> DEVs
* <b>Maintainer:</b> Dev Team
* <b>SMS Gateway:</b> Nexmo
* <b>SMS Gateway:</b> Nexmo
* <b>Usage:</b> Development and integration
* <b>Usage:</b> Development and integration


This environment is updated with the master branch by devs on a regular basis - or upon request. you can get the version by displaying the root URL of the server.


This environment provides a Mobile number validation for the following countries:
'''Notes'''
* This environment is updated with the master branch by devs on a regular basis - or upon request.
* you can get the version by displaying the root URL of the server.
* This environment provides a Mobile number validation for the countries listed below
   
   
{|
 
! class="wikitable"| Client Country
{| class="wikitable"
! Provider
| '''Client Country'''
! MCC
| '''Provider'''
! Server Number
| '''MCC'''
| '''Server Number'''
|-
|-
|USA
|USA
|Nexmo
|Nexmo
|302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544
|302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544
|117142940188
|XXXX
|-
|-
|France
|France
|Nexmo
|Nexmo
|208 - 308 - 340 - 543 - 546 - 547 - 647 - 742
|208 - 308 - 340 - 543 - 546 - 547 - 647 - 742
|33644630007
|XXXX
|-
|-
|Spain
|Spain
|Nexmo
|Nexmo
|214
|214
|34911067077
|XXXX
|-
|-
|Others
|Others
|Nexmo
|Nexmo
|
|
|447937946655
|XXX
|}
|}


==Stage==


[[#toc]]
==STAGE (E2E-TEST) ==
'''Description'''
* <b>Host:</b> https://msisdn.stage.mozaws.net/
* <b>Host:</b> https://msisdn.stage.mozaws.net/
* <b>Maintainer:</b> OPS
* <b>Maintainer:</b> Ops Team
* <b>SMS Gateway:</b> OMXEN
* <b>SMS Gateway:</b> NEXMO (<u>feal endpoint</u>)
* <b>Usage:</b> QA and Loadtesting
* <b>Usage:</b> End-2-End Test (client-side testing against a <u>real</u> endpoint: Nexmo)




This environment is used by QA and dev for load tests. The goal is to measure how many connections can be handled by the server and anticipate errors that might happen on high load.
'''Notes'''
* This environment is used for end-to-end testing of the service once it hits the stable channel.
* This server is a perfect mirror of the production environment, updated with the tag of the upcoming release
* '''ATTENTION!:''' - This uses is a real endpoint!
** We pay for each text message so <u>DO NOT</u> loadtest against it!!


'''SMS are not sent for real''', they are collected by a fake SMS Gateway: OMXEN. We deployed it at  http://omxen.dev.mozaws.net/


Load tests can interact with OMXEN to check what SMSs are sent out of the system.
[[#toc]]


==Production==


== STAGE (LOADTEST) ==
'''Description'''
* <b>Host:</b> https://msisdn-loadtest.stage.mozaws.net/
* <b>Maintainer:</b> Ops Team
* <b>SMS Gateway:</b> OMXEN (fake endpoint)
* <b>Usage:</b> Loadtesting (server-side and testing)
'''Notes'''
* This environment is used by QA and dev teams for load tests.
* The goal is to measure how many connections can be handled by the server and anticipate errors that might happen on high load.
* SMS are not sent for real - they are collected by a fake SMS Gateway: OMXEN.
* Load tests can interact with OMXEN to check what SMS messages are sent out of the system.
* You can verify that an SMS message has been received by OMXEN through your browser: <br />
** http://omxen.dev.mozaws.net/receive?to=<DEVICE PHONE NUMBER>
[[#toc]]
==PRODUCTION==
'''Description'''
* <b>Host:</b> https://msisdn.services.mozilla.com/
* <b>Host:</b> https://msisdn.services.mozilla.com/
* <b>Maintainer:</b> OPS
* <b>Maintainer:</b> Ops Team
* <b>SMS Gateway:</b> Nexmo
* <b>SMS Gateway:</b> Nexmo
* <b>Usage:</b> Production apps
* <b>Usage:</b> Production apps
   
   
This environment is used for production and is the default server for '''Nightly'''.


The prod environment provide a Mobile number validation for the following countries:
'''Notes'''
* This environment is used for production and is the default server for '''Firefox Nightly'''.
* The prod environment provide a Mobile number validation for the countries listed below


{|
 
! class="wikitable"| Client Country
{| class="wikitable"
! Provider
| '''Client Country'''
! MCC
| '''Provider'''
! Server Number
| '''MCC'''
| '''Server Number'''
|-
|-
|USA
|USA
|Nexmo
|Nexmo
|302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544
|302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544
|12182967993
|XXXX
|-
|-
|More to come
|More to come
|}
|}


=Release Cycle=


The service is continuously pushed into the '''dev''' server where client developers can test it.
[[#toc]]
 
 
== Release Cycle ==
 
* The service is continuously pushed into the '''DEV''' server where client developers can test it.
* The service is released in: '''STAGE''', '''STAGE-LOADTEST''' then '''PRODUCTION''' every other week (or asap if we discover a security breach)
 
 
[[#toc]]
 
 
= Branches and bugfix deployments =
 
'''In case of a bugfix:'''
* A commit will with the fix will be pushed to master.
* A new branch will be created on the github repository with the versions that needs the patch, and the fixes will be applied there (backported).
* A new tag will be created with the new version (the patch version will be updated) and a deployment request will be filled.
 
 
For instance, in case the 0.9.0 release contains a bug that needs to be fixed:
# Fix the code in master;
# Backport (cherrypick) the commit in the 0.9.x branch (create it if needed);
# Tag a new minor release: 0.9.1 and fill a new deployment request.
 


The service is released in '''stage''' then '''production''' every other week (or asap if we discover a security breach)
[[#toc]]


* Tuesday - end of previous cycle. tagging. pushed to '''stage'''
= Reference =
* Tuesday through Friday - load testing by James on '''stage'''
* https://wiki.mozilla.org/Loop/Architecture/ID
* Monday - push to '''production''' if no regression, if any regression backed off
* https://github.com/mozilla-services/msisdn-gateway


''Once the service will hit Aurora & Stable channels, we will introduce the new real-stage environment''
[[#toc]]

Latest revision as of 16:23, 22 May 2015

Overview

The Mobile-ID service provides a global mobile number validation system that can be used to authenticate a user's device. It interacts with SMS gateways to send and receive SMS messages.

More Info:


#toc


Contacts

  • Dev Team
    • Tarek Ziadé <tarek@mozilla.com>
    • Alexis Metaireau <alexis@mozilla.com>
    • Rémy Hubscher <natim@mozilla.com>
  • Ops
    • Dean Wilson <dwilson@mozilla.com>
    • Bob Micheletto <bobm@mozilla.com>
  • QA
    • Richard Pappalardo <rpappalardo@mozilla.com>
    • Karl Thiessen <kthiessen@mozilla.com


#toc


Deployment Environments

Summary

There are 4 deployed environments.

Environment URL Endpoint Used Usage
DEV http://msisdn-dev.stage.mozaws.net Nexmo Development and integration
STAGE http://msisdn.stage.mozaws.net Nexmo End-2-End (client-side) testing
STAGE-LOADTEST http://msisdn-loadtest.stage.mozaws.net Omxen Load (server-side) testing
PRODUCTION http://msisdn.services.mozilla.com Nexmo Production apps


#toc


DEV

Description


Notes

  • This environment is updated with the master branch by devs on a regular basis - or upon request.
  • you can get the version by displaying the root URL of the server.
  • This environment provides a Mobile number validation for the countries listed below


Client Country Provider MCC Server Number
USA Nexmo 302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544 XXXX
France Nexmo 208 - 308 - 340 - 543 - 546 - 547 - 647 - 742 XXXX
Spain Nexmo 214 XXXX
Others Nexmo XXX


#toc


STAGE (E2E-TEST)

Description

  • Host: https://msisdn.stage.mozaws.net/
  • Maintainer: Ops Team
  • SMS Gateway: NEXMO (feal endpoint)
  • Usage: End-2-End Test (client-side testing against a real endpoint: Nexmo)


Notes

  • This environment is used for end-to-end testing of the service once it hits the stable channel.
  • This server is a perfect mirror of the production environment, updated with the tag of the upcoming release
  • ATTENTION!: - This uses is a real endpoint!
    • We pay for each text message so DO NOT loadtest against it!!


#toc


STAGE (LOADTEST)

Description

Notes

  • This environment is used by QA and dev teams for load tests.
  • The goal is to measure how many connections can be handled by the server and anticipate errors that might happen on high load.
  • SMS are not sent for real - they are collected by a fake SMS Gateway: OMXEN.
  • Load tests can interact with OMXEN to check what SMS messages are sent out of the system.
  • You can verify that an SMS message has been received by OMXEN through your browser:


#toc


PRODUCTION

Description


Notes

  • This environment is used for production and is the default server for Firefox Nightly.
  • The prod environment provide a Mobile number validation for the countries listed below


Client Country Provider MCC Server Number
USA Nexmo 302 - 310 - 311 - 312 - 313 - 314 - 315 - 316 - 332 - 544 XXXX
More to come


#toc


Release Cycle

  • The service is continuously pushed into the DEV server where client developers can test it.
  • The service is released in: STAGE, STAGE-LOADTEST then PRODUCTION every other week (or asap if we discover a security breach)


#toc


Branches and bugfix deployments

In case of a bugfix:

  • A commit will with the fix will be pushed to master.
  • A new branch will be created on the github repository with the versions that needs the patch, and the fixes will be applied there (backported).
  • A new tag will be created with the new version (the patch version will be updated) and a deployment request will be filled.


For instance, in case the 0.9.0 release contains a bug that needs to be fixed:

  1. Fix the code in master;
  2. Backport (cherrypick) the commit in the 0.9.x branch (create it if needed);
  3. Tag a new minor release: 0.9.1 and fill a new deployment request.


#toc

Reference

#toc