How familiar are you with databases? Do you know how they play into delivering Okta’s core products and services? Well, you’re about to know a little bit more than you already do. Meet Will Gunty, the man in charge of keeping Okta’s databases speedy and efficient, all while growing at an exponential rate. We sat down with Will to find out what it’s like to be Okta’s first in-house database administrator (DBA), what lured him away from the biggest tech players in the business and what’s coming in the case study that he’ll present at the Percona Live MySQL Conference this April.
What does it mean to be a database administrator?
Just about everything is stored in databases, and I’m responsible for keeping them up and running smoothly – that might be solving issues, or creating new databases to house that wealth of information. I started last September as our first in-house database administrator, and before that Okta was relying solely on a consulting firm - which we still occasionally lean on for some of the day-to-day tasks.
My day-to-day responsibilities include working with the engineering and operations teams to ensure that new features are ready to go on the database side. When companies experience exponential growth like Okta, the result can be severe growing pains, especially in regards to their databases. The Okta site needs to run fast and efficiently, so I proactively prevent issues from arising by finding problems before they occur.
You’ve worked at several well-known, successful technology companies – Twitter, Box and Facebook to name a few. What attracted you to Okta?
The ability to be the first in-house DBA was a huge draw. I was one of the first people in operations and the first dedicated database administrator at Box. Box was significantly smaller than Twitter and Facebook, and made me realize that I like the feel of a smaller company. My contributions have a more visible impact, both for the customer and my immediate team. Some of the bigger companies have massive teams that manage thousands of servers, and I couldn’t as clearly see the fruits of my labor.
I’m a remote employee, but when I was out in San Francisco at Okta’s headquarters for my six-week training, there was not a day that went by that I didn’t overhear co-workers exclaim, “We have a DBA now – thank God!” I have engineers come up to me with questions about a feature that a customer’s having trouble with and I’m able to answer immediately, which results in a decrease in response times and helps customers to access their apps more quickly. In the past, Okta didn’t have easy access to a DBA. Now I’m here to help 24/7.
What's the best thing about working at Okta?
Two things stand out. First, my co-workers. There is not a single person on my team that I’m not happy to work with. Everyone is incredibly smart and resourceful. Secondly, I find it incredibly rewarding that I’m able to have a direct impact on our customers and the product, and to top it off, being able to see that.
What makes managing Okta’s database system unique?
I’m actually presenting on that very topic at the Percona Live MySQL Conference in Santa Clara this April. There’s a limit to how big you can grow your database. You can keep adding additional storage space, but it can only support so many operations at once. As we continue to grow, I’m tasked at splitting our database into smaller cells. Each cell is a full installation of the Okta stack.
Many companies are tasked at splitting up their databases, but I think our “sharding” approach is unique, and I haven’t seen it used at other companies. I’ll share how we’re taking customer cells and splitting them into two or more smaller halves that can then grow independently. Though antiquated, I like to compare it to copying a phone book. We’re not copying each page. Instead we’re moving every other person in the phone book to our new version.
If this has piqued anyone’s interest, I’ll be sharing much more in my 50-minute presentation, “Sharding MySQL Via Cellular Mitosis at Okta,” at Percona Live. I’ll provide a high-level overview of Okta’s services and the architecture of our databases. Then I’ll dive a little deeper as I describe the cells – their advantages and disadvantages – and the technical features needed to split a cell apart. The case study is April 15th at 3:30pm in Ballroom B, and I’d love to see you there!
Awesome. So, let’s back up a little bit. Why are you breaking up these databases? What’s the benefit?
The main purpose of creating additional databases is increasing capacity, which allows us to add more users. It also helps us to make our databases more local to our end users, which speeds up interactions. This also allows us to place cells that are geographically close to our customers, giving them lower latency to our services. If your users are logging-in ten to twenty thousand times a day, that time can add up, and the closer we can place our cells to our customers, the better.
You’ve only been here a few months, but do you have a favorite memory since joining the team?
One that comes to mind is from my first week on the job. We went out to a team dinner at a steakhouse, which was a fantastic opportunity to get to know some of the people I work with, and interact with them beyond tickets and emails. As an added bonus, our former manager had a license as a sommelier, and we utilized his expertise and fine collection of wines to spice up the evening.
Lastly, if you could define Okta in one word, what would it be?
Simplicity. There’s something to be said about having one password to access everything. With Okta’s identity management service, dozens of usernames and passwords can be accessed securely from a single location, providing access to everything.
Were you playing with the idea of attending Percona Live, and have now decided to pull the trigger? Use the code “SeeMeSpeak” when you register here for a 10% discount. Maybe seeing Will at the conference is not enough? Do you want to be Okta’s next database administrator or work alongside Will as an engineer? You’re in luck, Okta is hiring. Head to the Okta careers page for more information.