Community Ops/PaaS: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 4: Line 4:


===AWS Architecture===
===AWS Architecture===
[[File:Ca6cacef9dff91f5c3cfa1ec271f90bac2fb41fe.png|thumbnail|aws cluster]]
* Mesos master nodes
* Mesos master nodes
** Mesos master
** Mesos master
Line 28: Line 31:
** OpenVPN server
** OpenVPN server


[[File:Ca6cacef9dff91f5c3cfa1ec271f90bac2fb41fe.png|thumbnail|aws cluster]]
 


===Software stack===
===Software stack===

Revision as of 16:56, 31 March 2016

Community Ops - PaaS

Purpose

Currently, Community websites are hosted on a variety of different infrastructure with no clear owner or maintainer, which has lead to downtime, security, and budgeting issues. The goal of this PaaS is to provide the production-quality infrastructure that the community and internal teams can use to host their services.

AWS Architecture

aws cluster
  • Mesos master nodes
    • Mesos master
    • Marathon
    • Zookeeper
    • Haproxy
    • Bamboo
  • Mesos slave nodes
    • Mesos slave
    • Docker
  • Shared RDS databases
    • PostgreSQL
    • MySQL
  • Consul shared nodes
    • Consul for both prod/staging
  • GlusterFS shared nodes
    • GlusterFS storage servers for both prod/staging
  • Bastion node
    • OpenVPN server


Software stack

Apache Mesos

Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications or frameworks.

Apache ZooKeeper

Apache ZooKeeper provides distributed configuration service, synchronization service, and naming registry for large distributed systems.

Marathon

Marathon is a production-grade container orchestration platform for Apache Mesos.

HAProxy

HAProxy is a high availability load balancer/proxy for TCP and HTTP application.

Bamboo

Bamboo is a HAProxy auto configuration and auto service discovery for Mesos Marathon.

Configuration Management