Karan Thukral

Ottawa, Ontario. Canada · mail@karanthukral.me ·

I am currently a Production Engineer at Shopify in Ottawa, Canada. Besides Production Engineering I have extensive experience web development and some experience in iOS development. I graduated from the Systems Design Engineering program from the University of Waterloo.

In my free time I am an aspiring photographer and a chef with an appreciation for a good cup of coffee and a pint of beer.


Experience

Production Engineer, Application Lifecycle

Shopify Inc

• Reduced deploy time of the core application from 35 minutes to under 17 minutes by leading a project that built a centralized deploy scheduler.

• Implemented Redis instance migrations across clusters in under 5 minutes.

• Built user friendly tooling for automated application failovers used during incidents and for infrastructure maintenance.

• Leveraged application metrics and ongoing incidents to make infrastructure deploys safer by implementing custom deploy strategies.

• Modernized the application platform infrastructure according to resiliency best practices by championing project to migrate 400+ services to newly created Kuberenetes clusters.

Mentored new team members and interns to provide support as they ramped up to the tooling and processes used by the team.

May 2019 - Present

Production Engineer, Cloud Platform

Shopify Inc

Migrated multiple business critical applications to the new internal application platform.

• Reduced the impact of noisy neighbour using a custom Kubernetes controller to manage the creation of resource quotas, and limit ranges for application namespaces.

• Improved deploy tooling by adding rollout monitoring for daemon sets, stateful sets, resource quotas, and more through upstream contributions to Krane.

• Reduced support burden on the team by making it easier to debug deploy failures through improved error handling for invalid Procfile entries in Herokuish.

• Reduced container build times from 5 minutes to under a minute for configuration file changes by leveraging the container cache, speeding up deploys and making it faster to scale up applications.

• Built a user interface for developers to monitor application health and status without requiring knowledge of the inner workings of the platform or Kubernetes.

May 2017 - May 2019

Production Engineering Intern

Shopify Inc

Containerized & migrated multiple production critical services on to Kubernetes.

Automated cluster creation and application bootstrap on Kubernetes through a CLI and a chat bot.

• Built an on-demand staging environment for developers to boot up standalone Shopify instances including database snapshots to seed the staging environment.

Sep 2015 - Aug 2016

Talks

Shopify's Path to k8s

SRECon18 Americas

Presented a talk on building a platform as a service on top of Kubernetes and Google Kubernetes Engine. The goal was to share Shopify's best practices and start a discussion in the community to see how others are tackling similar challenges.

How we did it: One customer’s journey to modern infrastructure

Google Modernizing IT in a Cloud-First World 2018

Co-presented a session on the experiences of using containers and Kubernetes in production and lessons to keep in mind when undertaking such a migration.

Building Containers @ Shopify

Ottawa DevOps Meetup 2017

Gave a talk on container building at Shopify and the tooling we used and built. The goal was to share our experiences and promote best practices across the local community.