Intro
2ndLifeLabs, a new game development studio, was preparing for the infrastructure required to support the development of its next game title. With the goal of enhancing scalability, security, and operational efficiency, the studio decided to transition some of its key game development infrastructure to AWS. This shift was essential in fostering the studio’s growth and supporting its innovative technology usage. To ensure a smooth migration and build, the studio partnered with DevOpsGroup to design and implement a robust AWS infrastructure solution. DevOpsGroup leveraged Infrastructure-as-Code (IaC) principles using Terraform for automation and seamless deployment.
Objective
2ndLifeLabs needed a cloud-based infrastructure capable of supporting their game development workflows while maintaining high availability, security, and scalability. The objective was to migrate core development tools, such as Perforce Helix Core, Swarm, and Jenkins, to AWS, integrate them seamlessly, and provide a scalable, automated environment for game development. The studio’s ultimate goal was to establish an efficient, secure, and easily accessible game development ecosystem on the cloud.
Key Challenges:
- ● High Availability & Scalability: Ensuring that the game development infrastructure could scale and be highly available for developers, without facing downtime or performance degradation.
- ● Security: Establishing secure access management for the development team and preventing unauthorized access to sensitive data.
- Automation: Automating the deployment and configuration of critical infrastructure components, including Perforce, Jenkins, and CI/CD pipelines.
- ● Observability & Monitoring: Implementing real-time monitoring, logging, and alerting for all infrastructure components, ensuring proactive issue detection and quick resolution.
- ● Integration: Seamlessly integrating multiple tools (Perforce Helix Core, JumpCloud, Jenkins, Remangu) and ensuring proper user access management and authentication.
Solution
To meet the studio’s infrastructure requirements, the following AWS services and configurations were implemented:
- ● AWS Account Setup: Multiple AWS accounts were set up for different environments (Development, Staging, Production) with role-based access through IAM for secure access management.
- ● Perforce Helix Core Deployment:
- Deployed Perforce Helix Core with a master and standby replica configuration, ensuring high availability and data redundancy across regions.
- Implemented automated data backups and monitoring for performance, CPU, storage, and server health via AWS CloudWatch.
- ● Perforce Swarm Deployment:
- Deployed Perforce Swarm for collaboration, integrated with Perforce Helix Core and secured with SSO through JumpCloud.
- CloudWatch monitoring integrated for real-time insights into server health and performance.
- ● JumpCloud Integration:
- JumpCloud was used for identity and device management, providing seamless user authentication for Perforce and AWS resources.
- Integrated with AWS Identity Center (SAML/SCIM) for centralized identity management and secure SSO across services.
- ● CI/CD Pipeline Setup with Jenkins:
- Deployed Jenkins on EC2 instances and integrated with Perforce to automate build and deployment pipelines.
- Configured a fully automated CI pipeline to build, test, and package Unreal Engine projects using pre-configured AMIs for consistent build environments.
- Integrated S3 for build artifact storage and automated backup solutions.
- ● Monitoring and Observability:
- Set up comprehensive monitoring and alerting using AWS CloudWatch for both Perforce servers, Jenkins, and other critical components.
- Configured logging for detailed insights into performance, resource usage, and application errors.
- ● Infrastructure as Code (IaC):
- Terraform was used to provision and manage all AWS resources, ensuring repeatable deployments and easy scalability.
- CloudFormation templates were also made available for users preferring to use AWS native IaC tools.
Challenges
● Integration Complexity: Successfully integrating various systems like Perforce, Jenkins, and Remangu while ensuring seamless communication and secure access across the tools.
● User Management: Ensuring secure, centralized user management across AWS, Perforce, and JumpCloud, with proper role-based access controls.
● Build Pipeline Optimization: Optimizing the CI pipeline to reduce build times and improve efficiency in packaging Unreal Engine projects.
● Real-time Monitoring and Backup: Implementing continuous monitoring, health checks, and automated backups while ensuring minimal overhead and downtime.
Benefits
● Scalable Infrastructure: The AWS infrastructure is capable of scaling automatically with fluctuating demands, ensuring high availability and quick access to development tools.
● Secure and Centralized User Management: With JumpCloud’s integration, user access management is centralized, allowing the team to securely access all development tools and resources via SSO.
● Enhanced Collaboration: Perforce Swarm integration facilitated seamless collaboration among developers with secure version control and streamlined workflows.
Automated Build Process: Jenkins automation allowed for quicker and more reliable builds, reducing deployment time and minimizing errors during the development process.
● Improved Monitoring & Alerting: Real-time monitoring and alerting via AWS CloudWatch enabled faster issue detection and resolution, reducing infrastructure-related downtimes.
● Cost Efficiency: The pay-as-you-go model of AWS helped minimize upfront costs and optimized resource allocation, significantly reducing operational expenses.
Success Criteria
The project met its success criteria with the following achievements:
● High Availability: Perforce Helix Core and Swarm were deployed with high availability and redundancy, ensuring minimal downtime and optimized performance.
● Centralized Identity Management: JumpCloud was fully integrated to manage users and devices, providing secure access and centralized authentication.
● Automated Build Pipeline: Jenkins CI was fully operational, with automated builds and packaging for Unreal Engine projects, reducing build time by 30%.
● Real-Time Monitoring: AWS CloudWatch was successfully integrated to provide continuous monitoring, logging, and alerting for all key infrastructure components.
● Security Compliance: All components were secured with best practices, including SSO, IAM roles, and encrypted backups.

Conclusion
2ndLifeLabs successfully transitioned its game development infrastructure to AWS with the help of a robust cloud solution designed to ensure scalability, security, and automation. The integration of Perforce Helix Core, Swarm, Jenkins CI/CD, and JumpCloud has streamlined their workflows, improved collaboration, and enhanced security across the board. By leveraging AWS’s cloud capabilities, 2ndLifeLabs has laid a solid foundation for its future growth, while ensuring efficient game development processes that can scale as the studio expands.
Head of Professional services
Michal Režnický
DevOpsGroup and their specialists are very structured, organized and always ready for meetings. In this project we worked with Pavel Krajkovic, junior DevOps Architect. I really appreciate Pavel Krajkovic’s calmness in explaining the infrastructure to a customer with little experience in this area. It is important to have strong communication skills when presenting a solution like this.