1
00:00:00,000 --> 00:00:07,000
Hello everybody, here we are in lovely Las Vegas, Nevada at the Microsoft Mix 2009 conference

2
00:00:07,000 --> 00:00:11,000
in the Venetian, as you can tell from the lovely gold backup that we have.

3
00:00:11,000 --> 00:00:14,000
And we've got a guest with ourselves. Would you like to introduce yourself?

4
00:00:14,000 --> 00:00:20,000
I would. Hi, I'm Patrick McElroy. I'm the Group Program Manager of the SQL Data Services team

5
00:00:20,000 --> 00:00:23,000
within the SQL Services team at Microsoft.

6
00:00:23,000 --> 00:00:26,000
We've been talking about Azure and cloud computing and things like that.

7
00:00:26,000 --> 00:00:33,000
And so, I think people know what SQL Server is, and that's that. Databases are covered as it were.

8
00:00:33,000 --> 00:00:35,000
Right, and the whole data platform.

9
00:00:35,000 --> 00:00:36,000
Exactly.

10
00:00:36,000 --> 00:00:38,000
Like just the relational database, but the BI.

11
00:00:38,000 --> 00:00:41,000
That's right. And oh, and you guys have Project Historia under.

12
00:00:41,000 --> 00:00:42,000
We do?

13
00:00:42,000 --> 00:00:45,000
No, it's in the same division, yeah. And you've got data services.

14
00:00:45,000 --> 00:00:46,000
Yeah.

15
00:00:46,000 --> 00:00:47,000
You can't use the code data.

16
00:00:47,000 --> 00:00:48,000
Of course not.

17
00:00:48,000 --> 00:00:52,000
How is SQL Server moving into Azure into the cloud?

18
00:00:52,000 --> 00:00:54,000
Yeah, it's a great question.

19
00:00:54,000 --> 00:00:59,000
So, the SQL Data Services is the first of a series of staffs.

20
00:00:59,000 --> 00:01:02,000
But we'll take key parts of that SQL Data Platform.

21
00:01:02,000 --> 00:01:08,000
And we'll extend it to both include what it does now, of course, desktop and server.

22
00:01:08,000 --> 00:01:10,000
And mobile will extend it into the cloud.

23
00:01:10,000 --> 00:01:14,000
Is there going to be sort of a relational, like typical database-like way of using it?

24
00:01:14,000 --> 00:01:16,000
Or is it going to be a REST sort of thing?

25
00:01:16,000 --> 00:01:17,000
Yeah.

26
00:01:17,000 --> 00:01:19,000
I mean, what are the interfaces playing out to be?

27
00:01:19,000 --> 00:01:27,000
And I ask that because as developers move to the cloud, there seems to be, typically it seems like you have to go through a technological shift.

28
00:01:27,000 --> 00:01:28,000
Well, it's true.

29
00:01:28,000 --> 00:01:32,000
And there are clearly some differences in building services-based applications.

30
00:01:32,000 --> 00:01:35,000
And that will impact on the applications that you build.

31
00:01:35,000 --> 00:01:40,000
But obviously there's value in keeping those differences to an absolute minimum.

32
00:01:40,000 --> 00:01:41,000
Right.

33
00:01:41,000 --> 00:01:48,000
And so one of the things we're doing, in fact, we announced last week, and we're reinforcing and giving some detail here at Mixon,

34
00:01:48,000 --> 00:01:56,000
is we are going to take SQL Data Services and we're actually going to expose the relational database capability that we have as a service,

35
00:01:56,000 --> 00:02:10,000
but using the TDS, the Tabular Data Stream Protocol, and the T-SQL query language, expressing to get a high degree of symmetry between the on-premise experience that you have with SQL Server and the rest of the SQL Data Platform,

36
00:02:10,000 --> 00:02:14,000
and now this cloud service that's built on the same technology foundation.

37
00:02:14,000 --> 00:02:24,000
So backing up a little bit to usage of things, while there's sort of legacy usage patterns that you want to definitely keep and enable,

38
00:02:24,000 --> 00:02:31,000
like, aside from, I mean, obviously if you're deploying an application in the cloud, you need to have a data store of some sort.

39
00:02:31,000 --> 00:02:32,000
That's right.

40
00:02:32,000 --> 00:02:37,000
But are there things about being in Azure or the cloud that, like, give you something different that you didn't have previously?

41
00:02:37,000 --> 00:02:38,000
There certainly are.

42
00:02:38,000 --> 00:02:47,000
So, you know, the core relational model and the relational query capabilities that you have as part of the platform are the part that's the symmetry.

