Nathan Sullivan, Developer in Brisbane, Queensland, Australia
Nathan is available for hire
Hire Nathan

Nathan Sullivan

Verified Expert  in Engineering

DevOps Engineer and Developer

Brisbane, Queensland, Australia

Toptal member since November 21, 2022

Bio

Nathan is a senior DevOps engineer with over a decade of experience building cloud and on-premises server infrastructure and running various Ops, DevOps, and SRE-related coding projects. Before that, he worked in network administration systems holding administration, NOC, and software development roles. With a comprehensive skillset, Nathan is a dedicated professional willing to leverage his experience in exciting new projects.

Portfolio

Graphiant
Go, Linux, Kubernetes, Azure Kubernetes Service (AKS), Azure, Terraform, Helm...
TED Conferences, LLC
Go, Ruby, Ruby on Rails (RoR), Node.js, Terraform, Bash...
Kixeye
Linux, MySQL, MongoDB, RabbitMQ, NGINX, Perforce, Rackspace...

Experience

Availability

Part-time

Preferred Environment

Linux, MacOS, Windows, Vim Text Editor, Slack, Firefox, Chrome, Amazon EKS

The most amazing...

...team I've been part of allowed me to build and maintain the server infrastructure behind TED Talks.

Work Experience

Senior DevOps Engineer

2021 - 2022
Graphiant
  • Orchestrated a greenfield around 25 services local development stack using Kubernetes and Tilt, allowing developers to run a full stack of internally developed services, multiple databases, and open source components on top of Linux and macOS.
  • Architected and deployed a multi-environment Azure infrastructure topology consisting of Azure Kubernetes Service (AKS) clusters and managed PostgreSQL, multiple VNets with VNet peering, and OpenVPN for staff VNet access using Terraform.
  • Built a management network in Azure with site-to-site VPN connectivity to on-premises equipment across multiple environments and regions using Terraform CDK for Python and GitLab CI.
  • Deployed and managed internally hosted GitLab Runners on Azure AKS and reduced average total CI pipeline runtimes from around 12 mins to approximately four mins via aggressive pipeline tuning and caching.
Technologies: Go, Linux, Kubernetes, Azure Kubernetes Service (AKS), Azure, Terraform, Helm, Python, Networking, Git, GitLab, GitLab CI/CD, DevOps, CI/CD Pipelines, DevOps Engineer, System Administration, Grafana, VPN

Senior DevOps Engineer

2015 - 2021
TED Conferences, LLC
  • Defined and architected a Docker strategy using Amazon ECS with Packer AMIs for underlying nodes, Consul for service discovery, a custom Go CLI tool to wrap Docker CLI, and Amazon ECS APIs to simplify multi-repo deploys.
  • Built an Elasticsearch operational deployment strategy with nodes split between EC2 and ECS.
  • Created a semi-immutable infrastructure using Packer to build AMIs and a test suite in Terratest and Goss. Primary logging clusters handle more than 450 GB or 368 million docs daily.
  • Maintained the co-architected centralized logging infrastructure using Filebeat at the edge and custom Go CDN log parser for scale.
  • Ingested all the above into Elasticsearch, RSpec tests for end-to-end Logstash pipeline, and Go and Docker tests for end-to-end CDN log ingest pipeline.
Technologies: Go, Ruby, Ruby on Rails (RoR), Node.js, Terraform, Bash, Amazon Elastic Container Service (ECS), Docker, Docker Compose, Docker Hub, Networks, Cloud Storage, Storage Development, Linux, MacOS, GitHub, Git, Amazon Web Services (AWS), DevOps, CI/CD Pipelines, DevOps Engineer, System Administration, Grafana, Amazon Virtual Private Cloud (VPC), AWS Cloud Architecture, Amazon EC2, Amazon RDS, Cost Analysis, Cost Control

DevOps Engineer

2013 - 2015
Kixeye
  • Oversaw load testing and pre-launch tasks in the first three months, quick ramp-up from onboarding.
  • Implemented a Vagrant development environment to allow developers to run the whole game stack locally, including MySQL, MongoDB, RabbitMQ, and Nginx/PHP, tie-ing in with Perforce.
  • Architected an AWS migration strategy, including creating ephemeral load test environments using EC2, Packer, and a custom Ruby script.
Technologies: Linux, MySQL, MongoDB, RabbitMQ, NGINX, Perforce, Rackspace, Amazon Web Services (AWS), DevOps, DevOps Engineer, System Administration, Amazon Virtual Private Cloud (VPC), AWS Cloud Architecture, Amazon EC2

CDN Log Parser for TED Talks

https://www.ted.com
Replaced the CDN log ingest tooling for TED Talks, used to analyze and troubleshoot any end-user playback issues. Originally written in Ruby, as views increased, it became clear that the previous tooling couldn't keep up with the ingestion rate and needed something more performant.

I designed and implemented a replacement in Go, with three phases using three pools of goroutines with channels between respectively. The first phase consisted of downloading the following log file from Amazon S3, extracting and pushing lines onto a channel. The next step consisted of parsing and validating the log lines, sanitizing fields, applying GeoIP data, and then pushing this to another channel. Finally, the lines were batched and pushed to the Elasticsearch API. This data was then available via Kibana for analysis.

I applied back pressure testing at each stage automatically based on the channel max lengths and adjusted performance by tuning the number of goroutines per phase.

To my knowledge, this is still in production use today, parsing and ingesting 100+ million log lines daily.

Libraries/APIs

Node.js

Tools

Terraform, Amazon Elastic Container Service (ECS), Docker Compose, NGINX, GitLab CI/CD, GitHub, Vim Text Editor, Slack, Azure Kubernetes Service (AKS), Helm, Docker Hub, Git, GitLab, Grafana, Amazon Virtual Private Cloud (VPC), VPN, RabbitMQ, Perforce, Amazon EKS

Languages

Ruby, Go, Bash, PHP, Python, Lua

Frameworks

Chrome, Ruby on Rails (RoR)

Platforms

Firefox, Docker, Linux, MacOS, Windows, Kubernetes, Azure, Amazon Web Services (AWS), Amazon EC2, Rackspace

Paradigms

Continuous Integration (CI), Continuous Delivery (CD), DevOps

Storage

MySQL, MongoDB, Elasticsearch

Other

Cloud Storage, Storage Development, Load Balancers, Elastic Load Balancers, Infrastructure, Immutable Infrastructure, Infrastructure as Code (IaC), System Administration, Networking, Networks, HAProxy, CI/CD Pipelines, DevOps Engineer, AWS Cloud Architecture, Amazon RDS, Cost Analysis, Cost Control, Content Delivery Networks (CDN)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring