Quantcast
Channel: the Guy with a Tie Minding my Business » Wordy
Viewing all articles
Browse latest Browse all 3

WOW Microsoft! (MIX10 Reaction Pt. 2)

$
0
0

Because this is a two parter, I reintroduce the beginning. If you’ve already read Part 1 or really don’t care, you can skip it by clicking here.

The inspiration and genesis for this post originated with my review of the Microsoft PDC 2009 Keynotes in preparation for my trip to MIX10. I pride myself on staying up to date with technology, but I had lost a little bit of touch with the details of what Microsoft was doing. So, when I saw the PDC Keynotes, I was really blown away with all of the power they are now providing to developers of applications.

Some background on my development life…

I have a B.S. (I know, I know) in Computer Science from USC. On my way there, I took a trip through SMC (Santa Monica College) where I switched majors from Mathematics to Computer Science because I wanted a way to make some good coin while I was still in school. While finishing at SMC, in the Fall of 2000, I had 2 internships, one where I wrote Java and the other I wrote ASP w/ VBScript (man do I hate that language). As an interesting aside, the internship where I wrote Java could not hire me because when the internship ended, so did the company as a casualty of the dotCom Bust. So I ended up working at the place where I wrote ASP. You can read more about what I learned from that time in a future post.

Already a big fan of OOP (Object-Oriented Programming), when given the chance, I decided to write a server-based XML communication and translation engine for the ASP-based company in Java using Servlets. It was a solo effort, and when I came up with 4 different designs, each with their own merits, I turned to the internet for inspiration on how to choose. It was because of that that I came across Design Patterns and the GoF (Gang of Four, referring to the 4 authors of the seminal and original work, “Design Patterns: Elements of Reusable Object-Oriented Software” found here on Amazon). This book not only completely changed the way I thought about OOP, it made me more of a fan of OOP and OOAD (Object-Oriented Architecture & Design). From then on, I worked almost exclusively in Java if I could.

While at USC, then, .NET was released and as a typical Java programmer, writing server-side applications and hating MFC, I didn’t give it a hard look, until I took a job at Countrywide (yes, you can ask me about it if you want) where they were exclusively a Microsoft shop in my department. The old applications they had were built in ASP 3.0 (aaahhh!), but I was given a task to build something new in .NET (yes!). It was then that I really dove into .NET and began to realize the power it had, not only with C# being a language with a lot of things I wanted Java to have (ahem, properties), but the ASP.NET model was amazing in the way it brought VB6 type development to server-based apps. So, I have been a Microsoft Technology Platform convert ever since. There’s more to it than this that you can read about in another post about Microsoft and Sun, but this is sufficient for this diatribe.

So back to the present…

From what I saw in the PDC Keynotes, and what I experienced at MIX, I believe there are 2 technology offerings from Microsoft that are true game changers in a way that relates to technology companies building products.

Second is Windows Azure.

As an aside, yes it should really be called “Azure” (as it originally was) since it has nothing to do with Windows, but someone on high wants to ensure the name Windows lives on within our computing nomenclature, so we’ll have to see if that was a good decision or not.

So why is Azure (should I include “Windows” everytime for the search robots?) such a game changer?

Plumbing:

Yes, Amazon offers EC2 and there are numerous other smaller cloud hosting options. Why is Azure different? Simply put it’s the plumbing that comes along with it. Microsoft is providing a compelling option for deployment to the cloud.

Tooling:

As they have done since the inception of the company, no one thinks as much about the developers as Microsoft, so of course they provide awesome tooling support in order to take advantage of their cloud platform.  I’ve said this to many people who do not develop on the Microsoft stack and I’ll say it here again, Visual Studio is by far the greatest development environment ever.  Nothing else is even close.  Because of that, they have also built in the necessary tools to work seemlessly with Azure and it makes everything a lot easier for those wanting to develop for the cloud.

Beyond just Visual Studio however are the specific tools being provided within it to work with Azure, namely:

  • Cloud Storage Explorer – provides the ability to view what is being stored within your cloud services
  • Integrated Deployment – deploy services and configure roles directly from Visual Studio
  • Service Monitoring – you can get real runtime views of your services within Visual Studio
  • Debugging within the Cloud – self-explanatory
  • Development Fabric and Development Storage – local development “cloud” that mimics (almost completely, no parallelism) they way Azure works in the cloud

Multiple Storage Options:

Having multiple options for storing data may seem to some to just complicate things but it allows developers to utilize different storage algorithms based on need.  SQL database for relational data, Azure tables for grouped data and File storage for basic file and binary object data.  As the saying in development goes, what’s the solution? “It depends” and this format allows development teams to take full advantage of the “It Depends” rule by applying the right storage at the right time based on need rather than being completely fixed into one mode.

Simple Parallelism:

Azure provides a simple parallelism model.  Although it will take some work to utilize it and understand where your application is running when, the simplified model used in Azure creates great power for those wanting to build truly scalable applications that can eliminate blocking on non-necessary tasks.

Cost of Capital:

The most important advantage provided by Azure is the cost of capital that is reduced from the equation to entrepreneurs like myself when wanting to build applications and services for the web for which downtime is not an option.  Now, this is not merely limited to Microsoft’s Windows Azure, but with the other features above, it does create a compelling argument to those already familiar with the Microsoft stack to stay within the family.

The cost of capital factor cannot be understated because at this point, we are now looking at a future where the barriers to entry for good software ideas are disintegrating left and right, and the democratization of good ideas is coming.  This is a good thing and I’ll touch on this in another post.

As a junkie of software engineering and architecture, Windows Azure is a really cool tool, the advent of which has made relevant many books on my bookshelf that I thought had become relics of knowledge that made me well rounded but were lacking utility with modern development until now.

My experience at MIX10 was a very good one and one that provides me with a lot of excitement for the future, not just for me personally, but for all of us.  What we’ll be able to accomplish and the new ideas that will now see the light of day.



Late.



Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images