見出し画像

Building a Scalable AR Platform for The Future

Introduction

What do you think about when you hear AR? Why does it matter? Well, let’s put a pre-cursor. AR stands for artificial reality. Think “Pokemon-Go”. You have “fake” images in your field of view. Meaning you physically see something that isn’t actually there. Weird, right?


Well, at Pretia, we’re betting on the relevance that AR is going to have in our every day lives as technology improves to a point that vision and technology become the same thing. For example, glasses being built no different then they are now and you can see text message in your lens. More recently, you might notice cars having “heads up” displays that show your current speed on your drivers windshield. As we move further into the future, AR is an extremely powerful tool to help human kind.


Enough talk about the future of AR, let’s talk about actually building the future. I’d like to walk through some of the challenges we’ve faced and what we think about as we work to support the systems that make it possible to have AR in real-life. There are servers, hardware, and a lot of scalability needed at different intervals of the day based on real life users accessing our services.


Starting with a Platform

In our early days, we built a platform that offered the different services needed to supply multi-playing, real world positioning of “fake” images, and other helpful tools that developers needed to build out their own AR application. Starting with a few customers, we began to have more and more demand and usage. Our platform began to crash a lot. We needed to manually make service restarts and so forth.


This journey had our team brainstorming on what we could do to optimize our platform and ultimately support scaling it. We started to have more demand for our platform and our team was continuing to grow. We could not keep up with the demand. This is where our development team decided to introduce Kubernetes, and Terraform.


Scaling with Infrastructure as Code

Kubernetes is an amazingly powerful service for allowing you to deploy and re-deploy hundreds and thousands of services on demand at any point. Terraform is Infrastructure as Code, also known as IaC, By pairing both together, we were able to achieve a succinct and well balanced platform that is able to:

  1. Scale at any interval of demand based on our specifications.

  2. Enable developers to all be able to wrote scalable solutions by simply following the IaC template we enforced across all development service teams.

By having a scalable platform, it also enabled us to become more efficient by helping to reduce our resource usages on our cloud provider because we are able to control when scaling and de-scaling should happen. Meaning to lower the resources we are actively using.


With enabling our developers, no matter the experience, to be able to write a scalable service without needing to know the nuts-n-bolts of things. It helps speed our overall production releases due to the fact that we know we have a well-oiled process in place.


Where Does This….Scale

At the end of the day, AR technology is only growing in usage, which means we need services and servers to handle this demand. We focused on simplicity in design and scalability. Through our testing and validation and current usage, we are confident that this is only going to “scale” us into the future!


About the Author

David was born and raised in Chicago, IL USA where he graduated from GCU and WGU in Computer Science. David worked at Google as a software engineer before moving to Kanas City, Missouri to work for a startup called EyeVerify that later sold to Alibaba. Since then, David has gone on to help co-found startups in Fintech, Real Estate, Water Tech, and finally looking to help the AR industry.

この記事が気に入ったらサポートをしてみませんか?