Technologies
Topia's team has experience with a wide range of leading edge technologies. Some of the most interesting will be listed here.
In general we use Free and Open Source software whenever possible. The result is more choice, much more flexibility, and the ability to scale at a moment's notice. Topia releases code as Open Source whenever possible, subject to client agreement.
Big Data / Redundancy / Map-Reduce
- Cassandra - An industry-leading highly scalable database that solves the problem of many concurrent writes
- Hadoop - A related scalable system that allows massive computation for analysis or general data processing, using low-cost hardware
- Hadoop's friends - such as Hive/Pig/Mahout - all of these find their place in staying nimble and responding to change
Partly Disconnected Operation
- CouchDB is a NoSQL database whose super-power is supporting disconnected operation. Ideal for field-operation applications for the iPhone
Web Frameworks
- Django - One of the leading web frameworks, with an impeccable pedigree, and a large library of off-the-shelf components
- Pyramid - the result of blending the successful Repoze.bfg and Pylons projects
Content Management
- Django-CMS
- Plone
Scalability
- NGINX
- Apache
- In the context of Django, modern tools that stretch the value of SQL as far as it can go...
- Cache Machine - a great caching system that offloads the relational database, and facilitates scaling on SQL
- Celery - an asynchronous task queue based on message passing
- Memcached - the classic distributed in-memory key-value store
Management and Realtime Graphing
- Graphite - An enterprise scalable realtime graphing system
- OpenNMS - an Open Source network management system
Languages
- For sheer productivity, and flexibility, Python
- For embedded components, or special projects, C/C++/XC
- For occasional use, shell scripting
- For legacy components other languages, such as Delphi or VB
Glue
- Fabric - a extension 'language' to python for configuring servers for rapid and reliable deployment
- Vagrant - a means of working in diverse environments (desktop/server, Mac, Linux) in a consistent and reliable way, using VirtualBox

