Ryan Matthew Smith, Developer in Irvine, CA, United States
Ryan is available for hire
Hire Ryan

Ryan Matthew Smith

Verified Expert  in Engineering

DevOps Developer

Location
Irvine, CA, United States
Toptal Member Since
September 12, 2018

Throughout his career, Ryan has consistently worked with startups and small software shops where each milestone was make-it or break-it. He loves infrastructure as code managed with Terraform in AWS. Ryan found his niche writing DevOps tooling in Go and Bash and contributes to the open-source community regularly. Ryan is also an expert working with Docker to deploy and maintain Kubernetes systems. Ryan excels at working as a technical leader or alongside a team, depending on the project's needs.

Portfolio

Calm
Amazon Web Services (AWS), Elasticsearch, Docker, Go, Helm, Kubernetes, GitOps...
Veritone
Amazon Web Services (AWS), Prometheus, Kibana, Jenkins, ECS, Amazon S3 (AWS S3)...
Lantern Credit
Amazon Web Services (AWS), Bash, Docker Compose, Kubernetes, Docker, Go, GitOps...

Experience

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), Jenkins, Bash, Go, Terraform, Serverless, Kubernetes

The most amazing...

...systems I've built are ephemeral Kubernetes environments in AWS deployed from global Jenkins pipelines managed by custom Terraform/Terragrunt and Go code.

Work Experience

Senior DevOps Engineer

2019 - 2022
Calm
  • Established multi-account AWS with assumed roles in each environment (development, QA, stage, and product) with limited IAM access per team.
  • Implemented a Kubernetes (EKS) cluster per each AWS environment.
  • Integrated Kubernetes with external DNS, ALBs, WAF, and more.
  • Developed tools in Go to support internal teams and for CI/CD.
  • Established CI/CD with Jenkins with stateless Jenkins workers.
Technologies: Amazon Web Services (AWS), Elasticsearch, Docker, Go, Helm, Kubernetes, GitOps, Continuous Integration (CI), Continuous Delivery (CD), DevOps, Monitoring, AWS DevOps, AWS Cloud Architecture, CI/CD Pipelines, DevOps Engineer, SQL, Amazon EKS, Amazon Simple Queue Service (SQS), Amazon Kinesis, Site Reliability Engineering (SRE)

Senior DevOps Engineer

2017 - 2019
Veritone
  • Migrated a SaaS product (in AWS) to an on-premise version (Docker Swarm and Ansible) on RHEL and Ubuntu.
  • Managed AWS ECS deployments with Terraform.
  • Dockerized all the services using multistage builds (Jenkins CI/CD catches, builds, and deploys).
  • Developed an internal DevOps tools in Go.
  • Debugged SaaS build/deployment issues with a customer-facing production environment.
Technologies: Amazon Web Services (AWS), Prometheus, Kibana, Jenkins, ECS, Amazon S3 (AWS S3), PostgreSQL, Redis, Elasticsearch, Python, Go, Bash, Ansible, Consul, Terraform, Packer, Continuous Integration (CI), Continuous Delivery (CD), DevOps, Monitoring, AWS DevOps, AWS Cloud Architecture, AWS Fargate, CI/CD Pipelines, DevOps Engineer, SQL, Amazon EKS, Amazon Simple Queue Service (SQS), Site Reliability Engineering (SRE)

Senior Software/DevOps Engineer

2016 - 2017
Lantern Credit
  • Wrote Go code for application servers.
  • Dockerized all of the application servers.
  • Managed the Kubernetes deployment in AWS. It was a highly restricted industry: had a Kubernetes cluster each of our dual two-tier architecture (four total) in each environment.
  • Wrote Bash code to configure the Kubernetes deployment and push to development, quality assurance (QA), user acceptance testing (UAT), and production across the more than 20 services.
  • Built Docker Compose features for developers to test locally which helped DevOps deploy more reliably.
Technologies: Amazon Web Services (AWS), Bash, Docker Compose, Kubernetes, Docker, Go, GitOps, Continuous Integration (CI), Continuous Delivery (CD), DevOps, AWS DevOps, AWS Cloud Architecture, CI/CD Pipelines, DevOps Engineer, SQL, Site Reliability Engineering (SRE)

Software/DevOps Engineer

2015 - 2016
Realogic Analytics
  • Built a server and application for monitoring the health of each service in Python.
  • Wrote PowerShell scripts for extracting from SQL Server instances to ETL into analytics SQL Server instance.
  • Created Python scripts for loading into SQL Server instances.
  • Provisioned and managed a farm of SQL Server Express instances in AWS for lightweight analytics.
  • Worked with rack-and-stack Dell servers and infrastructure for a development environment only; used ESXi Hypervisor.
Technologies: Amazon Web Services (AWS), Windows PowerShell, Python, Microsoft SQL Server, Windows Server, Ubuntu, DevOps, Continuous Delivery (CD), Continuous Integration (CI), AWS DevOps, AWS Cloud Architecture, CI/CD Pipelines, DevOps Engineer, SQL

Software/DevOps Engineer

