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 Docker, for quick repeatable environments. Some of our older projects still use Vagrant and VirtualBox.
Resources are provisioned via Ansible, to reduce overhead in initial build and maintenance. Terraform is used in some projects to define hosted resources.
We use Git heavily in our operations, and GitHub and GitLab remain a large part of our infrastructure. GitHub and GitLab are used for project hosting, and the project Wikis and issue tracking are useful as well however we generally use Jira for issues and documentation. We use GitLab CI for automated testing and building of projects before they are deployed.
Main infrastructure technologies
DigitalOcean is an American cloud infrastructure provider that provisions virtual servers for software developers.
Amazon Web Services (AWS), is a collection of cloud computing services that make up the on-demand computing platform offered by Amazon.com. These services operate from 12 geographical regions across the world.
Linux needs no introduction. We use Linux extensively in our web-hosting offering.
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux.
Vagrant allows us to cheaply define virtual machines for each of our unique projects.
VirtualBox is a general-purpose full virtualizer for x86 hardware, targeted at server, desktop and embedded use.
GitHub is a web-based Git repository hosting service. It offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features.
GitLab is a self-hosted application for the entire software development lifecycle — including source code management, version control, CI/CD, monitoring and security.
GitLab Continuous Integration & Delivery automates the processes of integrating code into a repository, building, testing and releasing.
Share this post: