Pixel Federation relies heavily on their logging data. They use them for debugging purposes but also for application profiling. They needed a solution that could ingest all of their logging data with the ability to perform advanced analytic queries and create dashboards based on the collected data.
Tech Stack
- AWS EC2, Kubernetes (kops), EKS
- Aurora, ElastiCache, OpenSearch
- PHP, Symfony
- Terraform, Helm
The Client
Pixel Federation, Ltd. is a Slovak game developing and publishing company headquartered in Slovakia. Founded in 2007, the company’s most successful titles are free-to-play browser and app games Diggy’s Adventures, Seaport, TrainStation and Emporea. It is one of the top 20 Facebook game development studios in the EMEA region. It has over two hundred employees and reached 31 million EUR of revenue in 2019.
Challenge
Pixel Federation runs all of their services in multiple Kubernetes clusters. Due to the nature of Kubernetes and the changing amount of players, the environments are very dynamic. The size of the clusters often double during the day and scale down in times of decreased activity.
The customer was looking for a solution that could accommodate all of these changes and enable them to have greater visibility to the whole system. Furthermore, they wanted to dispatch profiling data within their logs, which could be later on used for performance optimization of their services and additional analytics.
230k
indexing ops/min
6 TBs
of log data in total
10
nodes
Solution
Based on the customer requirements, we chose AWS OpenSeach Service as an ideal solution for the challenge we faced. All system services and addons running within the Kubernetes environments dispatch logs to stdout which are collected by vector.dev log collector DaemonSets, enriched with labels and additional metadata, and dispatched to a dedicated AWS OpenSearch Service instance.
The logs from customer specific services and game backends are collected via a vector.dev sidecars which are running alongside each instance of any application. This gives the customer the ability to apply different processing jobs within the log collector, without additional configuration overhead. The logs are then dispatched to a dedicated AWS OpenSearch Service instance.
The customer is able to profile their applications based on the collected log data thanks to the power query and analytic engine that Opensearch provides. The customers operations team has access to multiple dashboards within the Opensearch dashboards service that help quickly identify any problem or analyze the performance of each game backend.