43
00:02:47,000 --> 00:02:51,000
We think that there's a number of, we call them services goodnesses.

44
00:02:51,000 --> 00:02:52,000
Right.

45
00:02:52,000 --> 00:02:56,000
But good things that come from being able to deliver this as a service.

46
00:02:56,000 --> 00:03:00,000
Things like self-service provisioning, friction-free provisioning.

47
00:03:00,000 --> 00:03:04,000
And will this prevent people having to wait, like, ten weeks for the DVA to create a column on the table?

48
00:03:04,000 --> 00:03:05,000
Exactly.

49
00:03:05,000 --> 00:03:12,000
And then four weeks before that to actually provision the machine to go put the database on and then wait for ten weeks to have the DVA create a column.

50
00:03:12,000 --> 00:03:13,000
Right, right.

51
00:03:13,000 --> 00:03:27,000
But, yeah, just so you can go through a very quick provisioning process and without having to stand up hardware or install or anything like that, you can get a database to build, you know, departmental and web workload apps on.

52
00:03:27,000 --> 00:03:40,000
And there are other that are a little bit more subtle, potentially, but the fact that we will redundantly store the data and we'll do all that behind the scenes for you means that even with that very simple provisioning experience,

53
00:03:40,000 --> 00:03:44,000
you'll get automatic fault tolerance and high availability out of the servers.

54
00:03:44,000 --> 00:03:54,000
Yeah, that's interesting because I remember one of the, well, one of the surprises that people have used cloud things for, like, whether it was EC2 or, you know, Amazon Cloud, is people backing up their database.

55
00:03:54,000 --> 00:03:54,000
Right.

56
00:03:54,000 --> 00:04:04,000
And just having, like, somewhere else to back their database up to you, which, you know, I always think when it comes to cloud computing, essentially storage is one of the low-hanging fruits, if you will, and everything that comes out of that.

57
00:04:04,000 --> 00:04:18,000
And the infrastructure that we built, again, based on that SQL Server technology foundation, but also the fault tolerant and the self-healing and the automatic fabric that we have around that SQL Server foundation.

58
00:04:18,000 --> 00:04:29,000
And the way the service will use that foundation will give customers that high availability and that fault tolerance simply by virtue of creating a database, so really without any rocket science at all.

59
00:04:29,000 --> 00:04:29,000
Right.

60
00:04:29,000 --> 00:04:33,000
Maybe it's something that is here to forward and only available through something like the rocket scientist.

61
00:04:33,000 --> 00:04:34,000
Exactly.

62
00:04:34,000 --> 00:04:39,000
Another key workload that we're targeting is the ISV workload.

63
00:04:39,000 --> 00:04:46,000
And as it turns out, it's particularly well-suited for an ISV that's building an application that will scale horizontally.

64
00:04:46,000 --> 00:04:47,000
Sure.

65
00:04:47,000 --> 00:04:53,000
So as with any kind of cloud platform or any kind of cloud technology, their scaling is one of the benefits of it.

66
00:04:53,000 --> 00:05:04,000
And with SDS, and particularly for, again, a horizontal scale.app, the ability to create those, think of them as partitions, but they're really new databases.

67
00:05:04,000 --> 00:05:05,000
Right.

68
00:05:05,000 --> 00:05:14,000
To scale your app, particularly if it makes sense to create a database per customer that you have for your app, is a very natural data model that you get.

69
00:05:14,000 --> 00:05:32,000
The interesting subtle point there is that once you do that, the fact that we're running on thousands of servers means that as you issue a query and you issue them against multiple databases, you now can get great benefit from that because your query now runs in parallel on dedicated processors.

70
00:05:32,000 --> 00:05:37,000
And you can process an amazing amount of data in parallel very, very quickly.

71
00:05:37,000 --> 00:05:42,000
And it's a very natural thing that you get because you've built your app.

72
00:05:42,000 --> 00:05:49,000
It's sort of bringing enterprise-grade sort of grid, you know, benefits down to just anyone who might want to use it.

73
00:05:49,000 --> 00:05:53,000
Yeah, and doing so in a very highly parallelized infrastructure.

74
00:05:53,000 --> 00:05:54,000
Right.

75
00:05:54,000 --> 00:06:04,000
So rather than scaling up the machine and buying a 64 processor with 12 terabytes of RAM, you know, you're just able to run this thing across a broad set of commodity blades.

76
00:06:04,000 --> 00:06:05,000
Right, right.

77
00:06:05,000 --> 00:06:07,000
But the throughput for queries can be just amazing.

78
00:06:07,000 --> 00:06:08,000
It's a little out of left field.

