Only relevant information

Monitoring

We thoroughly monitor our applications, equipment, and communication channels and store the results in a database. If a parameter value changes, the time of change is logged. This monitoring helps to trace all the key performance indicators of the system and its environment, including:

  • Current utilization of equipment
  • Sizes of message queues at different stages
  • Available/utilized RAM size of each of the system components
  • Event processing speed
  • Execution of the queries to the database
  • Presence and number of errors and exceptions on the various system components (e.g., database interaction faults)
  • State and duration of sessions (e.g., TCP or SMPP) with customer's external systems or service providers' platforms
  • Density of the traffic of the customer's external systems
  • Speed of SMS message delivery to subscribers of different telecom service providers, and respective percentage shares of those providers – by telecom service providers and their communication channels
  • SMSC channels of telecom service providers (status data, utilization, etc.)

Availability and Scalability

We pay special attention to the availability and scalability of each platform service. With this in mind we have implemented software-based mechanisms, which ensure reliable operation of all the system components and smooth interaction between them. These mechanisms are underpinned by the following technologies and solutions:

  • Oracle RAC
  • Clustering
  • Distributed databases (Cassandra DB)
  • Modular architecture
  • Web server load balancing (Nginx)
  • Hardware load balancing (Cisco)
  • Quad redundancy of computing resources
  • Local caching based on Berkley DB
  • Isolation of infrastructure
  • 2 geographically dispersed datacenters