Infrastructure
The whole infrastructure is hosted on Azure.
Front facing parts
Azure Front Door
All *.ng-sos.com and *.*.ng-sos.com DNS records are aiming at Azure Front Door (AFD). AFD is then forwarding the communication to respective container apps, azure fuctions, virtual machines or storage accounts. All cashing and TLS termination is handled by AFD.
Networking
All applications are part of the same virtual private network. Primary use of VPN is the use of NAT Gateway, which ensure all communication comming from the services is wired through one of 2 dedicated public IP addresses for outgoing communication. There is also one fixed IP address for video server, used for utilization of UDP ports range for RTC.
Container apps
The majority of applications is hosted as container apps. The applications, using their short names, are following:
- admin
- apidoc
- cms
- eed
- ems
- identity
- portal
- webapp
Azure functions
There are currently 3 azure functions services being used with following short names:
- ems-functions
- els-functions
- verification
Virtual machines
Newly introduced is virtual machine handling video call processing and recording. Due to need for wide range of open ports and graphical processing, the video server is hosted on dedicated VM.
Data
There are three kinds of data storage services.
Storage account
This service is used to store live video recordings, chat media files, regions' metadata, and other, similar kinds of data.
Azure cosmos DB for MongoDB
MongoDB interface upon CosmosDB. Primary storage for agency configurations, users, incidents, etc.
Azure Key Vault
The keyvault is used for storing the certificates, secure files and other highly sensitive data.
Log Analytics workspace
Where all the logs, performance counters and console outputs meet. They are parsed and visualized via Application Insights. They are also used in availability and health alerts.