As a starter, I’m starting a journey to migrate my old Asus laptop that has worked as a server from 2009 with Ubuntu LTS 14.04 OS. It has served me well, but it really due to be containerized and micro-serviced and shot to the cloud.
The aim is to have DB (probably MarianDB), OwnCloud, Irssi (a lightweight IRC Shell) and MurMur as containers linked together - trying to maintain the philosophy of the twelve-factor app (read more here http://12factor.net/).
In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that:
Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
Minimize divergence between development and production, enabling continuous deployment for maximum agility;
And can scale up without significant changes to tooling, architecture, or development practices.
My main focus through this exercise will be on horizontal scalability and easy management. As an IT-Pro, I give a lot of value on automation and streamlined ways of operating. One of my true heroes, Jeffrey Snover, has a quote that I have really taken to heart - if you have to do it twice, automate it!
See you soon in part 1. as we start up the services. I’m thinking about MS Azure, as I have the most experience with it, but I’m also looking in to Digital Ocean and AWS.