79
00:06:08,000 --> 00:06:16,000
But looking at the tooling that you've done for Azure, are there benefits that you're pulling back into on-premise SQL Server installs?

80
00:06:16,000 --> 00:06:17,000
Sure.

81
00:06:17,000 --> 00:06:24,000
The reason why we started with the SQL Server Technology Foundation is because it's a fantastic foundation.

82
00:06:24,000 --> 00:06:30,000
But the reason why we're thinking about this as part of extending the platform is because there's a lot of benefits kind of both ways.

83
00:06:30,000 --> 00:06:31,000
Right.

84
00:06:31,000 --> 00:06:32,000
The move to TDS and T-SQL has also allowed us to kind of open up to customers just the amazing ecosystem that you can use.

85
00:06:32,000 --> 00:06:37,000
You know, you've got a lot of resources, you've got a lot of resources, you've got a lot of resources.

86
00:06:37,000 --> 00:06:38,000
You've got a lot of resources.

87
00:06:38,000 --> 00:06:39,000
You've got a lot of resources.

88
00:06:39,000 --> 00:06:40,000
You've got a lot of resources.

89
00:06:40,000 --> 00:06:41,000
You've got a lot of resources.

90
00:06:41,000 --> 00:06:42,000
You've got a lot of resources.

91
00:06:42,000 --> 00:06:43,000
You've got a lot of resources.

92
00:06:43,000 --> 00:06:44,000
You've got a lot of resources.

93
00:06:44,000 --> 00:06:45,000
You've got a lot of resources.

94
00:06:45,000 --> 00:06:46,000
You've got a lot of resources.

95
00:06:46,000 --> 00:06:47,000
You've got a lot of resources.

96
00:06:47,000 --> 00:06:48,000
You've got a lot of resources.

97
00:06:48,000 --> 00:06:49,000
You've got a lot of resources.

98
00:06:49,000 --> 00:06:50,000
You've got a lot of resources.

99
00:06:50,000 --> 00:06:51,000
You've got a lot of resources.

100
00:06:51,000 --> 00:06:52,000
You've got a lot of resources.

101
00:06:52,000 --> 00:06:53,000
You've got a lot of resources.

102
00:06:53,000 --> 00:06:54,000
You've got a lot of resources.

103
00:06:54,000 --> 00:06:55,000
You've got a lot of resources.

104
00:06:55,000 --> 00:06:56,000
You've got a lot of resources.

105
00:06:56,000 --> 00:06:57,000
You've got a lot of resources.

106
00:06:57,000 --> 00:06:58,000
You've got a lot of resources.

107
00:06:58,000 --> 00:06:59,000
You've got a lot of resources.

108
00:07:07,000 --> 00:07:10,000
For example, a developer who's familiar with Visual Studio,

109
00:07:10,000 --> 00:07:13,000
familiar with the SQL Server tools that are in Visual Studio,

110
00:07:13,000 --> 00:07:16,000
can continue to use those as they build out applications

111
00:07:16,000 --> 00:07:18,000
that they'll deliver to as a service.

112
00:07:18,000 --> 00:07:19,000
Right.

113
00:07:19,000 --> 00:07:21,000
At a point where they're ready to deploy,

114
00:07:21,000 --> 00:07:23,000
rather than deploying to a SQL Server

115
00:07:23,000 --> 00:07:25,000
in your corporate LAN environment,

116
00:07:25,000 --> 00:07:29,000
you'll point that script to an endpoint in SDS,

117
00:07:29,000 --> 00:07:31,000
and you'll deploy in the same way,

118
00:07:31,000 --> 00:07:35,000
but you've spent all of your time in the rich tool set,

119
00:07:35,000 --> 00:07:39,000
and the rich ecosystem that you have in an on-premise environment,

120
00:07:39,000 --> 00:07:40,000
in a mobile development environment.

121
00:07:40,000 --> 00:07:41,000
That makes sense.

122
00:07:41,000 --> 00:07:42,000
It's great, great synergy.

123
00:07:42,000 --> 00:07:44,000
Of course, it will be, particularly in our V1,

124
00:07:44,000 --> 00:07:47,000
it won't be 100% compatible,

125
00:07:47,000 --> 00:07:50,000
but we think for the vast majority of apps,

126
00:07:50,000 --> 00:07:52,000
80% of apps,

127
00:07:52,000 --> 00:07:57,000
and certainly even 90, 95% of the Carmel and Web Workload apps,

128
00:07:57,000 --> 00:08:00,000
that the compatibility that we'll be able to deliver in V1

