In the era of rapid development of information technology, the application of new technologies in software development is extremely necessary. Well aware of that, our company’s development team is constantly updating new technologies to make Aktivmap the leading GIS-based smart city and smart factory management software today.

Some of the technologies we have implemented and the effects it has brought to Aktivmap can be mentioned below:

1. Implement HA proxy for Aktivmap’s application tiers

HAProxy stands for High Availability Proxy, is a famous open source tool developed on Linux operating system. Application for TCP/HTTP load balancing solution as well as Proxy server solution (Proxy Server).

HAproxy is deployed to Aktivmap system to support monitoring of server parameters through a dashboard called HAproxy Stats. This dashboard helps:

  • Displays stats related to server health, current request rate, response rate.
  • Provides important parameters on the basis of configuration of the frontend, backend, default and global sections in the configuration file haproxy.cfg.

With HAProxy, the AktivMap system:

  • Significantly improve the performance of the system.
  • Increased server system reliability by distributing the workload across multiple AktivMap WebApp servers.

Monitor screen of servers when running HA – proxy

2. Applying master-slave architecture to Aktivmap’s data layer

Master slave is a communication model that allows data record to be performed on the master server, while reading data will be called to the slave server, which makes the Aktivmap system:

  • Clearly separate the flow of access to the system.
  • Reduce the traffic to the master server.
  • Easily scale the system horizontally as data grows over time.
  • Allows creating master backup to replace the master server when the master server is shutdown.
  • Combined load balancing HA proxy -> evenly distribute traffic, avoiding direct access to the database server.

Master-slave architecture

3. Deploy Aktivmap according to Multi – nodes architecture

Multi-nodes is an architecture created with the aim of ensuring improved availability for networks. Multi-node consists of individual servers connected to each other, these servers communicate with each other for the purpose of exchanging information and communicating with external networks. In the event of a failure, the services in the cluster work together to maintain stability and high availability for the system.

Multi – nodes architecture

Multi-nodes 3-layer resonance architecture:

  • HAProxy layer: responsible for receiving all requests to the Application cluster, applying failover to the HA proxy to avoid system crashes.
  • Application layer:
    • The set of server nodes that Haproxy can forward requests to, the more nodes will help the load capacity and performance of the system increase.
    • System reliability also increases with this method because when one node is disconnected from the proxy, other nodes can bear the load.
  • Data layer: built and deployed based on HAProxy to ensure security, high availability as well as performance when accessing Input/ Output.

3 resonance layers of Multi – nodes will help Aktivmap:

  • Increase the load capacity of the system
  • Improve system performance
  • Fix the sudden system shutdown

4. Deploy Aktivmap according to Docker Swarm architecture

Docker Swarm is a native Multi-node tool for Docker. It allows us to gather a number of Docker hosts together into a cluster and we can see it as a single virtual Docker host. And a Swarm is a cluster of one or more running Docker Engines. And Swarm mode provides features for cluster management and orchestration.

Docker Swarm architecture

Docker Swarm 3-tier architecture:

  • HAProxy layer: responsible for receiving all requests to the Application cluster, applying failover to the HA proxy to avoid system crashes.
  • Application layer:
    • Manage services running in nodes (docker machine) easily, especially in the matter of scale services.
    • Ensure a service is running stably by automatically replacing a crashed replicas with a new one.
    • Automatically assign IP to each service when changed, has its own DNS server, so you can access it through this DNS.
    • Swarm integrates load balancing with Round-robin algorithm.
    • The services communicate with each other through the TLS. Swarm security protocol, which helps to update the service’s image automatically and can roll back at any time.
  • Data layer: built and deployed based on HAProxy to ensure security, high availability as well as performance when accessing input/ ouput.

Benefits of Docker Swarm architecture for Aktivmap:

  • It is possible to deploy the system in a distributed form.
  • Nodes with the role of Worker can be located anywhere and are managed by the node with the role of Manager.
  • Easily scale horizontally, ensuring system stability.

The two architectures Multi – nodes and Docker Swarm differ only at the Application layer, but will bring different effects to the system. Based on customer needs, Aktivmap system will be deployed according to which architecture to bring the highest efficiency.

Compiled by: Hang VTT- VidaGIS

For more information about Aktivmap products, please see details here or contact phone number: 0243.755.8210/ email: info@vidagis.com.