Any application can run on Arvados, including non-free tools that are only available as binaries. Use wrapper scripts around vendor-provided source and binary distributions, rather than maintaining derivative works.
Use web technologies to tie components together, so programs can access Arvados regardless of programming language or framework.
Use the best tool, programming language, or framework for each component, instead of standardizing on a single platform for the sake of conformity.
Where possible, use established, widely understood components such as SSH, Git, Rails, and WebSockets rather than hand rolling custom components.
Use technologies such as virtualization and Linux containers to increase portability and flexibility of deployment.