Saturday, June 12, 2010

Day 5 - MS Tech Ed - App Fabric, specifically the Service Bus

Final day of Tech, the line up isn't that spectacular for someone looking for high level, architectural approaches. But Joval Lowy and Clemence Vasters (MS Tech Lead on Azure App Fabric) showed up to bat and didn't disappoint.

What App Fabric brings to the cloud is an Enterprise Message Bus that enables some pretty impressive functionality. They focused on four elements that make up the service bus: Eventing, Tunneling, Service Remoting, and Discovery.

The details of these four elements are pretty impressive. Instead of getting into the details and paraphrasing these guys, let me talk about some of the cool application of this 4 point attack.

Eventing - Handles multi-cast subscriber message relaying. Imagine sending a single message to an Event hub and having all subscribers informed instantaneously. Think of how this changes your pub/sub models. Furthermore, there are message buffers here (Note - they are not MSMQ and are not durable queues).

Remoting - Nothing super impressive here except app fabric will leverage SOA and WCF services/investments.

Discovery - Default is an ATOM feed. However, with a little majic from Joval's utility classes, you can have a fully programmatic discovery of services being broadcast (currently not enabled in app fabric from my understanding of Joval and Clemens back and forth). Joval has extended discovery to include announcements - something that is currently not available out of the box. Very cool.

Tunnelling - This is where things got above my head. Ultimately the built in tunnelling ability of app fabric can tunnel down into any on premis asset that isn't plugged into WCF. Think about how you might move an application to the cloud yet many of the tight coupling hooks are back to non-cloud non-internet accessible links.

The real interesting part of all this was a small backhanded statement by Joval to Clemense. Clemense remarked that it was 'taking a while for an demo to start and Joval should upgrade his notebook'. Joval responded - 'This is Gods notebook, 8 cores, 8 gigs of ram - what does that say of your software Clemense?'. I think this highlights perhaps a chink in the azure app fabric armour. How computationally intense is it for some of these services to initiate? Time and examples will tell.

The second presentation of the day before packing it in for the week was put on by Karen Forster. Trying my hand at understanding the full cost or even hidden costs of rolling out a solution. This presentation's key nugget was the idea of: Spaghetti Infrastructure (not just code). Clean, linear vertical IT stack:


Finally there was the MS Tech Ed Party - this was an interesting event. Showing up to Mardi Gras world was a little... peculiar. This is where they store a ton of the Mardi Gras floats, I was met with what looked like the Burger King mascot that left me feeling like I should turn around and find bourbon street. But the lure of free beer kept me strong. That was about the only good thing about the party - free beer, but even then, they ran out of good free beer quickly and people started leaving when only Bud Light was left. What does that tell you about bud light that people who make a decent living are willing to go buy their own booze on Bourbon street then take it for free. I felt sorry for anyone who paid the $125 sticker value to get in.

Regardless of the lack luster final party the conference was stellar. The energy was great and the set up was awesome. There were a few glitches with the wifi/internet dying for a complete afternoon - rendering some demo's useless (especially cloud computing ones... take now - perhaps another 'chink' in the armour).

Wednesday, June 9, 2010

Day 3, 4 - MS Tech Ed - Deep dive into WP7 to the Entity Framework/LINQ to SQL/Stored Proc what's best? argument

The last two days of tech ed for me haven't been nearly as great from a sessions perspective. Maybe it's because I got pulled out of the conference to deal with some work related issues, but I also think the content wasn't as powerful. Or mabye it's that the sessions are getting more and more technical focused and I'm a big picture kinda technologies.

There was a quick overview of the WP7 architecture, the building blocks of how WP7 came to be. Some amazing nuggets that came out of the presentation:
  • State Model of WP7 runtime enables applications to be suspended. However, suspended application that take up too many resources with Shell will kill. So assume suspended aps will be killed when programming. Aka save your state!
  • Always store the last request locally (isolated storage) it's a best practice and with the use of the back button helps user's navigate to and from your app.

Joval was back with his Zen of Architecture sesison - He nearly filled an auditorium with developers and architects. I'm not sure they were ready for what he was going to say. What he's done here is very ingenious. He's continuing his argument about the evolution of Software Engineering and feeding off the Civil, Mechanical, and Electrical Engineering fields to come up with a notation and a mechanism for designing software systems. The key to his design is WCF as it encapulates his layers. The notation is pretty enginious and he brings up a good argument about the death/decay of UML - UML was invented to teach C dinosaurs how to do C++ (Object Oriented). Furthermore, for those of us who did some form of electrical engineering courses, we all know that the notation for electrical circuits are simple and to the point. This is the basis of his notation/technique which he calls the Method.


This tiny picture from iDesign's website actually is a small rendering of his method's notation. It's simple, smart, and looks very effective. I plan on sharing this with the architecture team at Macadamian very soon.

Finally, this morning an excellent session was put on by Bob Beauchemin aptly named: "A Database Developer and DBA Perspective: LINQ to SQL and Entity Framework vs. Stored Procedures". I think that summarizes it well. He went over some of the fundamental (and I think little known) issues of LINQ2SQL and Entity Framework (he calls these the 'frameworks' which I like and will now steal). He showed real world examples of how LINQ2SQL uses parameterized queries and how it's just about as fast as Stored Procs, persist in cache like stored procs etc... The only major downside to either - Direct Table Access. DBA's hate giving up this kind of control and for good reason - it's the fundamental rule for locking down a DB and securing it. His final say - the frameworks work well, use them were they make sense, but with the latest releases of the frameworks it's even easier then before to tie them into stored procs, meaning both camps can be happy.

Oh and Bob's final note - LINQ is SQL, just written ever so slightly differently.

Finally I spent 3 hours in the Hands On Labs - this is a great idea that MS has. Right smack dab in the middle of the conference are labs with instructors around to help you. They have set up coding examples (you can cut and paste them until you feel you've actually programmed something) or experiment with the code a wee bit like I did and have a final product that doesn't really match the course material but still captures the spirit of it. What did I learn? That Push Notification Services for WP7 are actually fairly straight forward minus the byte streaming and a few deligates/event handlers here and there, rely heavily on WCF and are consumed pretty easily.

Final thoughts - After spending a little more time in expression blend, I really think this tool makes Silverlight/WPF that much more compelling. If you haven't started to learn expression blend, start now. That and azure or some kind of cloud computing!!!

Monday, June 7, 2010

Day 2 - MS Tech Ed - From Keynote to Bootcamp in about 10 hours

Today was a little dizzying.  It started with running late to the keynote - apparently the trolley service (though very very cheap @ $1.25) doesn't really run on time - and when I say doesn't really, I mean doesn't AT ALL run on time - it just kinda shows up sometime... but there is a nifty schedule online, which is apparently useless.  Missed the breakfast, decided on a Dr. Pepper as a means of caloric injection.  It wasn't very satisfying.  Neither was the keynote.  It lacked energy, the speakers were ok.  The keynote certainly wasn't a Steve Balmer typical energizing pick up a gun and blow up Google either.  What it was, was a conservative statement about the coming of the cloud, how it will enable your business to be smarter, and how Microsoft is now eating it's own dog food.  Meaning, many of these products have been in use within Microsoft for years and they've been making them better for us before we had to live with them.

Something that has a significant push, something that's been a quiet peice of software for a while, is the UC - Communication Server.  There are some very neat elements built into it and it's collaboration with all of the MS suite of tools.  I'm not really sold because you need to be running Sharepoint, Comm. Server, etc... etc... to have the majic work.

A few emergine technologies that I think are worth looking into that was shown VERY fast are:

Codename Dallas - An open data information look up and provisioning service that is tightly coupled to the .Net dev tools.

MS Excel, specifically Power Pivot - Seriously.  This looks intense.  Though I got into a very good discussion over lunch with a fellow techy about if they can make some of this work SOOO well with the Excel application, why can't they get it into SQL Server?  Seriously, Pivot on 100,000,000 records would be devistating.  This has brought back memories of building SQL queries and connection into Excel and allowing it to do most of the hard work.  Seems that just might be the way to do it again.

Intelli Trace (great msdn article on it) - I mentioned this yesterday, but forgot to mention the actual tool name.  It's getting close to being a DVR for the .Net plateform.  Unfortunatly, you need VS 2010 Ultimate to use it.  Get this - it's $11,899 if you want to buy this thing... yeah I tuck a little poop as well.  Too bad they don't have a SAAS model for it.  Wow... seriously? Maybe I should just hit backspace on this paragraph since 12K is a little steep.

Once again, lots of hype about WP7 - I got verbal confirmation from a few people who shall remain nameless that the BETA SDK should be delivered within 30 days.  Can you say AWESOME?  I saw some pretty impressive feats with Expression Blend and WP7/Silverlight today... I'm just saying.

Finally I went to an Azure bootcamp, signed up for an Azure account (7 free days!) and walked through the steps nessisary to deploy my first Azure Web App.  It's not nearly as intuitive as you might think for a Microsoft Tool.

Anyhoo - time to get some work done and try and get enough sleep to pack in 10-12 more hours of this tomorrow.

Sunday, June 6, 2010

Day 1 - MS Tech Ed - Strategic Architecture Seminar

Amazing Session.

Norm Judah started it all off with a great vision into 2015, discussing the evolution of Cloud computing.  This concept of Cloud and an overtone of software as a field of Engineering were really being drilled home.  Norm highlighted how Cloud computing is really going to revolutionize and bring about the 5th generation of computing.  (previous generations mainframe, PC apps, client/server, Internet).  One thing Norm really got right here is breaking down the word 'cloud'.  Making sure we understood that not all clouds are made the same - EC3, Azure, Rackspace cloud, akamai, limelight, etc...

Juval Lowy followed up the concept of Engineering and discussed the inflation of terms from the 1990 explosion of the high tech industry and the boom that brought about an influx of under rated under talented and certainly not properly trained software professionals.  His idea - Software Architects are really Software Engineers.  Software Developers - really are software technicians.  This terminology is radical and for some insulting.  But what's in a title?  Really it's about what you do.  He highlighted that the architect should NOT be the domain expert.  I couldn't agree more - that's for SMEs and developers.  Architects deal with patterns and processes that can be re-used over and over again to solve problems.

Angela Yochem really inspired me with as my current role as a dev manage for Macadamian Technologies, more specifically as someone who is helping his employees reach their potential through a single statement - "How do you want to finish your career?:  Forget about the - what do you want to do in 5 years question we've all be asked.

These three alone were enough to make my mind nearly explode with new energy and ideas.  Idea's I want to disseminate within Macadamian as fast as I can.  Cloud computing, re-invigorate the role of the architect as the engineer (something I've been thinking about a lot lately, how software developers are the craftsmen - but how I haven't really put words to paper on what that makes the architects).

But there was more...

Jim Wilt went into the details of Cloud computing, how it's new, immature, and the architects out there need to get their hands dirty with it.  Like Norm Judah said - this is a new frontier of computing.  If you don't make this paradigm shift in how you design software, in 5 years you will be scrambling to keep up.  Another interesting topic he went into was how private clouds don't really make sense in the long run, but will help quench the fear of the enterprise of lose of control.

Eduardo Kassner - The only IT Infrastructure Architect of the group - really hit home with a rapid fire overview of a great study about building efficient, well managed IT infrastructures.  This is something most start ups don't get right.  The report was great, it went into massive detail about the total cost of ownership (something very difficult to explain to customers as it's not something immediate).

Sam Guckenheimer went into some deep dives (and demos).  But his key message that really stuck with me had to do with technical debt.  More specifically how lean process/enterprises and the concept of Muda, Mura, Muri brought in by Taiichi Ohno at Toyota.  These 7 type of Muda (waste) really hit home, the biggest one was absurdity that creates a reliance on heroism to save the day (or build or release).  Furthermore, it's great to see that MS is moving towards a solution with testing that Replay Solutions (replay Editor) brought about earlier this year.  The ability to log bugs that can launch you directly into a debugger session in VS2010.  The caveat is that the easiest way to deploy this is with TFS and Lab Manager as your dev environment.  Though he did mention a way to build your own custom tie ins.  Can you say plug ins?

Finally Futureist, Ulrich Homann, flew 50,000 feet above sea level and got into some very interesting topics about how some of the leading edge corporations in the world are shedding old paradigms and looking at some very new ways of developing solutions.

And to top this all off.  I won a MS Web Camera.  This is ironic because the old Creative Notebook Web Cam I have was giving my laptop blue screen's of death when trying to video chat with my daughter.  All in all, very happy times.

As a small side note the reason I won the web cam was from a question I asked the panel about Geo Fencing services built into cloud computing services in Azure.  With that said, Geo Fencing of clouds doesn't seem to be on the horizon for Azure.  What MS is doing is lobbying governments to reduce their views on 'location' of the data storage.  The strong argument about how the information using the Internet gets routed to you is key here.  It might be stored a block away, but it may get routed through 5 states and 3 provinces before it gets to your computer.

Thursday, June 3, 2010

Headed to Tech Ed in New Orleans

I've just spent the first 5 hours in New Orleans.  This place is hot.  No seriously, it's warm.  41C with the humidex.  Regardless, I'm not sure what to think of it yet.  I've come across some rather interesting sights and sounds.

A few interesting things that I'll be doing besides hunting for a Muffuletta (update found one - central grocery and franks... tried franks this evening it was pretty good and the service was nice and chatty) will be to try and sync up with a few MS Evangelists and discuss some of the crazy stuff we are doing in the mobile space right now.

There is a buzz around the service industry with the MS conference coming to town.  Usually this time of year tourism is slow.  They are excited for the influx of 40,000 people.  So am I.  Lets get this conference started.

I'll be posting updates as I get them with interesting technologies and thoughts as they happen.  Ultimately, I'm most interested in WP7 - will they have hardware - will I get to touch it?  Will they announce a new SDK CTP?  Lets hope we get some answers.