Community Ops/PaaS
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
- 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
- Ansible playbooks
- Terraform configuration