Website-management technology stack

Vixu.com is open about the technology stack used to provide the website-management software. If you're less interested in bits and bytes you still benefit from this open policy in regard to the software architecture. The system isn't proprietary to Vixu.com. Any competent technician can take the source code and use the information about the infrastructure in order to get the application up and running. Vixu.com considers itself to be the best provider, but this decision should always be up to the customer without a proprietary stack forcing the matter.

Clojure

The website-management software is written in Clojure, a modern Lisp variant hosted on the Java Virtual Machine (JVM). This language is a secret weapon that allows for rapid iteration and makes it possible to do more in less time (see the influential essay by Paul Graham, Beating the Averages). The client-side code that used to provide the administrative interface for the website-management software is written in ClojureScript. This version of Clojure compiles to JavaScript that can be run in any modern browser. Since everything is written in Lisp it is easy to integrate the Clojure code on the server-side with the ClojureScript on the client-side.

Google Closure library

The administrative interface of the website-management application uses the Google Closure library. This free, open source software is developed by Google as part of a company effort to standardize internal web development frameworks and to share code with the web community. Google Closure allows Vixu.com to focus on creating value. Reusing these high-quality widgets saves a lot of time that is spent on new functionality instead. The Google Closure project also includes a smart JavaScript compiler that makes the client-side code faster and smaller. This compiler is already a requirement for ClojureScript, so using the library has been the logical next step.

Java Virtual Machine (JVM)

The Java Virtual Machine (JVM) is proven technology. It is a mature, high-performance platform and a popular choice for enterprise technology. It was originally developed to support the Java programming language, but in the last few years other languages have started taking advantage of the JVM as a host platform. Clojure is more suitable for rapid development than Java, but is still able to interact with Java code because of the shared architecture. This is an important advantage, because it allows Clojure programmers to use existing Java libraries in order to avoid having to reinvent the wheel.

Apache Tomcat

Vixu.com uses Apache Tomcat as an application server to host the web application used to provide the website-management service. Tomcat has been developed under the wing of the Apache Software Foundation (ASF) since 1999. Tomcat is proven technology from the Java world that will happily serve as an application server for other JVM-based languages, like Clojure, as well.

Apache CouchDB

Vixu.com uses Apache CouchDB to store all user-generated data, including static files. Apache CouchDB is a document-oriented database (unlike traditional relational database systems like MySQL and Oracle), which is a good fit with the kind of data stored by the website-management application. Another advantage of CouchDB is the replication support. This makes it easy to scale websites and spread them out over multiple servers.

Debian GNU/Linux

Vixu.com uses Debian GNU/Linux as a server operating system. Debian is one of the oldest GNU/Linux distributions and has a strong commitment to the free software philosophy. This is important, because Vixu.com wants the whole technology stack to adhere to the principles of free, open source software. The "Debian Stable" release is conservative and mature. Before software packages are included they are tested thoroughly, often for years. This ensures stability and makes Debian Stable the reliable choice.