I'm going to be setting up some development and server infrastructure for a BitShares project I have in mind that I hope will help grow the BitShares ecosystem. It'll be a web based project and may incorporate some WebVR technology for parts of what I have in mind. I’m planning on changing things up a bit compared to the way I usually develop and deploy things.
This new setup will need to do double duty for a hardware based cloud connected side-project I'm working on too, a project that I also hope to someday connect with the BitShares ecosystem. I am aiming to move away from largely Ruby/Rails focussed developer environments running directly on OSX , with Heroku being used as the main server/production environment.
I want to move to a Docker based workflow that uses Docker containers for local development of apps and for remote developer desktops too. I also want to use Docker on the server sometimes with Docker on its own (see ARM notes belwo) and sometimes by way of CoreOS and http://deis.io/
running on a dedicated baremetal server cluster I am setting up. As mentioned I'm am keen to Dockerise (or possibly Rocketise) the development environment and this needs to go as far as having dockerised dev envrionments with full XFCE4 installed that can be VNC'd in to from anywhere (see how Sony do it https://www.youtube.com/watch?v=M9hBsRUeRdg
My go to linux distro at the moment is Arch Linux and I have some development only Docker containers on my local dev machine and also separate EC2 AMIs (not-Docker) for remote developer desktops that are based off of it. These remote AMI based desktops allow me to take advantage of fast GPU EC2 instances to run 3d modelling apps over VirtualGL/TurboVNC. This allows me to avoid outlaying lots of cash on GPU hardware and also frees me up to model, in real-time, on my Macbook Air anywhere where I have a reasonably fast internet connection. The Arch based AMIs for remote GPU work took quite a while to setup and get working. I had Nvidia driver issues when I first tried to get things working with Ubunutu on EC2. The thing is - I really really love Arch and one of the main reasons for this is the Arch Wiki. It really helps me to better understand linux and spells out exactly how to get most things I want to get done on linux done. The Arch Wiki is light years ahead of Ubuntu support channels I experienced prior to discovering Arch (i.e. Googling or searching StackOverflow for seemingly random and conflicting opinions and approaches).
ARM support is very important too as my other project is hardware based and I'd like to run docker on the embedded ARM hardware there instead of running my code directly on baremetal Raspian/ArchArm. I'll be upgrading all of my ARM hardware in my prototypes to Rasberry Pi 2 or, more likely the Odroid-C1, and so this opens the doors to debian/ubunutu as they are ARMv7-A compatible. I'd also like to have the ability to deploy Docker containers to online.net upcoming ARM based server platform (http://labs.online.net/
) and so this is another reason that ARM is important too outside of my hardware based project. Arch has archlinuxarm.org which is great in my experience so far, but archlinuxarm.org is maintained by a separate group of people, not the same as the the core Arch linux maintainers, as far as I’m aware. So I'm wondering if baked in ARM support at the main distro level is the way to go and I’m not sure which distros support ARM out of the box?
So I guess my big dilemma is whether to continue to use Arch linux anywhere within the mix. For my Docker developer instances I'm trying to decide whether to stick with Arch, or possibly Manjaro based no Arch. Further is there anyone out there who uses an Arch based distro for server duty? I'm pretty sure the answer to that from you all will be - 'Are you crazy!’ In light of all of the above, and perhaps to stop me jumping around more than one distro, what distro(s) would you recommend I take a look at? If someone can recommend one distro I can run across all of these platforms that has documentation to rival the Arch Wiki then I am all ears!
Package availability is also important. I don't want to have to build absolutely everything from scratch. Also I like that Arch gives me the latest of everything due to rolling release, but obviously this is where the downsides come when you start to consider it as a server platform for server deployments. A distribution that gets the balance right between bleeding edge and being stuck in the dark ages would be great!
Basically this post http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/
got me wondering about all this and whether I should just standardise everything on Debian.