iconik System Architecture
iconik is a globally load-balanced hybrid cloud system comprising of microservices. It is designed to be cloud-vendor independent but utilizes services from multiple different cloud services.
Image showing the overview of iconik with third-party integrations
iconik mainly runs on Google Cloud Platform utilising global load balancing with failover support. Google Kubernetes Engine is responsible for managing individual microservices on Google Cloud, so there are always enough running instances of a particular service in a region to handle the current load and any potential failure. These individual services can be scaled up and down as needed, depending on the current load.
The main database is Apache Cassandra, and is running as a cluster within each individual region with replication to other regions to allow for both individual machine failures and region outages.
Other services such as RabbitMQ, Elastic, Transcode and Redis are managed and scaled by Kubernetes in each region.
iconik's application layer is composed of microservices and presented through an application gateway microservice.
Overall monitoring of the iconik application is separated out to Amazon AWS to not be dependent on the same provider of infrastructure as the main iconik application. This utilizes a serverless architecture using AWS Lambda, AWS CloudFront, AWS CloudWatch, AWS SNS and AWS S3.
A public page for the current status of iconik is available at https://status.iconik.io
More in-depth information
- Hybrid Cloud
- System Architecture and Redundancy
- Disaster Recovery Plan
Security is covered by the Security section of this help documentation.