Service Development Experiment

Giang Trung
2 min readAug 23, 2020
  1. Kick off:
  • System architecture

How many CCU (concurrent active user) use your system?

How many server do you need ( DB, Service, Web).

Why need to separate DB, Service, Web? → DB should be stayed inside, Web Dashboard for admin controlling system, it’s standard is cannot directly connect to Dashboard and DB. Only admin can connect to Dashboard using VPN or local network. Also only DevOps can connect to DB.

  • Use case + Flowchart + Database + UX/UI
  • User management + Permission Matrix
  • Monitoring (Prometheus Grafana) + Logging (ELK) + Backup Plan

Need to monitor system to know system problem immediately. You can see the Log to find root cause and fix. But all system need backup plan in positive way. For example: If your system connect to Partner system and the connect between to system have problem, you should know problem by alert from monitoring tool and show log without connect to Server, find the reason and fix. But your system already died some hours. You better need a solution to automatically change the connect to other partner system at the same time with your alert.

2. Experiment

  • App need to send header in all the request with: app_version, platform (televison, phone, computer), OS (android, ios, ..), model, language, country, time and some client information that do not affect to security of your customer. It helps to find the root cause and also the solution.
  • Monitor your DB status, what is the delay query? to boot up.
  • Monitor your server (System load with core, CPU, disk, bandwidth)
  • Write admin log to DB to trace some important action.
  • Clean DB if unused.
  • Statistic count all API, what is most call API.

--

--