I keep payment infrastructure up, and write down why.

I’m Chris Roos, a Site Reliability Engineer at Fortis.

Five years across infrastructure-as-code, deployment pipelines, containerized delivery, and observability. The pages below are the reasoning, not the résumé.

Open to Senior SRE and DevOps roles

Experience

Five years of infrastructure, and a route into it that did not start there. How I got here.

October 2021 — Current

Site Reliability Engineer / Fortis

  • Design and maintain cloud infrastructure using Terraform and Spacelift across a large multi-account AWS environment.
  • Build and maintain CI/CD pipelines (Jenkins, Bitbucket Pipelines, GitLab CI) supporting continuous delivery for production systems.
  • Support containerized services on ECS/Fargate, including deployment strategies like blue-green releases.
  • Work on cloud cost optimization, database infrastructure (RDS), and right-sizing initiatives.
  • Contribute to security and compliance efforts, including credential management, secrets handling, and data encryption practices.
  • Use observability tooling (Datadog, CloudWatch, ELK) to monitor system health and support incident response.
  • Explore and apply AI-assisted tooling to improve engineering workflows and automation.

June 2017 — Current

Freelancer / Freelance IT Services

  • Built and maintained client websites and custom web apps (Python, HTML/CSS/JS), focused on performance and UX.
  • Built web scraping and data collection tools for lead generation and competitor/market analysis, delivered as automated reports for client decision-making.
  • Managed Microsoft 365 and AWS accounts for clients.

Before infrastructure

I came to this work from the data side. Both of these are where the automation habit started, and neither is the job I am selling.

Marketing Director, OmniFund

Used Elasticsearch to index and analyze competitor websites, informing market research and strategy.

2021

Data Analyst, Stukent

Built predictive models and web scraping projects to collect and analyze market data.

2017 – 2018

The stack, and what I do with it

Grouped the way the work is grouped rather than by category. Every tool links to where I explain how I use it.

Infrastructure as code

Terraform playbook

Remote state from day one, modules as components rather than as environments, and a plan a reviewer will actually read.

Containers & runtime

Containers playbook

Configuration comes in, the container doesn't go out. It boots with no cloud credentials, and blue/green means you can really roll back.

The pipeline is the single source of truth for whether a change is safe. Logic lives in scripts, it stays under fifteen minutes, and every failure has a class.

Logs, metrics, and traces answer different questions. Structured logs are the prerequisite, SLOs do the arguing, and alerts point at symptoms.

Automation & AI

Python playbook

Most operational work is glue. Make it safe to run twice and dry run by default, and brief the model before you prompt it.

Every tool, with what I actually use it for

Projects

Two I owned end to end, from the argument for doing them through to running them afterward.

Elasticsearch Observability

Built the logging and search layer for services running across several environments, so that answering "what just happened" stopped meaning connecting to boxes and grepping.

I carried it from the argument for doing it through to operating it afterward, which is the part that decides whether an observability project survives its first quiet quarter. The lasting lesson is that structured logs are the prerequisite: an index full of unparsed strings is a slower grep, not observability.

Elasticsearch Observability

Spacelift & Terraform

Moved infrastructure changes out of the console and into reviewed, reproducible Terraform runs, with Spacelift as the one place a plan gets proposed, read, and applied.

The goal was not automation for its own sake. It was making the gap between what was approved and what actually shipped visible, because drift you cannot see is drift nobody fixes. That is also why I treat state as production data.

Terraform Spacelift AWS