This line was removed.
This word was removed. This word was added.
This line was added.
Changes (12)View Page History
|h1. Overview |
|h1. Code Libraries |
|MathML Cloud, as developed by Benetech, consists of two code libraries: |
|## Entering equations in various formats, and requesting output in different formats |
|## Reviewing and commenting on the results |
## User administration
|h1. Runtime Architecture |
|The Benetech-hosted runtime of MathML Cloud is currently hosted on Microsoft Azure in a Linux VM, with MongoDB hosted by the MongoLab service. There is a staging and live environment which are virtually identical. |
While the separation of concerns between the app and the API allow them to be hosted separately, in the Azure environment we have made some compromises.
|*# Current URL: https://mathmlcloud.org |
*# Ideal deployment: static storage
|*# Current deployment: shared API VM, under mathml-cloud/assets directory (simplifies deployment) |
|* API |
*# Ideal URL: https://api.mathmlcloud.org
|*# Current URL: https://mathmlcloud.org (Azure API Management tool is new and not stable enough) |
|*# Ideal deployment: Linux VM |
*# Current deployment: Linux VM
|From the Azure Portal API Management help window: |
|bq. “Publish APIs to developers, partners and employees securely and at scale. |
|* Scale to millions of API calls |
* Throttle, rate limit and quota your APIs
|* Get deep insights with rich analytics |
For an overview of API Management, see [http://azure.microsoft.com/en-us/services/api-management/].”
When we make use of Azure’s API Management, a developer would sign up for a developer key and then send all requests to api.mathmlcloud.org instead of mathmlcloud.org. The API Management Service would receive the request, do what it does, and then send the request through to mathmlcloud.org.
|One of the key features that API management gives you is control over endpoint traffic and client access. If a malicious hacker wanted to, they could write a script that sends thousands of requests to mathmlcloud.org/equation per second and take down the site. If we were using Azure’s API Management system, they would have to sign up for a developer key. |
|One of the key features that API management gives you is control over endpoint traffic and client access. If a malicious hacker wanted to, they could write a script that sends thousands of requests per second to mathmlcloud.org/equation and take down the site. If we were using Azure’s API Management system, the only way they would be allowed access to the API would be to sign up for a developer key and then present that key with each API call. |
|# We now know who they are |
# We are be able to throttle their requests to a reasonable amount
|h2. Resources |
|* Azure Management Console: https://manage.windowsazure.com/benetechmail.microsoftonline.com#Workspaces/All/dashboard |
|* RESTful API definition: http://www.restapitutorial.com/lessons/whatisrest.html |
* API definition: http://www.theguardian.com/media/pda/2007/dec/14/thenutshellabeginnersguide