In March of 2016, I left Garmin to join former co-workers DaShaun Carter and David Kelly at a startup company. DaShaun worked for months setting up our environment and developing the software stack before David and I joined him. He built a hosted vSphere environment running across two data centers on which we run DC/OS, the Apache Mesos distributed system kernel.
We use Marathon to orchestrate microservice Docker containers. It lets us easily spin up and monitor multiple instances of each microservice. This allows us to roll out updates or restart instances without any downtime.
Part of what is so attractive about joining a startup is that there is no technology debt. Our microservices architecture is built using Spring Boot, Spring Cloud, and Spring Cloud Netflix. Our presentation layer is a mobile application written in Angular 2 and packaged for IOS and Android using Adobe PhoneGap. It’s fun being on the cutting edge!
Diversifying into the Public Cloud
Recently, we decided to move test and QA on to a public cloud platform to isolate our production environment, partly because it is cheaper than adding capacity to our hosted vSphere environment. This month we are doing a bake-off between AWS, GCE (Google Compute Engine), and Azure. David took AWS, I took GCE, and DaShaun took Azure.
The following series of posts will record my experience setting DC/OS on GCE.