Welcome to the technology section, here you’ll find information about the infrastructure and code which runs Security Industry Cloud.
Resilience and security are at the heart of our technology and we cater for failure at every layer of our application.
We have a small team of developers with a solutions architect led by a highly experienced professional architect who has designed and delivered several services similar in nature to Security Industry Cloud.
A mixture of programming languages have been used to produce the service including PHP, HTML, Javascript, jQuery, Python and NodeJS.
The majority of our service is written with PHP with a custom lightweight framework and hosted on Amazon Linux.
Imagicloud (the company that owns SI Cloud) are specialists in Cloud Computing and are Amazon Web Services Consulting Partners. Our infrastructure has been developed to top spec as a showcase infrastructure which is used to demonstrate security and operational excellence to clients who are considering choosing Imagicloud to help them on their cloud journeys.
We use Amazon Web Services to run the majority of our services in a global spot architecture, we host some monitoring and supporting services using Google Cloud Platform.
Architecture is in the hands of our in-house architects who are certified Amazon Web Services experts, and led by Geraint who has been delivering high traffic, complex solutions for high profile clients using AWS for more than 10 years.
We have opted for a fault tolerant, cross-region, spot architecture which offers a perfect balance of cost and reliability… we may experience very short outages from time to time, but they will generally be limited to a small number of users and be brief – any services which are absolutely required to respond due to risk to life are served from a separate highly resilient servers.
Amazon Web Services is the primary hosting provider for Security Industry Cloud, the platform is supported by our in house team of cloud engineers who are on call 24/7/365. We run a global spot architecture utilising a minimum of 2 regions, with all zones within each region utilised at any given time. Our service defaults to running in eu-west-1 (Dublin, Ireland), eu-west-2 (London, UK) and us-east-2 (Ohio, US), when required, the service can automatically move itself to other areas of the globe in response to demand and failure.
We use the following AWS Services:
Google Cloud Platform (GCP) is used minimally within our solution. A monitoring service is deployed here to provide an external view from Amazon Web Services and our status dashboard is also hosted here.
Services in use:
We have in depth monitoring of every layer of our infrastructure using a combination of tools including:
There are several layers of caching implemented across the infrastructure, here are details of just some of these caching methods we have implemented.
We use a variety of databases to store different types of data.
Our processing servers perform larger or long running tasks such as sending email, SMS, cleaning the database, creating PDF files, checking for anomalies and so forth.
Tasks arrive at this server through a variety of methods including:
The web application layer is situated upstream of the caching layer and traffic is distributed with load balancers. These servers run Amazon Linux 2 and do not have Internet access, they are entirely isolated for enhanced security.
The bulk of the application code is PHP, however some endpoints are serviced by Lambda functions written in Python or NodeJS.
In the event of a local region database failure, traffic automatically redirects to the closest online region while the local region recovers.
The components which form the web application layer include:
The following tools are used to automate the management of our platform:
Our service is globally deployed and has been designed with resilience and security as priorities, should a region fail, traffic will automatically redirect to the closest online working region – during the failover time some service interruption may be experienced but this typically lasts no more than 2-3 minutes.
We take daily database dump backups, and snapshots of running database servers once every 4 hours. We retain backups for up to 30 days.
Our monitoring solution is linked to our automation services and can perform automated fixes in some scenarios, when this is not possible a notification is sent to the Imagicloud 24/7 infrastructure support team.