iconik is a globally load-balanced hybrid cloud system comprising of microservices. It is designed to be cloud-vendor independant but utilises 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 grown as needed.
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.
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 dependant on the same provider of infrastructure as the main iconik application. This utilises a serverless architecture using AWS Lambda, AWS CloudFront, AWS CloudWatch, AWS SNS and AWS S3.