Articles by Silvia Botros


Silvia Botros is SendGrid's MySQL DBA. Her mission is to deploy and maintain various MySQL datastores that support the mail pipeline and other products that SendGrid offers and to drive MySQL designs from inception to production. Follow Silvia's opinions on MySQL, Web operations, and various topics on Twitter @dbsmasher.

Follow Silvia

Using Sensu for DBA Tasks

Technical
infrastructure monitoring

Here at SendGrid we spent the last couple of years porting a lot of our service and host monitoring to Sensu. Its solid API support meant we could write all sorts of tooling around it. We also liked the idea of standalone, client side checks that push their status to the Sensu alerting queue asynchronously. If you are new to Sensu or haven’t ever read on it, this is a good place to start. Typical usage example The typical use I have for such standalone checks is health checks, a simple example looks like this in Sensu’s client config: But if you look closer, all you really do is tell Sensu to run a command. So this can be…any command. Read More ›


Learning Configuration Management as a DBA

Technical
data

Before SendGrid, I used to deploy all my databases by hand. I’d have a documentation page, (a Google doc, internal wiki page…whatever) and it would be a long bulleted list of “Install this, then install this.” If you have ever maintained “How to” documents like that, this picture to the right will eventually ring true. This was obviously not a good approach. Especially when small details start changing, but the “documentation” lags behind. Then you have a situation that enables tribal knowledge, which means a 3AM Ops person, who is not the DBA, and has even less of an ability to know what should be running on a database and how it should look like under normal operations. Multiply by…a Read More ›


Scaling MySQL at SendGrid

Technical
data

SendGrid is the epitome of catching a tiger by the tail. Our systems were not originally designed to handle the massive scale we deal with today. Adding new features at this scale also presents challenges budding companies don’t yet need to design for. With our growth and overall traffic, we have had to come up with solutions to handle challenges related to simply scaling our datastores. At SendGrid, a large portion of our data is housed in 10 distinct MySQL datastores with a total of 87 physical machines and 255 MySQL instances. We also have a varying combination of challenges that tend to be specific to our clusters. Let’s walk through some of these challenges and how we’ve tackled them. Read More ›