The Changing Role of DBAs: One-to-Many
Have Microsoft's new tools made you the part-time DBA?
The traditional thinking about a "database" as a giant bucket of data that developers program against may go the way of the "anchored" desktop. With data becoming ubiquitous and synchronization to mobile clients and the cloud hurtling toward to-do lists, the app developer's role is morphing into a composite of data access, data modeling, database dev and, in some cases, even systems administration.
Not long ago, database specialists handled many data-driven dev tasks while database administrators (DBAs) managed multiserver environments, replication, security and maintenance within large and even small organizations. Today, many small to midsize organizations assign the bulk of these tasks to their app dev teams.
"I don't see those roles changing at the enterprise level, because the role of DBA is simply too important in terms of data security and integrity," says Roger Jennings, principal of Northern California-based OakLeaf Systems, citing HIPAA, SOX and SEC auditing requirements. "But at smaller companies, developers -- particularly agile developers -- and those using object relational mapping tools are taking over roles that would ordinarily be assigned to a DBA," he explains.
It's not uncommon that such shops epitomize Microsoft's base, where combined roles appear to be on the rise. "A lot of companies are trying to do more with less and the fact of the matter is, a lot of the guys out there that are more skilled with database design and development come from an application development background," says Joshua Jones, principal of Colorado Springs, Colo.-based Consortio Services LLC.
Conversely, some DBAs are getting into app dev because it has become fairly easy to automate a lot of administration tasks, says Jones, who is seeing fewer "hardcore" DBA jobs. "You spend a month or two after you go into an environment to automate their management and administration stuff and then start doing things like systems development or rewriting stored procedures."
Mixing it up is not without its perils. Without the proper training in data modeling and database fundamentals, app developers tasked with developing the databases that go behind the apps they're building may end up with a system that's non-scalable or that will only support a version of a specific application.
"When I talk to people out in the field, it's the training and the knowledge base that's really essential," says Jones, who's interacting with more and more app developers who are trying to learn to become DBAs. "A lot of people just come up and say, 'I've been told I'm the DBA for my company, but I really don't even know what that means.'"
If this is happening to your app dev team, a crash course in ADO.NET, SQL Server Management Studio and T-SQL may not be enough. As data explodes online and offline and systems get more complex, the discipline and knowledge to succeed at developer/DBA tasks is no small feat.
These changes in the workplace have not gone unnoticed at Microsoft. SQL Server and its related tooling have also moved toward higher levels of abstraction and convergence to meet the needs of a broader audience. The nascent relational database management system acquired from Ashton-Tate has evolved from an inexpensive data repository to a "data platform" that's making inroads in enterprise environments alongside Oracle and IBM's DB2.
||"A lot of companies are trying to do more with less and the fact of the matter is, a lot of the guys out there that are more skilled with database design and development come from an application development background."
|Joshua Jones, Principal, Consortio Services LLC
"Our vision for SQL Server is for it to be a lot more than a database," says Fausto Ibarra, director of product management for SQL Server at Microsoft. "We see it as a data platform that's able to manage all types of data across the lifecycle of data from the moment the data is born to the time the data is archived, and to do that any place: the application tier, mid-tier, data tier."
In addition to traditional query, reporting and analysis, Microsoft is building on the SQL Server platform with services such as synchronization, search and integration.
Microsoft's goal is to deliver on its data platform vision and empower developers and DBAs, according to Ibarra, who agrees that "the lines between developers and DBAs are converging, especially in smaller companies where developers are being asked to do more."
With the SQL Server 2008 release in August, Microsoft improved the speed and power of its DBA tooling in SQL Server Management Studio and served up LINQ to SQL for developers in Visual Studio 2008 and ADO.NET Entity Framework, Microsoft's new object relational mapping tool in Visual Studio 2008 Service Pack 1.
Among the high points of the SQL Server 2008 release is support for spatial datatypes, T-SQL merge and table-value parameters, policy-based management across multiple servers, a management-related data collector and resource governor, and better reporting and analysis.
SQL Server 2008 raises the level of abstraction in key areas such as synching data for a mobile workforce and business intelligence (BI) reporting and analysis, addressing the underlying plumbing and infrastructure so that app developers can focus on other areas such as business logic. Microsoft's engineering approach to SQL Server also changed to ensure that new functionality worked across the platform end-to-end, including the Compact Edition, tooling and Express Editions, says Ibarra.
The next SQL Server (code-named "Kilimanjaro"), expected in the first half of 2010, will add "self-service" BI targeted at business analysts that lowers the requirements for IT. Kilimanjaro will include the "Gemini" project, designed to integrate these end-user solutions with SharePoint and Excel. Microsoft is also working on a data warehousing solution, code-named "Madison," that integrates DATAllegro technologies with SQL Server.
New Roles, Converging Tools
Some factions within Microsoft have toyed with the idea of integrating Visual Studio and SQL Server Management Studio into a single toolset, but most developers and DBAs welcome the separation.
"It's too powerful for you to be mucking around with," says Jones. "So if you're a person who's in both roles, then having the logical separation of your dev environment versus your management tool really helps you focus on the task at hand -- [you don't] get yourself twisted around and do the wrong thing on the wrong server. Because I've seen even the people who are hardcore administrators make that mistake."
When it released SQL Server 2005, Microsoft decided to adopt the Visual Studio shell for SQL Server Management Studio. "The fact is that many developers need to work with data and many DBAs need to do stored procedures, for example," Ibarra says. "So we wanted to put forth an experience that was as productive as possible and give them access to very rich capabilities in an environment that they already knew."
With SQL Server 2008, Microsoft has introduced more Visual Studio functionality in SQL Server Management Studio. "If you're writing a stored procedure you have the IntelliSense features like autocompletion or getting a drop-down menu for a database object that you're going to be accessing," says Ibarra. "Those are features that Visual Studio has today for people who are developing in C# or any .NET application. Now we're also offering that to DBAs."
Microsoft considered bringing DBAs into the Visual Studio Team System (VSTS) suite with the Database Edition, but that idea didn't fly. DBAs are not used to working with features like version control and there's a cost issue, says Jeff Levinson, ALM practice lead for Northwest Cadence Corp., a Kirkland, Wash.-based training and consulting firm that specializes in the implementation of technology based on Microsoft's development and application platforms.
"They like the traditional way, where developers come up with a build script, then send it to them and they run it," Levinson explains.
Yet, "SQL Server Management Studio is Visual Studio with a different skin on it: It's a different look and feel, but it's the same environment," he adds.
While the development and management studio tools remain separate, in late September, Microsoft announced plans to roll up the Developer and Database Editions of VSTS 2010 into a single IDE. VSTS Team Foundation Server 2010 will require SQL Server 2008, primarily to support new reporting functionality.
As Microsoft Director of Developer Tools Marketing Dave Mendlen explained at the time, developers' roles are more "hybrid" today; the same people work with an application's core source code as well as the database.
Despite reports that Microsoft has struggled to market the Developer Edition because much of the functionality is already available -- the free FxCop and unit testing now in Visual Studio 2008 Professional -- the move was generally applauded as a good solution to real-world dev scenarios.
"I think Microsoft is the first company to recognize that the tooling all needs to be integrated as one," says Levinson. By comparison, he says that tools such as Red Gate and Toad are focused specifically for database developers.
"They don't plug in with any front-end code development or data access stuff -- it's just not there," he says. Rational tools support the back-end and front-end but are difficult and cumbersome to use, according to Levinson.
The Team System tools bring everything together and make it easy for the first time. "I don't think it's a recognition that something has changed. I think it's a recognition that the tools had to not only be integrated, but easier to use," he says.
Andrew Brust, chief of new technology at twentysix New York, also thinks that bringing the two together was a good move. "My personal view is that everyone should have Team Suite, but that many customers can't cost-justify it, so they go for Dev Edition instead," he writes in an e-mail. "That means that many developers miss out on the Data Dude features, even though they could use them, and that's a shame."
Hybrid application and database developers are not a new phenomenon, asserts Brust, especially since the tech downturn in 2000-2001.
"The 'do more with less' credo has forced more developers to handle DBA tasks and vice versa -- even as things later improved economically," he says. "With a new set of economic challenges on the not-so-distant horizon, this is certainly a welcome move."
At Microsoft's Professional Developers Conference 2008 in late October, the company made available the release candidate of the final VSTS 2008 Database Professional. The release to manufacturing of the last "Data Dude" is expected before year-end and will be available to premiere MSDN subscribers as a precursor to the VSTS 2010 rollup.
"It does one, really massive thing," says Levinson. "It switches to a provider model." IBM Corp. announced that it will support DB2 with a data provider.
The Debate Continues
Despite the general acceptance of combined app/database development roles, the debate about DBAs versus developers rages on. Levinson is fully supportive of developers doing database-type work, because they typically do it already.
"I would like to see some sort of data modeler in there who understands the data and the relationships, but developers can create the tables," he says.
"The security aspect is a whole different can of worms and we absolutely don't recommend the DBA role be combined with the developer role at all," he says. "Developers shouldn't be rolling code out even though they do. They shouldn't have access to production or testing environments, but they do, and from a security perspective, we've seen some very large companies with some highly personal data that developers have access to, and once developers get it on their laptop, there's no control over it whatsoever, even though production data is highly controlled."
In the end, Jones, who grew up in work environments where the DBAs and developers were intentionally adversarial to each other, laments there needs to be a healthy debate that transcends a handful of people to understand what the right solution is for any given business.
"It's two different sides of the same coin," he says. "The entire application and the entire system has to be built and the way to really solve it is to not take away knowledge and hide things behind curtains so that people can't see -- the solution is to make sure that everybody understands all the moving pieces and why they're important. But I think it all comes down to everybody working together and getting the knowledge they need to understand why DBAs are so adamant about security and why application developers are so adamant about access."
Whither DBAs in the Cloud?
How will the role of database administrators (DBAs) change when utility data moves off the company's back-end systems to cloud services such as Microsoft's SQL Server Data Services (SSDS)?
SSDS is designed to provide data storage, query processing, scalability and high availability. "What we're doing with SQL Server Data Services is essentially managing all that with our customers," says Fausto Ibarra, director of product management for SQL Server at Microsoft. "But the DBA still has a role to play. In most cases, customers will actually deploy their data both on-premise and in the cloud. So you will still need DBAs to ensure that the data is replicated, that the right policies exist, that the data is synchronized and connects to the premise and the cloud is written in such as way so that you can move from on-premise to the cloud."
The economic recession may boost service uptake as companies avoid capital expenditures, observes Roger Jennings, database developer and principal at OakLeaf Systems. "With Visual Studio 2008 and traditional SQL Server 2008 running on Microsoft data centers, you still have the same requirements for a DBA," he says. "But if you're using SSDS, then DBA requirements are diminished dramatically."
Microsoft MVP Jeff Levinson, who leads the ALM practice at Northwest Cadence Corp., is skeptical about near-term service adoption because too many security and compliance issues have yet to be addressed. "While there's this rush for cloud computing," he says, "I think the rush for data is only going to be relegated to companies that store their own data up there. For that reason, I think that the DBA role is going to be even more important because of how much scrutiny is on security and compliance."