Edge for Private Cloud Version 4.17.05
Installation
Nachdem Sie Edge das Dienstprogramm apigee-setup auf einem Knoten installiert haben, um eine oder mehrere BaaS-Komponenten auf dem Knoten zu installieren.
Das Dienstprogramm apigee-setup enthält das Formular:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Übergeben Sie eine Konfigurationsdatei an das Dienstprogramm apigee-setup, das die Informationen zur Installation. Wenn in der Konfigurationsdatei erforderliche Informationen, das Apigee-Setup werden Sie aufgefordert, sie in die Befehlszeile einzugeben.
Die einzige Anforderung besteht darin, dass die Konfigurationsdatei für den Nutzer „Apigee“ Nutzer.
Verwenden Sie beispielsweise den folgenden Befehl, um den API-BaaS-Stack zu installieren:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
Zu installierende Komponenten angeben
Das Apigee-Dienstprogramm setup.sh unterstützt verschiedene Optionen zum Installieren von API-BaaS-Komponenten. In der folgenden Anleitung wird die Methode eigenständige Optionen (c, e, b und p), aber Sie können je nach Knoten unterschiedliche Optionen verwenden. Konfiguration:
Option |
Beschreibung |
---|---|
e |
Nur ElasticSearch installieren. |
b |
Nur API BaaS Stack installieren, wodurch auch Tomcat installiert wird. |
p |
Nur API BaaS-Portal installieren, wodurch auch der Nginx-Router zur Verwendung als Web installiert wird Server. |
c |
Installieren Sie nur Cassandra. |
eb |
Installieren Sie ElasticSearch, API BaaS Stack und Tomcat auf dem Knoten. |
ebp |
Installieren Sie ElasticSearch, API BaaS Portal, API BaaS Stack und Tomcat, aber nicht Cassandra. Das Portal ist so schlank, dass dafür keine zusätzlichen Ressourcen benötigt werden. |
Asa |
Alle API-BaaS-Komponenten auf einem einzigen Knoten installieren (Cassandra, Elasticsearch, API BaaS) Stack, API BaaS-Portal oder Tomcat). Verwenden Sie diese Option nur für Entwicklungs- und Testzwecke, nicht für für die Produktion. |
Konfigurationsdatei erstellen
Die Konfigurationsdatei enthält alle Informationen, die zur Installation von API BaaS erforderlich sind. Sie können verwenden oft dieselbe Konfigurationsdatei, um alle Komponenten in einer BaaS-Installation zu installieren.
Jede unten beschriebene Installationstopologie zeigt eine Beispielkonfigurationsdatei für diese Topologie. Für Eine vollständige Referenz zur Konfigurationsdatei finden Sie in der Referenz zur BaaS-Konfigurationsdatei.
API BaaS auf einem einzelnen Knoten installieren
Unten sehen Sie die Konfigurationsdatei für die Installation von API BaaS auf einem einzelnen Knoten. Diese Datei bearbeiten als die für Ihre Konfiguration erforderlich sind. Eine vollständige Referenz zur Konfigurationsdatei finden Sie unter Referenz zur BaaS-Konfigurationsdatei
IP1=192.168.56.101 # IP address of single node # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Because you are installing Cassandra, # specify Cassandra data center and rack suffix. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1" # Specify the Cassandra region. REGION=dc-1 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify Cassandra data center name. BAAS_CASS_LOCALDC=dc-1 # For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST=dc-1 # Replication is in the form "dataCenterName:#CassandraNodes". # For dc-1 with one Cassandra node, it is dc-1:1. BAAS_CASS_REPLICATION=dc-1:1 # Defines the initial contact points for members of the BaaS cluster. # For a single node install, specify the IP address of the node. BAAS_CLUSTER_SEEDS="dc-1:$IP1" # Single ElasticSearch IP. ES_HOSTS="$IP1" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # IP/DNS and port 8080 of a single Stack node. BAAS_USERGRID_URL="http://$IP1:8080" # URL and port of the BaaS Portal node. BAAS_PORTAL_URL="http://$IP1:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y
So installieren Sie API BaaS auf einem eigenen Knoten:
- Installieren Sie das Edge-Dienstprogramm apigee-setup auf dem Knoten mithilfe der Internet- oder Nicht-Internet-Verfahren. Siehe Installieren des Edge-Apigee-Setup-Dienstprogramms für mehr.
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
Die Option „-p asa“ gibt an, dass alle API-BaaS-Komponenten auf einem einzelnen Knoten installiert werden sollen. (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat).
Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer. - Da Sie ElasticSearch auf einem eigenständigen Knoten installiert haben, sollten Sie den Standardarbeitsspeicher anpassen
Option zum Erhöhen des für ElasticSearch zugewiesenen Arbeitsspeichers von 4 GB auf 6 GB:
<ph type="x-smartling-placeholder">
- </ph>
- Öffnen Sie /opt/apigee/customer/application/elasticsearch.properties in einen Redakteur. Falls diese Datei nicht vorhanden ist, erstellen Sie sie.
- Eigenschaft setenv_elasticsearch_max_mem_size festlegen
6g (Standardeinstellung ist 4g):
setenv_elasticsearch_max_mem_size=6g - Speichern Sie die Datei.
- Führen Sie den folgenden Befehl aus:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch Neustart
- Nehmen Sie eine Organisation wie unten unter Einstieg in eine neue Organisation beschrieben vor.
Mit der Konfiguration wird die Einrichtung auf dem Knoten erfolgreich abgeschlossen.
API BaaS auf 7 oder 10 Knoten installieren
Das Verfahren zur Installation einer API-BaaS-Version mit 7 oder 10 Knoten ist sehr ähnlich. Die einzige für eine:
- Bei der Installation mit 10 Knoten installieren Sie die drei ElasticSearch-Komponenten und drei APIs. BaaS-Stack-Komponenten auf separaten Knoten für insgesamt sechs Knoten. Dies ist die empfohlene Konfiguration für höchste Leistung, da ElasticSearch viel Zeit erfordert Laufwerks-E/A und Arbeitsspeicher.
- Installation von 7 Knoten: Sie installieren die drei ElasticSearch-Komponenten und drei API BaaS. Komponenten auf denselben Knoten stapeln (insgesamt drei Knoten) Knoten.
Für die API-BaaS-Version mit 7 und 10 Knoten müssen Sie eine Verbindung zu einem Cassandra-Cluster herstellen. Wenn Wenn Sie Edge bereits installiert haben, können Sie eine Verbindung zum Cassandra-Cluster herstellen. Cassandra im Rahmen der API-BaaS-Installation installieren
Unten sehen Sie ein Beispiel für eine Konfigurationsdatei im Hintergrund für eine API-BaaS-Installation mit 10 Knoten. Wenn Sie installieren die ElasticSearch- und API-BaaS-Stack-Komponenten auf denselben drei Knoten, in die Datei ändern, sodass:
- IP1 und IP4 haben dieselbe IP-Adresse
- IP2 und IP5 haben dieselbe IP-Adresse
- IP3 und IP6 haben dieselbe IP-Adresse
Bearbeiten Sie diese Datei nach Bedarf für Ihre Konfiguration. Eine vollständige Referenz zu der Konfigurationsdatei, siehe BaaS Konfigurationsdateireferenz.
# Specify IP address or DNS name of node. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra (shared with Edge or standalone) # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Only if you are installing Cassandra. # Specify Cassandra data center and rack suffix. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1" # If connecting to existing Cassandra nodes, # specify Cassandra IPs. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP8 $IP9 $IP10" # Specify the Cassandra region. REGION=dc-1 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name. BAAS_CASS_LOCALDC=dc-1 # Default is dc-1. # For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST=dc-1 # Replication is in the form "dataCenterName:#CassandraNodes". # For example, for dc-1 with three Cassandra nodes, it is dc-1:3. BAAS_CASS_REPLICATION=dc-1:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # ElasticSearch IPs or DNS names, separated by spaces. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y
Optional: Installieren Cassandra: Machine 8, 9 und 10
Sie können API-BaaS mit demselben Cassandra-Cluster verbinden, der von Edge verwendet wird. Wenn Sie noch keine Edge installiert haben, können Sie optional Cassandra zur Verwendung durch API BaaS installieren.
Der Cassandra-Cluster kann eine Authentifizierung verwenden oder die Cassandra-Authentifizierung kann deaktiviert werden. Weitere Informationen finden Sie unter Cassandra-Authentifizierung aktivieren für mehr.
- Installieren Sie das Edge-Dienstprogramm apigee-setup auf dem Knoten mithilfe der Verfahren außerhalb des Internets. Siehe Installieren des Edge-Apigee-Setup-Dienstprogramms für mehr.
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
Die Option „-p c“ gibt an, dass Cassandra installiert werden soll.
Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.
Mit der Konfiguration wird die Datenspeichereinrichtung auf dem Knoten erfolgreich abgeschlossen.
Beachten Sie, dass JMX für Cassandra standardmäßig aktiviert ist. Der JMX-Remotezugriff auf Cassandra funktioniert nicht erfordern ein Passwort. Sie können Cassandra für die Verwendung der Authentifizierung für JMX konfigurieren. Weitere Informationen finden Sie unter Anleitung zum Überwachen.
Cassandra-Cronjob einrichten
Wenn Sie Cassandra installieren müssen, richten Sie einen Cronjob ein, der mit nodetool eine Bereinigung durchführt, damit Sperren stündlich ausgeführt werden. auf jedem Cassandra-Knoten.
Wenn Sie mehrere Cassandra-Knoten haben, verschieben Sie den Cronjob auf jedem Server um fünf Minuten, damit nicht alle Knoten gleichzeitig geleert werden.
Der Cronjob muss den folgenden Befehl ausführen:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
Dabei ist IP_address die IP-Adresse des Cassandra-Knotens.
ElasticSearch installieren: Maschine 1, 2 und 3
<ph type="x-smartling-placeholder">So installieren Sie ElasticSearch auf einem eigenen Knoten:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
Die Option „-p e“ gibt an, dass ElasticSearch installiert werden soll.
Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer. - (Optional) Wenn Sie ElasticSearch auf einem eigenständigen Knoten installieren, also nicht installiert
mit dem API-BaaS-Stack und passen Sie dann die Standardspeicheroption an, um den Speicher für
ElasticSearch von 4 GB auf 6 GB:
<ph type="x-smartling-placeholder">
- </ph>
- Öffnen Sie /opt/apigee/customer/application/elasticsearch.properties. in einem Editor. Falls diese Datei nicht vorhanden ist, erstellen Sie sie.
- Legen Sie setenv_elasticsearch_max_mem_size fest.
auf 6g (Standardeinstellung ist 4g):
setenv_elasticsearch_max_mem_size=6g - Speichern Sie die Datei.
- Führen Sie den folgenden Befehl aus:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch Neustart
Mit der Konfiguration wird die Einrichtung auf dem Knoten erfolgreich abgeschlossen.
API-BaaS-Stack installieren: Maschine 4, 5 und 6
So installieren Sie den API-BaaS-Stack auf einem eigenen Knoten:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
Die Option „-p b“ gibt an, dass der API-BaaS-Stack installiert werden soll.
Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.
Nachdem das Installationsprogramm die korrekten Admin-Anmeldedaten abgerufen hat, installiert es Tomcat und erstellt die API BaaS-Schlüsselbereiche und richtet den API-BaaS-Stack auf dem Server ein. SMTP ist außerdem so konfiguriert, dass um E-Mails zur Passwortbestätigung zu senden.
API BaaS-Portal installieren: Maschine 7
So installieren Sie das API BaaS-Portal:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
Die Option „-p p“ gibt an, dass das API BaaS-Portal installiert werden soll.
Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.
Das Installationsprogramm startet den Nginx-Webserver und beendet dann das API-BaaS-Portal Konfiguration. - Der nächste Schritt hängt von Ihrer Installation ab.
- Wenn vor den Portal- oder Stack-Knoten ein Load-Balancer vorhanden ist, finden Sie im nächsten Abschnitt wird beschrieben, wie Sie API BaaS für die Load-Balancer konfigurieren.
- Wenn vor den Portal- oder Stack-Knoten kein Load-Balancer vorhanden ist, führen Sie das Onboarding durch. eine Organisation, wie unten im Abschnitt Onboarding beschrieben einer neuen Organisation.
Notieren Sie sich die URL des API-BaaS-Portals. Dies ist die URL, die Sie in einen Browser eingeben, um auf die Benutzeroberfläche des BaaS-Portals des API
Konfigurieren API-BaaS-Knoten für einen Stack- oder Portal-Load-Balancer
Wenn Sie vor den Stack- oder Portalknoten ein Lastenausgleichsmodul einfügen, müssen Sie mit der richtigen URL des Load-Balancers. Für Stackknoten ist z. B. Folgendes erforderlich: Informationen in folgenden Fällen:
- Einfügen einer URL in Antworten in BaaS API-Anfragen.
- Links in E-Mail-Vorlagen hinzufügen, wenn Sie ein Passwort zurücksetzen oder andere Benachrichtigungen.
- Weiterleitung von Nutzern zu bestimmten Portalseiten
Wenn Sie einen Load-Balancer vor den Stack-Knoten verwenden, legen Sie das folgende Attribut fest in /opt/apigee/customer/application/usergrid.properties:
usergrid-deployment_usergrid.api.url.base=http://localhost:8080
Ersetzen Sie http://localhost:8080 durch die URL des Ladevorgangs. aus. Wenn der Load-Balancer für die Verwendung von TLS konfiguriert ist, verwenden Sie das HTTPS-Protokoll. Nur für Sie müssen Sie den Port angeben, wenn Sie einen nicht standardmäßigen Port verwenden, d. h. ein anderer Port. 80 für HTTP und Port 443 für HTTPS.
Außerdem müssen Sie die folgende Eigenschaft in /opt/apigee/customer/application/portal.properties festlegen, wenn verwenden Sie einen Load-Balancer vor den Stack-Knoten:
baas.portal.config.overrideUrl=http://localhost:8080
Ersetzen Sie http://localhost:8080 durch die URL des Load Balancer für den Stack.
Wenn Sie einen Load-Balancer vor dem Portalknoten verwenden, legen Sie die folgenden Attribute fest: in usergrid.properties:
usergrid-deployment_portal.url=http://localhost:9000
Ersetzen Sie http://localhost:9000 durch die URL des Load-Balancer. Wenn der Load-Balancer für die Verwendung von TLS konfiguriert ist, verwenden Sie das HTTPS-Protokoll. Ich Sie müssen den Port nur angeben, wenn Sie einen nicht standardmäßigen Port verwenden, d. h. einen anderen Port 80 für HTTP und Port 443 für HTTPS.
Nach der Bearbeitung von usergrid.properties und portal.properties:
- Konfigurieren Sie den Stackknoten:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - BaaS-Stack neu starten:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid neustart
Hinweis: Starten Sie BaaS-Stack-Knoten in derselben Reihenfolge neu. dass sie in BAAS_CLUSTER_SEEDS aufgeführt sind. BAAS_CLUSTER_SEEDS listet höchstens zwei von Stackknoten hinzufügen. Nachdem Sie diese beiden Knoten nacheinander neu gestartet haben, können Sie die verbleibenden Knoten in beliebiger Reihenfolge anordnen.
- Wenn Sie portal.properties geändert haben, konfigurieren Sie Folgendes:
dem Portalknoten:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - BaaS-Portal neu starten:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal neustart
Neue Organisation aufnehmen
Onboarding ist der Prozess, bei dem Sie einen Organisations- und Organisationsadministrator erstellen. Nachher Wenn Sie den Organisations- und Organisationsadministrator erstellen, können Sie sich im API BaaS-Portal anmelden. Benutzeroberfläche und stellen Anfragen an die API BaaS REST API.
Wenn Sie eine Organisation erstellen, gilt für die E-Mail-Adresse des Organisationsadministrators Folgendes:
- Muss sich von der E-Mail-Adresse des Systemadministrators unterscheiden.
- Darf unter allen anderen Organisationen nur einmal vorkommen. Das heißt, Sie können nicht zwei Organisationen erstellen, mit derselben E-Mail-Adresse für den Organisationsadministrator. Nach dem Erstellen des Organisation hinzufügen, können Sie weitere Administratoren hinzufügen, die über mehrere Unternehmen.
Verwenden Sie für das Onboarding das Python-Skript create_org_and_user.py. Wenn Sie dieses Skript ohne Befehlszeilenargumente aufrufen, werden Sie zur Eingabe aller Informationen:
> python create_org_and_user.py
Alternativ können Sie eine oder alle Optionen als Befehlszeilenargument übergeben. Sie werden aufgefordert, alle Informationen aus, die Sie in der Befehlszeile weglassen:
> python create_org_and_user.py -o '<org name>' > python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'
So erstellen Sie eine Organisation:
- Ändern Sie das Verzeichnis in /opt/apigee/baas-usergrid/bin.
- Rufen Sie das Python-Skript create_org_and_user.py auf.
Sie werden aufgefordert, den Nutzernamen und das Passwort des BaaS-Systemadministrators einzugeben, sodass nur ein Systemadministrator kann es von einem Administrator ausgeführt werden. - Melden Sie sich in einem Webbrowser im API BaaS-Portal mit der URL an, die Sie am Ende der
Installation der BaaS-Portal-URL der API. Um auf das Portal zuzugreifen, geben Sie die API-BaaS-Portal-URL ein in
das Formular:
http://{portalExternalIP}:9000/
Hinweis: Die IP ist die externe IP-Adresse bzw. der Hostname der Portalmaschine. Sicherstellen, dieser Port offen ist. - Wenn der Anmeldebildschirm des Portals angezeigt wird, haben Sie folgende Möglichkeiten:
<ph type="x-smartling-placeholder">
- </ph>
- Melden Sie sich mit dem Nutzernamen und Passwort des Organisationsadministrators an.
- Melden Sie sich mit dem Nutzernamen und Passwort des Administratoradministrators an.
Auf die BaaS REST API der API zugreifen
Für den Zugriff auf die API BaaS REST API verwenden Sie eine URL im folgenden Format:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
In einer Entwicklungsumgebung können Sie alle API-BaaS-Komponenten auf einem einzigen Knoten installieren, Sie haben also nur einen API-BaaS-Stack. Oder Sie haben eine kleine Umgebung mit einem einzigen API-BaaS-Stack-Knoten und kein Load-Balancer. In solchen Umgebungen können Sie API-Aufrufe direkt zum BaaS-Stack-Knoten des APIs:
curl -v "http://portalExternalIP:8080/status"
Weitere Informationen zu den ersten Schritten mit dem API BaaS-Portal finden Sie in der Apigee-Dokumentation unter: http://apigee.com/docs/content/build-apps-home.