Living outside the cloud
May 2014
Building and deploying ngrok is a difficult challenge because of how it is deployed. Unlike most applications which run on Linux servers in datacenters, ngrok is downloaded and run on every popular operating system and architecture (and many unpopular ones too!). Supporting ngrok in these untrusted and varied environments comes with an interesting set of challenges that most application authors don't deal with. This talk discusses thoughts and techniques used to build and deploy ngrok for those environments including automatic updates, building user-friendly terminal UIs, coping with very old hardware, working around uses of CGo in the standard library and more.