Apps/ServerArchitecture

From MozillaWiki
Jump to: navigation, search

appsync.png

Overview

  • The appsync server provides
    • appsync APIs
    • the static myapps website
    • a MySQL database that mirrors all writes
  • The sauropod server is a Node.js server
    • keeps sessions in memory (DB tokens)
    • proxies the calls to the HBAse server
  • The HBase cluster manage the data

appsync/myapps

memcached

  • Points of contact
    • Ops: Gozer
    • appsync-stage1.vm1.labs.sjc1.mozilla.com
  • stack
    • CentOS 6
    • Python 2.6
    • nginx
    • gunicorn
    • appsync server
  • status - DEPLOYED

Sauropod Node.JS server

  • Points of contact
    • Ops: Gozer
    • Devs: ?
  • Servers
    • sauropod-stage1.vm1.labs.sjc1.mozilla.com
  • stack
    • CentOS6
    • node.js 0.6.3 from mozilla-services package repository
    • direct checkout from github
  • status - Hackishly deployed
  • CI / CD - not yet

Sauropod HBase stack

  • Points of contact
    • Ops: Gozer
    • Devs: rtilder
  • Servers
    • appsync-hbase-stage1.vm1.labs.sjc1.mozilla.com
      • "master": running the namenode
      • Zookeeper quorum node
      • Also running as an HDFS data node and HBase region server
    • appsync-hbase-stage2.vm1.labs.sjc1.mozilla.com
      • "slave": running HDFS data node and HBase region server
      • Zookeeper quorum node
  • stack
    • CentOS6
    • Sun JVM 1.6.0
    • Cloudera HBase distro version CDH3U2
  • status - DEPLOYED
  • CI / CD - none

open questions

  • how to load balance sauropod ? client-side ? Zeus ?
  • backup on the sauropod nodes ?