Advice On Outsourcing Database Management
April 22, 2009 12:58 PM   Subscribe

Remote DBA services - has anyone used one of these for their business to outsource database administration? Could use some advice or references.

Currently looking at a service like BlueWolf to handle database optimization, performance testing, monitoring and alerts, support, and basic on-going maintenance/tuning. I do not currently have and cannot afford an on-staff DBA or server admin. My servers are dedicated but unmanaged by the host so no support there. I have an urgent need to get some handle on this stuff so I can sleep a little better and concentrate on driving revenue.

Has anyone used this kind of outsourcing before? Is it more trouble than it's worth? Is it a life-saver? Is it a money pit? Looks like my first pass at a quote was 500/month, minimum 12 month contract.
posted by spicy_sockpuppet to Technology (14 answers total) 2 users marked this as a favorite
 
One thing to be careful of with the remote DBA services is what kind of data you have stored. If you have SSNs, credit card numbers, or anything that could be used to identify a person for security purposes (name, DOB, address, mother's maiden name) then you do NOT want to use a remote outsourced service. Find a part-timer or consultant locally that you can supervise.
posted by SpecialK at 1:07 PM on April 22, 2009


Businesses with sensitive data, even those under SOX and HIPAA regulations, regularly use professional services not located onsite. There are dozens of ways to secure access and all kinds of paperwork that can be signed to protect liabilities, plus the provider's continuing existence is completely dependent on their protection of your security.

I am a consultant, thought DBA is not my primary occupation, and I have plenty of customers who use various kinds of third party solutions to handle IT management where in-house employees would be overkill or too expensive. In most cases, as long as you do your homework and choose a reputable provider, it's better value for money than hiring the cheapest person you can find full-time, or spending more than you can really afford on a good person who's underutilized.
posted by Lyn Never at 1:32 PM on April 22, 2009


I'm a database administrator at a large company. We have approximately 30 offshore non-employee DBAs to augment our employee DBA staff of about 50. From personal experience, I can tell you that they're almost entirely useless. We've tried multiple different outsourcing companies and they all misrepresent the level of skill and amount of experience their DBAs have. Since you don't have the money to hire an employee and you have an on-going need rather than a discrete project you need to staff, really the only advice I have is that you make sure you can get out of the contract if the outsourcing company can't deliver on what you need. Good luck.
posted by Maisie at 1:45 PM on April 22, 2009


Response by poster: I'm not worried about the security issue mentioned. All that is covered by legal, etc. More interested in the return on investment and if anyone can relate any direct experience with this kind of thing.
posted by spicy_sockpuppet at 1:46 PM on April 22, 2009


Do you have any IT staff at all? If you do and if you're willing to pay for some training, you can almost certainly get one of them to take on this exciting new responsibility.
posted by Maisie at 2:02 PM on April 22, 2009 [1 favorite]


It depends on your needs. If your business model relies on a transactional database being live and fast 24/7, then yes, it's worth it. DBA's are expensive to hire and train. Doubly so if you're running Oracle- a lot of low-hanging MSSQL maintenance isn't hard to figure out.

As for BlueWolf specifically, I've never personally done business with them, but I know the guys who started it (colleagues at a former e-commerce shop, and I'm friends with the CTO). They've got solid talent there, it's not a front for a bunch of offshore grunts. I doubt they're the cheapest service you can find, but I'd expect good service from them.
posted by mkultra at 2:28 PM on April 22, 2009


With some downtime as I look for a job, I've been hanging out on stackoverflow lately. It's a site where programmers (and DBAs) ask questions of other programmers -- sort of an askMefi for programming. And I see a lot of clueless questions from what appear to be outsourcing workers. I don't mean not up on every technical detail, I mean, really clueless. Echoing Maisie, I'd want to be very careful that I didn't end up paying for that.