129
00:08:00,000 --> 00:08:03,000
will mean they'll literally just point their deployment script

130
00:08:03,000 --> 00:08:04,000
at the endpoint.

131
00:08:04,000 --> 00:08:06,000
They'll deploy it and they're out and running.

132
00:08:06,000 --> 00:08:10,000
Another aspect that I'm interested in that you touched on briefly is,

133
00:08:10,000 --> 00:08:13,000
I guess you would call it the DBA aspects of dealing with that.

134
00:08:13,000 --> 00:08:17,000
And traditionally, like I was kind of cruelly joking about earlier,

135
00:08:17,000 --> 00:08:21,000
you know, the DBA is sort of a center of power and control in the enterprise.

136
00:08:21,000 --> 00:08:22,000
They are.

137
00:08:22,000 --> 00:08:25,000
So on the one hand, the question is, you know, for existing DBAs,

138
00:08:25,000 --> 00:08:30,000
how can they maintain that nice position they have as things move to the cloud?

139
00:08:30,000 --> 00:08:33,000
But then on the other hand, how does the role of the DBA sort of, I mean,

140
00:08:33,000 --> 00:08:39,000
does it get affected by just simply moving, you know, having SQL Server beyond the firewall?

141
00:08:39,000 --> 00:08:40,000
Well, I think it will be impacted.

142
00:08:40,000 --> 00:08:51,000
And I think that certainly the feedback that we've gotten from customers is that it will be a way for the DBAs and the IT staffs, corporate IT,

143
00:08:51,000 --> 00:08:55,000
to be able to provide a richer set of capabilities to back to their businesses.

144
00:08:55,000 --> 00:08:56,000
Right, right.

145
00:08:56,000 --> 00:09:01,000
And so it was really actually kind of interesting that we've been doing this now since the last next.

146
00:09:01,000 --> 00:09:04,000
So a year ago is when we first announced the service.

147
00:09:04,000 --> 00:09:08,000
And over time, we've been engaging, of course, with DBAs as well as data programmers.

148
00:09:08,000 --> 00:09:12,000
And the early feedback from DBAs was one of nervousness.

149
00:09:12,000 --> 00:09:13,000
Right.

150
00:09:13,000 --> 00:09:16,000
Like, what's happening to me and what am I going to do now in this world?

151
00:09:16,000 --> 00:09:19,000
And over time, the feedback from them and as they learn more about the system,

152
00:09:19,000 --> 00:09:24,000
this becomes another tool that they have to deliver capabilities to their businesses.

153
00:09:24,000 --> 00:09:25,000
Right.

154
00:09:25,000 --> 00:09:29,000
And in fact, again, just as we were talking about before with some of the query performance,

155
00:09:29,000 --> 00:09:36,000
you know, there are--Corp IT will actually find that there are some hidden benefits in here that may not be apparent.

156
00:09:36,000 --> 00:09:42,000
A great example is right now a lot of our customers will talk to us about, you know,

157
00:09:42,000 --> 00:09:47,000
that have this database sprawl effect, whether it be SQL Express or MySQL or something.

158
00:09:47,000 --> 00:09:50,000
It's databases will spring up like weeds in departments.

159
00:09:50,000 --> 00:09:52,000
Yeah, and that's when you mentioned many different versions.

160
00:09:52,000 --> 00:09:53,000
In many different versions.

161
00:09:53,000 --> 00:09:58,000
And particularly in, you know, the day and age in which we live around corporate compliance,

162
00:09:58,000 --> 00:10:05,000
there's some CX type, you know, CXO officer who has to sign off that all the policies have been applied to all the data,

163
00:10:05,000 --> 00:10:06,000
Right.

164
00:10:06,000 --> 00:10:09,000
which they sort of get nervous whenever they have to sign them.

165
00:10:09,000 --> 00:10:15,000
You fast forward and say, well, rather than building that under somebody's desk on a piece of, you know, used hardware,

166
00:10:15,000 --> 00:10:20,000
if you could just provision that in the cloud, not only do you get that self-provisioning you talked about,

167
00:10:20,000 --> 00:10:27,000
but now you get compliance, you get the ability to discover without getting in the way of somebody who needs to go build an app for their business.

168
00:10:27,000 --> 00:10:28,000
Right.

169
00:10:28,000 --> 00:10:38,000
Central IT can go discover that, can make sure policies are enforced appropriately on that, and really now can get the insight that they need in order to do the corporate compliance they have.

170
00:10:38,000 --> 00:10:45,000
That gets at another thing that I was curious about, especially when it comes to, you know, compliance and regulations and everything.

