HomeWorkInfrastructure · Databases

Infrastructure · Databases

Production platform for a telecom messaging service

I built the infrastructure for an enterprise telecom messaging platform: six integrated applications on more than 20 servers, from installing the operating systems to load balancing, replicated databases, monitoring and a tested way back from disaster.

Role
Infrastructure build & operations
Where
Hoboetech · production
Scale
20+ servers · 6 apps
Stack
HAProxy, MySQL, MongoDB, Grafana
ClientsAPI · SMPPHAProxyhealth checks6 APPSApp 1server poolApp 2server poolApp 3server poolDATAMySQLreplicatedMongoDBreplica setGrafana18 hosts · 40+ LXC

Results at a glance

  • 20+servers built from bare OS to production
  • 6integrated applications behind HAProxy
  • 18 + 40+bare-metal servers and LXC containers in Grafana
  • 2replicated data tiers: MySQL and MongoDB

The brief

A messaging platform for enterprise and operator customers needed a production home: six applications that talk to each other, two kinds of database, and traffic that can't stop. My job was the infrastructure underneath all of it.

What I did

Servers and network

I installed and configured the operating systems with a consistent baseline (users, SSH, time sync, firewall, log rotation), set up network interfaces and routing, and controlled internal and external access for every server.

Load balancing

HAProxy sits in front of the application servers with health checks, so a failed backend drops out of rotation on its own and traffic carries on.

Replicated data tier

  • MySQL replication, so the data exists on more than one server and a replica can take over if the primary fails.
  • MongoDB replica set, with automatic primary election when a member goes down.

Monitoring

Grafana dashboards and alerts cover 18 bare-metal servers and 40+ Proxmox LXC containers: system health, services, replication and application metrics.

Disaster recovery

Automated backups to separate backup servers, alerting when a backup fails, and written recovery procedures, so restoring doesn't depend on one person's memory.

Decisions and trade-offs

  • Replication is not a backup. Replicas copy mistakes too (a bad DELETE replicates in milliseconds), so the platform has both replication and independent, point-in-time backups.
  • Containers where they fit. Lightweight services run as LXC containers on Proxmox for density. Databases and heavy components get dedicated resources.

Outcome

The platform runs in production with a load-balanced, replicated core. Failed backends drop out on their own, and the team has dashboards, alerts and runbooks instead of guesswork. I still operate it day to day.

Contact

Got a server problem? Let's fix it.

Tell me what you're running and what's going wrong, or what you want built. I usually reply within a day (Pakistan time, UTC+5).

Ameer Hamza

Ameer Hamza

Linux Systems Engineer · Lahore, PK

Available · usually replies within a day