Primitive.io AWS GitHub Integration


About Primitive.io

Primitive.io is a software company that turns the output of software analyses into interactive 3D structures that are displayed in immersive VR. This allows a team of software developers to see:

  • Architectural Overviews - up to several million lines of code
  • 3D Call Graphs - spatial layouts that are clearer and more memorable
  • Multi-thread Runtime Animations - allowing collaboration in debugging and performance evaluation


Problem

Primitive.io lacked the expertise to build a system that would allow them to collect open-source project information from GitHub to power its Virtual Reality code browser solution. They needed a cost-efficient and highly scalable performance solution that would allow them to minimize the amount of time it would have taken to learn and build a solution.


Solution

In order to collect and deliver the data needed in an economical manner, a sophisticated cloud solution was implemented. A cloud-based architecture utilizing various AWS services allowed for scalable performance in an efficient way. To achieve these results, a combination of AWS services were implemented including Lambda, Fargate, S3, DynamoDB, RDS (Postgres), API Gateway, and SQS.

API Gateway, in conjunction with Lambda, was used to provide both REST-based and WebSocket based APIs. The WebSocket APIs provided access to Primitive's VR client to stream asset data.

The REST API allowed for the scheduling of tasks to use the GitHub API to collect repo information.

SQS was employed to communicate between API requests and other Lambdas to retrieve information from GitHub. Additionally, Fargate tasks were executed based on SQS messages to generate VR asset information from GitHub repos.

Fargate was chosen as these tasks require more computational time than allowed by Lambda.
DynamoDB was used as a simple caching mechanism for the Fargate tasks while Postgres in RDS was used to store information retrieved from the GitHub API.


Results

The project was implemented in just 12 weeks and provided Primitive.io with a scalable, cost-efficient platform that will allow them to continue to expand without having to redevelop their solution. Primitive.io shared that it would have taken three times as long to figure out how to build the solution themselves. By engaging with Rural Sourcing, they were able to hire for the specialized expertise they needed, learn how they can do it themselves in the future, and deploy a timely solution.

Curious how domestic sourcing can save you time & money?