bigpoint, great gaming, for everybody
Bigpoint was founded in 2002 with the goal to provide great games that everybody can play. A decade later and beyond, Bigpoint continues to challenge what is possible in the online gaming sector – technically and creatively.
With releases such as Seafight, DarkOrbit Reloaded and Farmerama, not to mention the more recent launches; Drakensang and WeFarm, Bigpoint consistently challenges the status quo, going beyond established benchmarks to introduce innovative gameplays that are loved by players of all categories.
This, unquestionably, has resulted in passionate Bigpoint communities, viewed not only as consumers, but as invaluable and trusted partners! These communities are involved in the shaping of the future of their titles as well as the company itself.
Limited by the properties of their colocation datacenter, Bigpoint wanted to reduce overcommitted server hardware and enable teams to easily deploy new services in development and production environments. To handle peak load on their forum platform 90 virtual servers were deployed. Every server needed to be bootstrapped with an automation framework, in addition a final manual configuration was required.
Due to this not fully automated setup, the lack of server orchestration, an upgrade of the operating system for all servers or scaling the platform was not easy to achieve. Also secure communication using encryption at transit was missing.
The ultimate goal was to implement an infrastructure environment that allows applying updates at any time in a scalable way; depending on the required load on demand.
We worked with Bigpoint to build a self scalable container platform based on a managed Kubernetes platform using AWS Elastic Kubernetes Service (EKS). AWS Relational Database Service (RDS) was used to provide a managed database service with minimum operative overhead. Additionally we built Continuous Integration and Continuous Delivery pipelines using GitLab CI/CD for deployment automation.
The AWS Landing Zone Solution guarantees an easy and secure multi account environment setup. Configured following AWS best practice patterns, the AWS Landing Zone includes four base accounts for a split responsibility model. The "Account Vending Machine", which is part of this solution,ensures that new accounts are created with a baseline configuration, sticking to the same best practice patterns.
Using Amazon Elastic Kubernete Service (EKS), Bigpoint teams are now able to easily deploy and scale infrastructure. EKS is scaling nodes and pods automatically, depending on workload, by utilizing "Horizontal Pod Autoscaler" and "Cluster Autoscaler". "AWS ALB Ingress Controller" creates new Application Load Balancers on demand and "External DNS" corresponding Route53 records. SSL Wildcard Certificates were created with Amazon Certificate Manager and picked up automatically by "AWS ALB Ingress Controller".
All this is built and deployed automatically with an infrastructure as code approach using Terraform. Infrastructure templates are integrated in GitLab CI code, changes are tested and released with a custom CI/CD pipeline. Saving Terraform state in S3 and using DynamoDB as a State Lock mechanism allows collaborative Terraform code development. Helm was used to build reusable application deployment templates that are deployed to Amazon EKS. Integrated in the application deployment pipeline, an application can easily be deployed after a successful build.
Results and Benefits
- Fast Deployments
- Reliable infrastructure
- Reduced time for operation
Bigpoint development teams can now easily deploy existing and new services, consuming all the EKS benefits, from decreased complexity, increasing productivity and platform reliability out of the box, without need to provision and manage own Kubernetes cluster.
The implemented feature set allows EKS to automatically add and remove resources as necessary. The number of servers was reduced from 90 down to a minimum of 6 servers. If required new nodes will be created by the cluster autoscaler.
Leveraging Terraform, IaC approach enables team to deploy EKS resources in different environments, providing reliable way of deploy the complete infrastructure.
Kubernetes as an orchestration platform reduced most of the operational overhead. In combination with the infrastructure as code approach and the new CI/CD pipelines most of the operational overhead is removed. Bigpoint teams can now make reliable and reproducible application deployments into AWS EKS at any time.
The initial time to prepare infrastructure for a new service went down from multiple days to just a few hours. Operating system updates are replaced by docker builds and can be performed by every team independently at any time. Another huge advantage is the ability to write reusable HELM templates for Kubernetes deployments without mastering the complexity of the Kubernetes CLI.