# About Karandeep Singh

- URL: https://karandeepsingh.ca/about/
- Author: Karandeep Singh
- Published: 2026-05-04
- Updated: 2026-08-12
- Summary: DevOps engineer in Calgary, AB — over a decade in software and 6+ years building on AWS, Kubernetes, and Jenkins. The work, the tools, and why I write about them here.

<figure style="text-align:center;margin:1rem 0 2rem;">
  <img src="https://karandeepsingh.ca/images/SikhLogo-320.webp"
       alt="Karandeep Singh"
       width="160" height="160"
       loading="eager"
       decoding="async"
       style="border-radius:50%;border:3px solid #44475a;background:#282a36;padding:0.25rem;">
  <figcaption style="margin-top:0.5rem;color:#8b97c9;font-size:0.9rem;">
    Karandeep Singh — Senior DevOps Engineer, Calgary, AB
  </figcaption>
</figure>

I'm a Senior DevOps and Site Reliability Engineer based in **Calgary, Alberta**. I've spent **over a decade in software** and the last **six-plus years** focused on building, automating, and operating scalable AWS infrastructure — the kind that keeps companies running at 2 AM when the alerts fire.

**man page: karandeep**
## Name

karandeep — senior DevOps / site reliability engineer

## Synopsis

**karandeep** \[`--aws`\] \[`--kubernetes`\] \[`--jenkins`\] \[`--terraform`\] *problem*

## Description

Builds, automates and operates AWS infrastructure. Ten-plus years in software,
six-plus of them on AWS. Writes it all down at
[karandeepsingh.ca](https://karandeepsingh.ca/) — currently 94 articles and
24 cheatsheets.

## Options

- `--aws` — EC2, S3, Lambda, ECR, RDS/Aurora, VPC, IAM, CloudWatch, Step Functions, Athena
- `--kubernetes` — EKS, ECS/Fargate, Docker; CKAD-certified
- `--jenkins` — controller, build-agent fleet, shared-library pipeline tooling
- `--terraform` — plus CloudFormation, Ansible and Packer, for immutable infrastructure
- `--go` — small operational tools that replace bash once it needs tests and arguments

## Exit status

Returns `0` when the runbook works at 2 AM without you.

## See also

`aws(1)`, `kubectl(1)`, `terraform(1)`, [`atuin(1)`](https://karandeepsingh.ca/cheatsheets/terminal/atuin/)

## What I work on

Cloud architecture, infrastructure automation, and CI/CD. The layers I spend my
week in, bottom to top:

_Diagram: Nothing here is a preference. Each layer exists because the one below it stopped being reproducible by hand._

A few things that came out of those layers:

- Automating Linux patching with **Lambda + Step Functions + EventBridge**, so a fleet patches itself on a schedule instead of on a ticket.
- Cutting S3 storage costs by finding orphaned objects with **Athena** and automating lifecycle policies with **Ansible**.
- Moving a Jenkins controller onto **Packer-built AMIs**. Deployment went from 40-plus minutes to roughly 15, and rebuilds became repeatable and version-controlled instead of remembered.
- Rotating credentials across Jenkins, Bitbucket and AWS during a supply-chain incident, then delivering secrets through S3 and Secrets Manager so the next rotation was a job, not a weekend.

## Where the week actually goes

Not the job description — the honest split, averaged over a quarter:

- AWS + cost: architecture, and the bill that follows it
- CI/CD: Jenkins, pipelines, build agents
- IaC: Terraform, CloudFormation, Ansible, Packer
- Containers: Docker, ECS/Fargate, EKS
- Writing: this site, mostly on evenings

## Why I write here

Most online tutorials skip the failure modes. They show you the happy path, hand
you a working snippet, and leave you stranded the first time it breaks at 2:13 AM
in production.

**most tutorials**
Start from a clean account.

Paste the snippet that works.

**Stop at the happy path.**

Never mention the version, the Region, or the flag that makes it fail.

**here**
Start from the actual problem.

Try the obvious thing **and show it break**.

Fix it, and say *why* it was wrong.

End with the version that goes in the runbook.

That's the whole format, in order:

_Diagram: Step 3 is the one everyone else deletes. It is the reason the rest is worth reading._

If that means an article on `sed` is mostly about the time the GNU vs. BSD
difference broke a deploy on a developer's MacBook — that's the version I'd want
to read.

## Certifications

- **AWS Certified Solutions Architect – Professional**
- **AWS Certified Solutions Architect – Associate**
- **CKAD – Certified Kubernetes Application Developer** (The Linux Foundation)

## Currently

```text
# systemctl status karandeep.service
Aug 2026  writing about Lambda cost, Aurora, and terminal tooling
Aug 2026  this site got an MCP server, so an AI client can read it directly
```

Calgary's DevOps community is smaller than Silicon Valley's, but the work is real
and the stakes are real. I've spent the last several years in SaaS and
infrastructure-operations roles at Calgary technology companies — environments
where the system going down costs measurable money per minute, and where "we'll
fix it next sprint" is rarely an acceptable answer.

## Connect

Reach out if you want to talk DevOps, compare notes on cloud architecture or
CI/CD, or just argue about whether `awk` is the right tool for a given task (it
usually is).

**Decision:**
Happy to talk about **AWS cost**, **Jenkins at scale**, **Kubernetes**, or the command line.

Replies come from Calgary, so allow for Mountain Time.

**Do you accept?**

- **LinkedIn:** [linkedin.com/in/karandeepdhaliwal](https://www.linkedin.com/in/karandeepdhaliwal/)
- **GitHub:** [github.com/karandaid](https://github.com/karandaid)
- **Email:** the contact form at https://karandeepsingh.ca/contact/
- **RSS:** [/posts/feed.xml](https://karandeepsingh.ca/posts/feed.xml) — new articles as they go out
- **MCP server:** [/mcp-server/](https://karandeepsingh.ca/mcp-server/) — point Claude or another AI client at this site
- **Browse all articles:** [/posts/](https://karandeepsingh.ca/posts/) · [/cheatsheets/](https://karandeepsingh.ca/cheatsheets/)
