Metaverse

Scaling Metaverse Pixel Streaming

Metaverse

About the Client

Our client is an innovative company specializing in creating high-impact Digital Experiences for global industry leaders and major brands in the Lifesciences, Healthcare, and Engineering domains.

Project Goals

The primary objective of the project was to establish a scalable pixel streaming setup that dynamically scales containers or servers based on the number of users. Each user should have a separate experience, and the experience should be automatically terminated when the user leaves.

Challenges

1. Cost-effective solution with minimal boot time:

Develop a solution that optimizes costs while ensuring fast boot times for users, enabling efficient resource utilization.

2. Resolving the single-user server issue:

Overcome the limitation of a single server per user and implement a scalable approach to accommodate multiple users simultaneously.

3. Limited documentation and research time:

Address the challenge of working with new technology by conducting thorough research within the given timeframe to gather insights and best practices.

Solutions

To overcome the challenges and achieve the project goals, we implemented the
following solutions:

Containerized User Experience

Instead of allocating a dedicated server for each user, we adopted a containerized approach where each user had their own container, enabling efficient utilization of server resources and cost optimization.

ContainerizationDynamic Configuration with Docker Compose

Leveraging Docker Compose, we implemented dynamic configuration for containers, allowing flexible management and efficient scaling based on user demand.

Scalable Container Deployment with ECS and ECR

We deployed containers on Amazon Elastic Container Service (ECS) using task definition files, and leveraged Amazon Elastic Container Registry (ECR) for secure storage of container images. This ensured scalable and reliable infrastructure management.

Dynamic Port Assignment with Lambda and API Gateway

Employing Lambda functions and API Gateway, we dynamically assigned ports to containers, enabling each user to have a unique experience while efficiently managing resources.

Efficient Traffic Management with Matchmaker Script

We developed a Node. js-based matchmaker script to handle traffic management. The script identified available containers and redirected users to them, or provided a waiting page until a server became available. This optimized resource utilization and improved the user experience.

Global Accessibility with CloudFront

Leveraging Amazon CloudFront, a content delivery network (CDN), we ensured global accessibility of the pixel streaming experience with low latency, providing a seamless user experience across regions.

Tech Stack

Key Benefits Delivered

s4-color

Cost Optimization

The container-based approach and dynamic scaling optimized costs, ensuring efficient resource utilization and minimizing expenses.

Cost Optimization

The container-based approach and dynamic scaling optimized costs, ensuring efficient resource utilization and minimizing expenses.

team0

Enhanced Scalability

The solution is seamlessly scaled to accommodate multiple users simultaneously, providing a smooth user experience even during peak demand.

Enhanced Scalability

The solution is seamlessly scaled to accommodate multiple users simultaneously, providing a smooth user experience even during peak demand.

optimization1

Efficient Resource Utilization

Multiple user experiences running on a single server/container improved resource utilization, resulting in cost savings and improved performance.

Efficient Resource Utilization

Multiple user experiences running on a single server/container improved resource utilization, resulting in cost savings and improved performance.

cloud-server

Global Accessibility

Leveraging Amazon CloudFront, the solution enabled global accessibility with minimal latency, enhancing user experience worldwide.

Global Accessibility

Leveraging Amazon CloudFront, the solution enabled global accessibility with minimal latency, enhancing user experience worldwide.

laptop-screen

Streamlined Deployment

By utilizing Docker Compose, ECS, and ECR, the deployment and management of containers were simplified, reducing complexity and ensuring efficient operations.

Streamlined Deployment

By utilizing Docker Compose, ECS, and ECR, the deployment and management of containers were simplified, reducing complexity and ensuring efficient operations.