Caner Derici

Canonical Ltd.

PhD Candidate, Computer Science

Sandy, UT, USA




I'm a software engineer (at Canonical), a post-proposal PhD candidate at Indiana University, content creator and Affiliate at Twitch, and a husband at home :)

At Canonical I'm currently in the Juju Team, a part of enterprise solutions in Canonical. I'm mostly working on orchestration, developing and maintaining client libraries (e.g. python-libjuju), back-end optimization, exploring new ways of using Juju (active development on the terraform juju provider). Doing a bunch of hiring, and hacking a bunch of Go and Python.

My PhD is in Computer Science at Indiana University, specializing in Programming Languages (PL), minoring in Logic at the Department of Philosophy. Technically I'm in what's called the ABD stage (all-but-dissertation), however, it's on a bit of a hiatus since none of what I currently do requires a finished PhD. However, I haven't dropped out, I'm actually planning on completing it whenever possible. My advisor is Sam Tobin-Hochstadt.

Check out :

  • Professional page, if you like to learn more about my professional skills, specialties and my professional life in general.
  • HomeLab page, if you want to check out the cool stuff I'm doing with the computing lab I built at home.
  • Building a Community page, if you're curious about the content I create and the community I maintain as a hobby on Twitch and YouTube.
  • Music, Arts, Travel and Arch pages, if you'd like to have more information about me personally.

Finally, the most common question people ask me in the US is "How do you say your name?". I'm from Turkey, and I understand "Caner" it's a bit tricky to pronounce for English-speaking folks. No worries, you may pronounce it however it is easiest for you, I really don't mind. However, if you want to hear the way I pronounce my full name, here's a sound sample:

Thanks for checking out my homepage!

Some News & Posts by Me

June 2023

Manual Provisioning on AWS using Terraform Juju Provider

In this episode of “what kind of cool stuff we can do with the Terraform Juju provider,” we explore how to manually provision machines from our existing setup into our Juju model using the Terraform Juju provider. For a primer on the Terraform provider itself, check out the latest posts by some handsome fellas here and there.
Let’s see how you can actually do that with our recently added support for manual provisioning on the terraform-provider-juju with a bit of a tutorial style demo. Check out the rest of the post for details.

June 2023

A generic way to tunnel into a Kubernetes cluster to communicate with a Juju controller with the Juju Terraform provider

A while ago @jnsgr introduced the Juju terraform provider and since then we all have been celebrating the versatility of Hashicorp’s Terraform backed by our Juju almighty.
Recently our friends in the CommSys team raised an interesting question and asked, “Is it impossible for the terraform juju provider to talk to a controller within a k8s cluster without utilizing the nice and useful proxy-config? How about the clusters that don’t provide that proxy?”. Here in this post we demonstrate a simple way to show that it is indeed possible to access to a controller in any type of k8s cluster with a bit of a support from the environment. The keyword is, the load-balancer.
Here's the rest of the post