Also, you want "database optimization, performance testing, monitoring and alerts, support, and basic on-going maintenance/tuning." These are all different things. Optimization (unless there's a scaling issue) is a one-time thing, unless your codebase is changing. (In which case, you should defer optimizing until your code is stable.)

And I'm unclear on the utility of "monitoring and alerts", unless you have someone in there who can do something about whatever prompted the alert.

I'd worry that you'd end up paying $500/month, $6000/year for boilerplate. I suspect you'd be better off spending the money up front on a decent schema design and optimization, from somebody who takes the time to actually understand what it is your database is meant to do
posted by orthogonality at 2:28 PM on April 22, 2009


Response by poster: Also, you want "database optimization, performance testing, monitoring and alerts, support, and basic on-going maintenance/tuning.

These may be different things, but I either pulled them directly off of the proposal or out of my notes from my discussion with their team lead during our preliminary call.

Orthogonality, I do have web developers, just none who have DBA experience. Also my goal is over the course of 6 months to a year to be building an IT department. I just don't want to be hanging out in the breeze while my CEO brings in crazy partnerships that bang more and more traffic on the servers while I ramp a team up. So I guess mostly what I need is ass coverage for 6 months - literally if I am getting close to disk space capacity or some process is using a ton of CPU time I have no idea. So I guess that's part of monitoring/alerts.
posted by spicy_sockpuppet at 2:38 PM on April 22, 2009


If you have developers, and you want to build an IT department, I suspect your needs are more complicated that $500/month outsourced covers. Consider hiring a developer with database experience; god knows, on most projects where my title was "programmer", I also wore the DBA hat, designing schema and optimizing them. Or grow one of your current developers into the role. Or spend the money on buying more servers.
posted by orthogonality at 3:01 PM on April 22, 2009


I work for a company that does Remote DBA work, using our US staff, and DBA work is our core competency--that is we're not offering desktop support, or application support, or anything else.

Send me a Metafilter mail, or ask me to send one to you, if you want the straight scoop. I am not in Sales.
posted by lockedroomguy at 7:16 AM on April 23, 2009


(I'll answer what I can here in the thread too, but wanted the poster to know about possible conflict of interest in my answer.)


Has anyone used this kind of outsourcing before?
- No but my company provides it.

Is it more trouble than it's worth?
- In the majority of cases in situations similar to what you describe, no. It does save you time and stress, and can avoid database downtime before it occurs.

Is it a life-saver?
- Sometimes.

Is it a money pit?
- Not usually. It's hard to build up any significant overage in DBA work unless they ask, and you agree, to additional project-based work.

Looks like my first pass at a quote was 500/month, minimum 12 month contract.
- - That's very cheap. You will likely not get all the services mentioned in your post included in that amount, but if you do, and it's quality work, it will definitely be worth your while. Make sure they give you a detailed list of exactly what they will do in the way of routine maintenance each month and find out exactly who will be doing the work. It's best if the work does not cycle from random person to random person each time.

To respond to some of the other points raised in the thread:

We have approximately 30 offshore non-employee DBAs to augment our employee DBA staff of about 50. From personal experience, I can tell you that they're almost entirely useless.

- There are many more useless offshore providers than there are useful ones. Their costs are so low that they can afford to lose business and move on to the next client. But they're not all useless.
- It is a nice benefit to actually know who is doing the work, and be able to ask them questions about the impact of future app development, or web traffic increases, or security, and be comfortable that you're going to get a consistently smart answer. That is hard with offshoring, but again not impossible.

Also, you want "database optimization, performance testing, monitoring and alerts, support, and basic on-going maintenance/tuning." These are all different things. Optimization (unless there's a scaling issue) is a one-time thing, unless your codebase is changing. (In which case, you should defer optimizing until your code is stable.)
- Absolutely correct. You are unlikely to get database optimization and performance testing included in your quote. If you do it's a good deal

And I'm unclear on the utility of "monitoring and alerts", unless you have someone in there who can do something about whatever prompted the alert.
- The idea here is to set certain database thresholds, and if they are approached or exceeded, an email or page is sent to the DBA and your team. These alerts might include things like disk space usage, excessive CPU load, backup failure, and so on, and would certainly include "database down" or "database cannot be reached." Then, depending on your agreement, the DBA might review and fix the problem after receiving the alert, or might wait for you to tell him to.
- The best part of this is the ability to set a threshold and therefore find and fix a problem BEFORE it brings your database down.

If you have developers, and you want to build an IT department, I suspect your needs are more complicated that $500/month outsourced covers

- Maybe. It depends what is going to happen with the app and database. If all you are going to do is keep sending traffic to the database, with no additions to the app and no changes to database structure, then you're fine.
- If you get a good Remote DBA company, then you can get DBA architecture services from the same DBAs doing the remote work--and it doesn't have to all be remote, and it can still be cheaper than a full-time DBA.
- But certainly if you need a full-time DBA, it's better to find a smart one and hire.

... on most projects where my title was "programmer", I also wore the DBA hat, designing schema and optimizing them.
- This can work with the right person.
Or grow one of your current developers into the role.
- They've very different skill sets. It won't work unless the person proactively wants to become a DBA. The set of good developers who are also good DBAs is very small. It's easier to develop a DBA into a developer.

Or spend the money on buying more servers.
- Generally a bad idea, and if you're paying for software licenses will be more expensive than hiring or outsourcing.
posted by lockedroomguy at 7:52 AM on April 23, 2009


Lockedroomguy,

We have approximately 30 offshore non-employee DBAs to augment our employee DBA staff of about 50. From personal experience, I can tell you that they're almost entirely useless.
- There are many more useless offshore providers than there are useful ones. Their costs are so low that they can afford to lose business and move on to the next client. But they're not all useless.
- It is a nice benefit to actually know who is doing the work, and be able to ask them questions about the impact of future app development, or web traffic increases, or security, and be comfortable that you're going to get a consistently smart answer. That is hard with offshoring, but again not impossible.


I agree that they're not all useless; out of the 100 or so we've cycled through over the past few years, a few have been great, a handful have been good and a dozen or so have been good enough to carry out routine work where the steps are documented in excruciating detail. The majority require so much handholding for so long that they're more of a drain than a help. To be fair, part of the problem may be that my company is huge and has a very complicated environment with lots of rules and procedures and it's difficult for someone new to come in and start contributing right away. But you're right: they are cheap and if you're lucky enough get one of the good ones, they're a great value. In any event, it sounds like BlueWolf and your company are different animals.

Spicy sockpuppet,

... on most projects where my title was "programmer", I also wore the DBA hat, designing schema and optimizing them.
- This can work with the right person.
Or grow one of your current developers into the role.
- They've very different skill sets. It won't work unless the person proactively wants to become a DBA. The set of good developers who are also good DBAs is very small. It's easier to develop a DBA into a developer.


I started out as a developer and then became a DBA. If you have a developer who is interested in databases and is already familiar with your environment, that might be your best bet.
posted by Maisie at 8:35 AM on April 23, 2009


Maisie,

... out of the 100 or so we've cycled through over the past few years, a few have been great, a handful have been good and a dozen or so have been good enough to carry out routine work where the steps are documented in excruciating detail.


100! My goodness, I hope you are talking about individual DBAs and not companies. And if it's one company providing all these DBAs you should think about moving on.
posted by lockedroomguy at 8:41 AM on April 23, 2009


LOL, yes, individual DBAs. We've been through 4 or 5 different companies.
posted by Maisie at 9:08 AM on April 23, 2009


« Older genealogy/family tree programs   |   I'll be using table knives... damn. Newer »
This thread is closed to new comments.