Technologies and tools we use to build, deploy and maintain software at Springtimesoft Consulting.

We are strong believers in open source and use open source technology when we can.

Infrastructure

Our servers all live in the cloud, a mixture of Digital Ocean and Amazon’s AWS depending on the project requirements. We use Linux heavily (mainly Ubuntu), and this is mirrored in our development environments, which are built around Vagrant and VirtualBox, for quick repeatable environments.

Terraform is used at the highest level, to define hosted resources, from here resources are provisioned via Ansible, to reduce overhead in initial build and maintenance.

We use Git heavily in our operations, and GitHub remains a large part of our infrastructure. GitHub is used for project hosting, and the project Wikis and issue tracking are useful as well.

Stack

This part can vary a lot depending on the project, however our typical stack consists of Linux, Git, Nginx, PHP, and MySQL. This is often combined with Redis, RabbitMQ, Solr/Elasticsearch, Postfix as support. When in a load-balanced environment we often make use of Amazon’s S3 for file storage. This is all supplemented with the odd home grown tool or script written in Python, Ruby or Golang.

Docker is also being introduced in some areas, and is currently used to build our own website.

Frameworks

Backend

We encourage using the best tool for the job, for heavy e-commerce projects this generally boils down to Magento, though for shops that don’t need all of the heavy Magento features, we have our own in-house solution built for the New Zealand e-commerce market called Shopalicious (built on the Symfony framework).

When projects are content heavy we suggest using Drupal or Silverstripe (flexibility and a world-class editing experience is what matters here).

For projects with more complex requirements, we are heavily in favour of using the Symfony framework. Symfony provides a strong base on top of the Model View Controller paradigm for building web software, and with solid development practices is perfect for encapsulating business logic in a future-proof fashion.

For those content-driven websites that are in need of an MVP we suggest using Jekyll. This is great to prototype with and for quickly getting a website up while the content is worked on incrementally.

Frontend

On the frontend we generally start with Twitter’s Bootstrap, on top of this we use SASS or LESS to compile and manage CSS, and a mixture of jQuery and Angular depending on the project.

View list of all technologies and tools we use at Springtimesoft.

Related Blog Posts