One of the things that's usually implied or even explicitly expressed about using cloud services, such as Azure, is that you no longer need the expense of a DBA. While it's true that you may think you might be able to get away without a DBA, you're going to have many of the same problems without a DBA as if you had your own systems and you just don't not know it yet.
For example, if you have some performance challenged code that uses a huge number of resources because someone simply used DISTINCT to get past an accidental Many-to-Many join, it won't cost you much on your own hardware. Do the same thing on Azure, and you're going to be paying the big bucks. A good DBA will not only find those problems, a good one will also know how to fix the code. A great one will prevent the problem from occuring in the first place by mandating code reviews/performance tests and putting a set of standards in place.
To give you a real live example of what I'm talking about, I just found and fixed a simple little bit of legacy code that consumed only 320ms of CPU time and only 66,000 reads for each run. Most would be very happy with that especially with the seemingly low resource usage. What no one else realized is that it runs 40,000 times in an 8 hour period. That's 12,800 CPU seconds (more than 3.5 hours) and 21.6 Tera-Bytes of logical I/O. I don't know how much those two items would cost according to current Azure pricing, but that's a waste even on "free" systems. I got it down so that it would run in 800 Micro
Seconds and use only 4 reads per run and is scalable. The new 8 hour totals are only 320 CPU seconds (5.3 minutes) and 1.3 Giga-bytes of logical I/O. That's 39 times less CPU and more than 16,000 times less logical I/O. Another key point is that optimization was done AFTER 2 non-DBAs tried to optimize it and couldn't.
Don't kid yourself with the promise of super low TCO for cloud services because you think you don't need a DBA anymore. If you don't have a DBA, you're TCO may end up being a hell of a lot more than you thought and usually more than it should. This falls under the old but still very true saying of "Some people know the cost of everything... and the value of nothing.
Even with cloud services, like Azure, the value of a good DBA is inestimable but sure.
is pronounced ree-bar and is a Modenism for R
First step towards the paradigm shift of writing Set Based code: Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair
How to post code problemsHow to post performance problemsForum FAQs