2015 - 2015
Lifespeed
  • Worked with rack-and-stack Dell servers, installed ESXi, and configured FreeNAS, Cisco ASA, and other networks/infrastructures.
  • Developed a health monitoring server/app in Python to keep track of the application's health.
  • Created golden Ubuntu/Windows ISOs that were used for app deployments.
  • Installed and configured HAProxy and Keepalived for highly available load balancers used by development, quality assurance (QA), user acceptance testing (UAT), and production.
  • Managed the SQL Server for development, quality assurance (QA), user acceptance testing (UAT), and production teams.
Technologies: Microsoft SQL Server, Redis, Keepalived, HAProxy, Ubuntu, Windows Server, Python, VMware ESXi, DevOps, Continuous Delivery (CD), Continuous Integration (CI), DevOps Engineer, SQL

Serverless in Terraform

https://github.com/rms1000watt/serverless-tf
I created a Serverless.com competitor using Terraform. It's as easy to use as Serverless but manages all the states via Terraform; it's deployed on Registry.terraform.io.

Local Deployment of a Hashicorp Stack

https://github.com/rms1000watt/local-hashicorp-stack
This project lets you deploy a Hashicorp locally on your machine. The intent was to help developers without means or access to a cloud to still use and learn Hashicorp products.

Project Features:
· Provisions a VM with Packer for Virtualbox
· Deploys Virtualbox VMs locally with Terraform
· Runs Consul, Vault, and Nomad
· Shows example usage with Hadoop and Spark

Technologies: Hadoop, Spark

Terraform Module ECS on Fargate

https://github.com/rms1000watt/terraform-aws-ecs-fargate
I created a Terraform module for ECS on Fargate. As AWS Fargate continues to drop in price, more and more users are going to start using this service. This module makes it easy to deploy ECS on Fargate. This is deployed on Registry.terraform.io.

Terraform Module CodePipeline to ECS

https://github.com/rms1000watt/terraform-aws-codepipeline-ecs
This is a Terraform module that creates an AWS CodePipeline for CI/CD. This pipeline will listen to a GitHub repository, build a Docker container, update the ECS, and then run integration tests during deployment. This is deployed on Registry.terraform.io.

Terraform Module to Easily Deploy a Security Group

https://github.com/rms1000watt/terraform-aws-easy-sg
This Terraform module is the easiest way to deploy a security group in AWS if you want to whitelist all the traffic to your current WAN IP only. There are additional options to whitelist extra CIDR blocks or open specific ports to the world, but either way, this makes life a lot easier This is deployed on Registry.terraform.io.

Terragrunt Project Structure

https://github.com/rms1000watt/hello-world-terragrunt
Terragrunt is a fantastic-and-convenient tool written around Terraform; it will manage your remote state, help keep your code DRY, and make deployments easier.

This repository shows the ideal project structure to keep Terraform code DRY and Terraform state isolated.

Go Server Generator

https://github.com/rms1000watt/degeneres
Degeneres is a Go server generator.

Since the Go language is a statically typed language, there's usually a ton of boilerplate required for most projects. To get around this, you can either use libraries or generate your code. I decided to write a code generator. Degeneres lexes and parses Protobuf files, but instead of outputting RPC, it outputs HTTP and REST-like servers.

Languages

Go, Python 2, Python 3, Bash, Python, Bash Script, JavaScript, SQL

Tools

Amazon Elastic Container Registry (ECR), AWS CLI, Amazon Elastic Container Service (Amazon ECS), AWS CodeBuild, AWS IAM, Amazon CloudWatch, Traefik, Docker Swarm, Docker Hub, Ansible, Git, GitHub, Terraform, Docker Compose, NGINX, Kibana, Logstash, Helm, AWS Systems Manager, Amazon EKS, Amazon Simple Queue Service (SQS), Packer, GitLab CI/CD, AWS CodeDeploy, Zsh, Oh My Zsh, Vault, Keepalived, AWS Fargate, Jenkins, Concourse CI, GitLab

Paradigms

DevOps, Continuous Delivery (CD), Continuous Integration (CI), Microservices Architecture, Lambda Architecture, REST

Platforms

Amazon Web Services (AWS), Amazon EC2, AWS Lambda, Docker, Kubernetes, OS X, Visual Studio Code (VS Code), Ubuntu, Windows Server, Apache Kafka

Storage

Amazon S3 (AWS S3), Redis, Elasticsearch, PostgreSQL, Couchbase, MySQL, MongoDB, Microsoft SQL Server

Other

AWS Cloud Architecture, GitOps, AWS DevOps, CI/CD Pipelines, Amazon API Gateway, HAProxy, Lambda Functions, Filebeat, SSL Certificates, HTTP2, HTTP 2, Helmfile, DevOps Engineer, Site Reliability Engineering (SRE), Serverless, Monitoring, AWS CodePipeline, SSL, RPC, Transport Layer Security (TLS), SSL Configurations, Consul, Nomad, Prometheus, Amazon Kinesis, ECS, VMware ESXi

Frameworks

gRPC, Windows PowerShell

Libraries/APIs

NumPy, SciPy, OpenSSL

2012 - 2014

Master of Science Degree in Computer Engineering

University of California, Irvine - Irvine, CA, USA

2010 - 2012

Bachelor of Science Degree in Physics

University of California, Irvine - Irvine, CA, USA

2008 - 2010

Associate's Degree in Mathematics

Mount San Jacinto College - Menifee, CA, USA

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