171
00:10:45,000 --> 00:10:48,000
And, you know, your data and therefore the databases are often at the heart of that.

172
00:10:48,000 --> 00:10:49,000
Right.

173
00:10:49,000 --> 00:10:50,000
Absolutely.

174
00:10:50,000 --> 00:10:57,000
And, of course, the idea of Azure or any cloud computing thing is that you'll have, you know, many different data centers spread out everywhere.

175
00:10:57,000 --> 00:11:06,000
What can we expect from, you know, the SQL server SDS area of Azure as far as I need this data to be in Germany or I need this to be in China?

176
00:11:06,000 --> 00:11:08,000
I mean, how does that sort of play out?

177
00:11:08,000 --> 00:11:18,000
Obviously Microsoft's investment in data centers around the world is a great investment that we'll live on and we'll live in those data centers and that'll be great for customers.

178
00:11:18,000 --> 00:11:31,000
The Windows Azure folks, in fact, at the conference are announcing an ability to name the geographic location that you'll handle deployment in and we expect to follow suit with that.

179
00:11:31,000 --> 00:11:42,000
So just as you can say, my computer is going to go in, you know, the Pacific Northwest somewhere in whatever data center that maps to, you'll be able to say the same thing about your database in SDS.

180
00:11:42,000 --> 00:11:48,000
And then you can, by doing that, control the fact that you want your compute near your data.

181
00:11:48,000 --> 00:11:56,000
Those two things will communicate over a pretty fat pipe in the data center and you'll get the performance you need, but you'll be able to kind of control where that might be.

182
00:11:56,000 --> 00:12:08,000
So while we have you here, it's a little bit off topic, but because I've closely followed the team and the project for a few years now, can you give us an update of, as I still like to affectionately call it, project a story?

183
00:12:08,000 --> 00:12:09,000
Like what's going on with that?

184
00:12:09,000 --> 00:12:10,000
Sure, sure.

185
00:12:10,000 --> 00:12:11,000
ADO.NET Data Services.

186
00:12:11,000 --> 00:12:12,000
Yes.

187
00:12:12,000 --> 00:12:13,000
Okay.

188
00:12:13,000 --> 00:12:25,000
So ADO.NET Data Services is the framework piece that will allow you to provide an entity model and an APP and REST-based interface on top of relational data.

189
00:12:25,000 --> 00:12:30,000
We're continuing obviously to invest in that and ship that as part of the .NET framework.

190
00:12:30,000 --> 00:12:34,000
And that turns out to very, very nicely with the relational model that we have.

191
00:12:34,000 --> 00:12:35,000
Exactly.

192
00:12:35,000 --> 00:12:51,000
Given that the way people currently consume that technology on-premises to do exactly that, is to take that framework, you know, do the development work that you need to fill out that framework, do the data mapping that you need, but then put that on top of a relational data model in a relational database.

193
00:12:51,000 --> 00:12:52,000
Sure.

194
00:12:52,000 --> 00:12:59,000
That will fit very, very naturally in the new SDS and in the new world without a story piece.

195
00:12:59,000 --> 00:13:04,000
The data services piece will be deployed into Azure Compute.

196
00:13:04,000 --> 00:13:08,000
Your database will live in SDS and it will work great in that environment as well.

197
00:13:08,000 --> 00:13:10,000
It will be a fantastic model.

198
00:13:10,000 --> 00:13:15,000
And, you know, another key thing that we're focused on is, of course, the breadth developer.

199
00:13:15,000 --> 00:13:16,000
Right.

200
00:13:16,000 --> 00:13:37,000
And it turns out, again, something sort of is counterintuitive, but, you know, supporting TDS and the T-SQL interface, you know, all of the client-type libraries that exist that live on that same foundation, ODBC, and then in turn, all of the open source client libraries, will work very nicely in that way.

201
00:13:37,000 --> 00:13:38,000
Right.

202
00:13:38,000 --> 00:13:46,000
But the ADO.NET Data Services is a great investment there as well about, you know, if you need to access your data through REST, Atom Pub, you're going to do it on an entity base.

203
00:13:46,000 --> 00:13:47,000
Right.

204
00:13:47,000 --> 00:13:48,000
It's a fantastic network.

205
00:13:48,000 --> 00:13:49,000
Well, great.

206
00:13:49,000 --> 00:13:50,000
Well, thanks for spending all this time to talk to us.

207
00:13:50,000 --> 00:13:51,000
Quite welcome.

208
00:13:51,000 --> 00:13:52,000
Thanks for the opportunity.

209
00:13:52,000 --> 00:13:52,000
Thanks.
