Airtame is a complex wireless screen sharing machine. Ever wondered how it all comes together for you, the end user? Our small but powerful infrastructure team dishes the dirt in this behind-the-scenes piece
Airtame is a complex wireless screen sharing machine. Ever wondered how it all comes together for you, the end user? Our small but powerful infrastructure team dishes the dirt in this behind-the-scenes piece
Airtame is a wireless screen sharing solution consisting of the app you use on your machine, the physical device running certain hardware and software, and our Cloud platform, where you can manage Airtame devices.
We support most end-user platforms (Apple, Windows, Chromebook, Linux, plus mobile platforms like iOS and Android) and, together with the infrastructure powering our Cloud, we need to maintain environments with many different requirements and challenges.
To make all that happen, Airtame needs a committed tech team. That’s where we come in.
The Infrastructure team at Airtame is made up of 2 people – Peter and I – and a lot of automation.
While the developers do the actual work of creating the application, firmware, or the Airtame Cloud product, we’re concerned with making sure this can happen continuously, automatically and in a secure environment – on all platforms and in the Cloud.
To be able to upgrade your devices remotely with the Airtame Cloud, we need to run the platform (the services it consists of) somewhere – keeping your data secure and making sure you and the Airtame device can always talk to Airtame Cloud. We recently transformed our Cloud service, which you can read about here.
For this to work, we need to manage all the requests that Airtame Cloud receives and respond appropriately – your device connecting to Airtame Cloud needs to be handled differently than you opening Airtame Cloud in the browser.
We need to run databases that handle queries, proxies that handle requests and services that replicate, scaling automatically when people use our product at high volumes so that Airtame Cloud works fast and is always reachable.
In short, we make sure that all the good work done by the rest of the Airtame team works well with you, our users.
Just like you need a Windows, Mac or Linux machine to run the Airtame application, we also need a Windows, Mac and Linux machine to turn the source code our developers wrote into airtame.exe, airtame.dmg or airtame.tar.gz.
To be able to create these packaged applications, our machines need to be configured in a specific way. They need to have other applications pre-installed, be able to download the source code and they should automatically create airtame.exe when a developer sends code to our code review platform.
We have services running both internally and externally, so either hosted in-house or running somewhere else:
All of this needs to come together. Software needs to be on some version and configured with certain options, and only select services should be able to talk to each other, but those do need to talk. If something stops working, it should ideally fix itself, or at least let us know.
People working at Airtame also need an airtame.com email address; some VPN access to our internal network (which we manage, too) when working remotely; our source code needs to live somewhere and we also host and/or develop services that make other employee’s lives easier.
This support materializes in many forms. We make bots that make sure someone brings breakfast to team status meetings, or a directory software where we can give people access to machines by running a script. If it’s technologically possible for us to optimize our workflow, it’s down to the infrastructure team to synthesize it.
While our primary focus is to keep things running, we spend a lot of time automating creating the services we need, so that even when the Airtame HQ burns down, we can go buy some other servers and be back in business within days, in theory.
Fortunately, no such crisis has happened thus far but, just in case, we also continuously back-up our important data. We’ll share how we try to achieve all of this in an upcoming post.