This is mostly a software (infrastructure) dev gig for a start-up, which is a bit new to me
coming from a more traditional DevOps role with a mature company.
There is a ton of specialized space
related equipment here that present interesting problems in DevOps.
I’ve learned a ton about embedded computers, networking and network automation,
which has opened my world up to all sorts of home projects for which I am very grateful for.
So far, I’ve been responsible for the following:
Establishing Infrastructure as Code (IaC) as standard practice with Ansible.
Implementing a netboot infrastructure for our development servers - RPis -
using Packer, PXE, Awx (Ansible Tower) to keep them synced, predictable, and up-to-date.
Built a custom Linux router to support our unique hardware testing requirements
for on-demand subnet generation/teardown for isolated tests.
Automated our Lab network infrastructure with Ansible.
Devised a test-automation framework using Django to facilitate reservation,
as well as HIL
(Hardware-In-the-Loop) testing to allow us to more reliably, and frequently test our HW.
Designed and deployed our highly-available Kubernetes cluster to be our software
platform going forward.
Beyond my work as an Individual Contributor (IC), I’ve also been responsible for instilling DevOps
principles within the team on our journey to maturity.
2019 - 2020
Worked as a DevOps Engineer at AcuityAds in Toronto.
The main selling point for me to work here is that Acuity does not use
AWS, GCP or Azure etc. to host its infrastructure, it has its own on-prem ‘cloud’.
This presents substantial challenges for us as DevOps Engineers that would normally be handled by a
public cloud provider.
Apart from this, due to the nature of adtech, we deal with massive amounts of data, which forces
us to be very careful about the types of technologies we use (scale).
Here is a subset of what I’ve gained experience with during my time:
Infrastructure: VMWare, Physical
Provisioning: Ansible, Terraform, Cobbler
Containerization: Docker, Kubernetes
CI/CD: Git, BitBucket, Bamboo (we host the entire Atlassian suite in-house)
Monitoring:
TICK (Telegraf, Influxdb, Chronograf, Kapacitor)
ELK (Elasticsearch, Logstash, Kibana), with filebeat and metricbeat beats
Prometheus
Grafana
Nagios, Pagerduty, Pingdom
Data: MySql, Aerospike, Kafka, HDFS, Druid
Scripting: Golang, Bash, Python. Some of my work can be on my Gitlab profile:
Golang:
a fast, containerized cron script
that interacts with Druid, MySql, and Influxdb written in Go.
Basic unit testing.
This is a job that powers one of our major alerting dashboards.
a containerized highly modular Rest Api
that writes to Influxdb.
This is something we run in K8S as a Service to monitor Cronjobs that run in K8S.
Python: a script to migrate
Slack exports to MS Teams messages.
This is something we used when we gave up on Slack.
Bash: a small collection of helper
scripts that I used frequently for random things.
2016 - 2017
I worked at Achiga (formerly WebCanada) as
part of my PEY (internship)
program from U of T for 12 months. As part of this, I was involved in:
A fast paced Agile environment where I was a Full Stack Developer working with
PHP (Zend), MySql, and JavaScript.
Git + BitBucket + JIRA (basically the whole Atlassian suite), with Vagrant
The Pipeline team working on day to day features and bugs in the CMS powering thousands of
local hotel sites around the world for Starwood Hotels.
Debugging and optimizing cronjobs responsible for storing hotel rates in
our database which is critical to hotel revenue.
Contributing to the Gallery Page (CMS as well as user facing UI).
See Design Hotels Gallery Page
towards the end of my tenure.
2014 - 2016
I’ve worked on several other small-buisness type projects involving website designing,
and scripting over the years in between semesters.