Day 4 - Back to Basics
Technical content of this issue - 3 out of 5
In this issue Biff finally starts to figure out these new technologies.
PDC Reset
My conversation with the woman on the bus last night made me realize that
there is a coherent story here which I still don't get and I am at risk of
blowing the entire PDC. At this point I am going to skip some live
sessions and go back to view some of the sessions that I should have caught the first
time, focusing less on the fine details and more on the overall concept of what is going on.
This means shorter, but hopefully more coherent session writeups as I finally began to understand
the overall picture of what they are telling us. I also did some Hands-on sessions and grilled the
folks in the Microsoft Pavillion to help fill in the gaps (one of the Softies actually asked if I was
a journalist! I tell ya, I'm getting some momentum!). The rest of the newsletter
remains the same - for instance, the mail bag is back in full force today.
During the course of this week I've noticed something about my writing style - I tend to
rely heavily on the dash. There are times I have to stop myself from using multiple
dashes in a single sentence - it's like a compulsion. I don't think I was ever even taught the
grammatical rules for using the dash - are there any?
One logistical note - belayed proofreading found that, among several other careless errors, the links
to the topics discussed in the Microsoft Research session yesterday were left off. This has been corrected
in the online copy of Day 3.
A Lap Around the Azure Service Platform
This session described some of the services offered by raw Azure, as opposed to the services built on
top of Azure. These include
- LiveID - this is their native authentication mechanism, but he did not address it in the session. One tidbit
that I picked up elsewhere is the Microsoft is committing to making LiveID support OpenID, supposedly a de facto
open standard for authentication on the web.
-
Access Control Service - Somehow separate from the LiveID service, this allows for federated identity lists. For instance,
a company's site may have users that logon with their local AD account; a LiveID account; some other account with the Microsoft
Services Connector; etc. This service provides a single authentication interface that masks these complexities from the application.
-
Service Bus - Standard functionality. A service can publish events but can't force anyone to listen. Anyone who wants to listen can.
The publisher can limit who can listen for security purposes.
-
Workflow - Hosting for the standard MS workflow technology. Azure provides a browser based console to manage and monitor the
actual workflow instances.
-
Data Services - Do not confuse these with SQL Data Services, an service that is offered built on top of Azure.
This is purely part
of Azure. I questioned several people on why there are two data services and the answers received pretty much boiled down to Azure data
services is for files, blobs and the non-relational kind of things that an OS would store, whereas SQL Data Services provides the rich
data functionality
such as querying, reporting, etc. Hearing this delineation causes me to recollect back to 2003 and WinFS, a OS file storage system based on SQL Server.
The line back then was that users wanted a rich file system based on SQL Server that allowed querying of file and folders. I guess this
change of heart happened somewhere around when WinFS was dropped from Vista.
Once I started seeing how all this works, I started wondering about how you move from the cloud simulator on the dev machine
to production in the cloud. How do you QC this stuff? The answer appears to be that you actually rent two cloud designations and
use one for QC. One option is that once the QC installation is verified you can swap the two environments and turn the QC into the production -
but it wasn't clear what happened with database instances in this case. Of
course, later in this issue we learn that thinking there is a conventional
database is problematic in the cloud (ooh - more foreshadowing!)
There was an impression given many times that this is an open platform. While it is true that interacting with the higher level
services
like SQL Data Services is REST based and can be done with any tool, the only code that can get uploaded to Azure right now is managed code (.Net).
There are great hopes, and plans to work with the Open Source communities to support other technologies in the future, but that's
vapor at the moment. I heard it stated that you could develop with Eclipse several times from the stage, which definitely gave the impression
of more openness than exists. The only way to develop for Azure with Eclipse right now is to use Eclipse to write .Net - does anyone
out there know anyone doing that?
A Lap Around SQL Services/SQL Server: Database to Data Platform - The Road
from Server to Devices to the Cloud
No, that is not the name for a single session, even here at the PDC. I watched
2 sessions on the SQL Services today and decided to write them up together since they
were complementary. I'm just going to focus on the fundamentals, because they eluded me for
several days and I want make sure I get them across now.
SQL Data Services is not a big SQL Server database. It is built with SQL Server technology, but is
something completely different. To achieve all the goals of the cloud (scalability, redundance, synchronization, etc.)
they went a whole new way which may not even be relational.
The top level concept is an Authority. An Authority is essentially your company's presence in the cloud data. It is mapped
to a DNS entry and represents a unit of billing (meaning they bill YOU for based on this). It contains a collection of the next item,
Containers.
Containers can be thought of as a database. It is the scope of queries and updates (eg - if you want to run a query, you do it
off of a container - sort of like MyContainer.Query(criteria), but not really). A container contains collections of entities.
An entity is just that - a collection of attributes defining a thing. These are stored as a property bag of name/value pairs. This
is the actual unit of storage.
This I had heard all week and kept waiting to hear how these were oriented into tables, rows, etc. Today I finally realized that
they aren't! There are no tables, no columns, no schema of any kind. An entity can have any number of name/value pairs associated
with it and they can be of any type. The data is essentially entirely denormalized. No schema means no data constraints, no foreign
key constraints, etc. Querying is done by entity type, such as give me all the entities of type employee and give me the following attributes
of each entity. This means data modeling is done by modeling entities - no more physical modeling. I'm still wrestling with this. How
do you define one-to-many or many-to-many relationships if not in the schema? I need more time to absorb this - I hope to try
a hands on lab tomorrow.
After dwelling on this for a while, I went to the pavillion to follow up. I asked how an existing app that treats its data interaction
as conventional CRUD interactions with a tight schema would move to the Cloud. The short answer is it would be very hard - if your data logic
wasn't clearly limited to the data tier it would be near impossible without a full rewrite.
OK, if you're still reading (and if you're stopping, at least skip to the end and read the mail - it's good today),
let me spill the last nuggets of info from today. Once you buy into the Azure model of entities as data, you get 5 services
out of SQL Data Services:
- Data Sync
- Reference Data
- Reporting
- Data Mining
- ETL
Back to DW from MD
Careful readers will remember that I postponed answering DW's substantive
question in yesterday's mailbag until I become more informed. Between my
conversations with Microsoft representatives and my own observations I think I
am ready to give it a try. First, how does this compare/compete with Google
Apps? I couldn't find anyone who would relate Azure to Google Apps and I think
that reluctance is appropriate. Google Apps is a set of office productivity
applications rather than a hosting platform. A better analogy would be Microsoft
Office Services Online (Day 3 morning session), where Microsoft has put their
office productivity apps online. I also pressed them about Amazon Web Services
and they wouldn't take the bait there either, claiming that Amazon just hosts VM's that you upload but offers no services. Not sure I'm ready to
enjoy that particular koolaid.
DW continued to ask about this eating into their bread and butter desktop software business. Unclear on that one,
I spoke to one Softie who asserted that this is just an extension and that the best apps will be rich interfaces on the
(presumably Windows) desktop connecting to services in the cloud. Office Online Services might spur new sales of Office
as companies want to take full advantage of the integration across the web. I think the server revenue is safe, because any
company that moves to Azure will no longer have to buy server licenses but will have to pay the potentially more lucrative
Azure hosting fees.
Letters! We Get Letters!
Full mailbag this morning, let's get started!
FH from MD wonders - "Odd... day 1 and 3 got thru ok, but 2 was caught by the spam filter...
day's 2 subject had some extra stuff ("Announcing Windows Azure")... is "Azure"
also a performance enhancer?"
Yes - that's exactly right. Microsoft is claiming not only that Azure enhances
performance, but that it also provides additional reliabililty, allowing your
app to stay up longer. But these are all huge infrastructure benefits and
don't explain why Azure would be considered a spam flag. -Ed.
PO'C from VA writes - Your newsletter makes me feel like I'm really there! Just to complete the effect, I've
been using chafing dishes for all my meals and eating standing
up next to a tray full of dirty dishes.
That's an excellent start, but it's tough to imagine the mass of humanity in your own home. I suggest
beginning your meal by standing about 20 feet from the actual food. Then move forward about 6 inches a
minute until you are within reach. -Ed.
LF from MD gloats (apparently on his BlackBerry) - "azure is a synonym for poetic justice? msft
applying all those patches... it just feels sooo right!"
Yes, there will be alot of infrastructure folks whose golf game will improve drastically. -Ed.
Time to get your mail in is running out, send your mail to
editor@biffspdcnewsletter.com.
Tomorrow
Final Sessions, one last chance to put the pieces together.
Biff
Cheif Proofreeder, Biff's PDC Newsletter