My Narrative on Unbiased Cloud Computing

Over the past few weeks I’ve been posed with the “your biased claim” from some people.  I decided that I would put together a write up on what my motivations are for cloud computing, how I’m involved, and what my intent is for future involvement.

First off, I need to point out that I’m a software developer (which is probably obvious).  I build applications, mostly on the .NET Platform but also with other stacks such as Ruby on Rails, PHP (rarely), and of course the respective tools around those stacks.  I’ve also spent a lot of time working on enterprise architectures with massive scale (think 150k employees).  I have dug through REST at its core, implemented SOA and other such things.  Lately I’ve had the fortune of developing against Amazon Web Services (AWS) and also Windows Azure, again primarily using the .NET Framework (ala C# and such).

My interest in cloud computing really got started while I was working at Webtrends.  The company has a geographically dispersed, somewhat virtualized, network of hundreds of computers.  The way the company was moving made multi-tenancy easier and brought costs down for the company in a big way.  Something that cloud computing does from the beginning.  This whetted my appetite for large horizontally distributed and scaled systems.  Recently I moved from Portland, Oregon to Seattle, Washington to get even more involved in the heart of cloud technologies.

However, a major problem arose.

In addition to cloud technologies I’m also very pro-agile ideals.  I believe in the individual developer, working with others in pairs or however.  Learning better ways to build great applications and software solutions.  I try to live and breath the solid and great ideals behind the Agile Manifesto and Software Craftsmanship Manifesto.

I like to stay as unbiased as I can in regards to my technology stacks, and initially I was working out at Microsoft (As a Consultant).  I was forced into the antithesis of the Agile & Software Craftsmanship Manifestos.  It was depressing and I realized I couldn’t keep a good clear view of the various cloud technologies while hunkered down in the belly of the beast.  Two things weighed on my mind;  my intent to stay unbiased was clouded by working closely with the Azure team writing white paper materials and researching and the second was that so much of the work is done in a very anti-agile & anti-craftsman way.  It wasn’t serving me morally, ethically, or technologically.

I had to get out of that.  So I did.

I joined Russell Financial.  I am now doing Scrum Agile with a team of exceptionally talented individuals including @codereflection, @notmyself, @ang3lfir3, @terryhughes, and several others.  We use a lot of open source, unbiased software, that happens to primarily be on the .NET stack.  The ideas are shared open and with bias in regards to a whole host of things from Heroku and Salesforce, current enterprise ideas about Cloud technologies, and other things.  I now have a solid work environment that doesn’t provide me with a skewed view of the cloud technologies.

From here I can see the clouds and research, develop, and identify which cloud provides the best opportunities for each specific need that a company is working on.  Sometimes I might sound biased this way or that way, but every judgement I make toward one cloud service or another is based on specific criteria.

In other words, if I’m providing consulting to you for your efforts to utilize the cloud, I’m going to provide you honest, company specific advice on what your strategy for deployment, development, and return on investment should be.  So if you think I’m being biased, check your premise, my research, development, and general efforts around cloud technology are to find the best of breed options for whatever task, need, or want a company may come up with for cloud services.

Now, back to my regularly scheduled technical bits.

Opera Just Keeps Leading

I’ll admit Chrome has really cleaned up browsers and Chrome & Opera have easily led the revolution in making browsing FAST again.  With Javascript execution smoking the competition (Opera smoking the competition for years now) and rendering that is pretty damn perfect.  IE has of course been a thorn pushing developers to build things that aren’t standards comliant, but with IE 9 actually meeting standards then that just means Chrome & Opera can focus on moving the industry forward with new creative solutions to browsing & using the Internet.  Throw in Firefox as they move forward and we’ll see advancements that haven’t happened since the heyday of the late 90s & early 21st Century.

I’m looking forward to seeing what advancements these browser companies put forward, and even the IE users can look forward to IE implementing the changes now that Microsoft isn’t busy distracting the web world with all that IE6 destructive nonsense.  I’m glad to see IE9 join the web world & start chasing the leading browsers.  Good job all!

Windows Azure SDK 1.3 Broken Deployments

I’ve been using the 1.3 SDK now for about a week.  I have one single machine that can deploy an ASP.NET MVC Application to Windows Azure.  The other 32 bit machine and 64 bit machine do not, fail pretty much every time I do a build on them.  This is how it looks so far.

Machine 1 is: 32 bit, 4 GB RAM with Win 7, .NET 4.0 with VS 2008 + 2010 individual installs of software over a period of about 10 months.  In other words, it isn’t the cleanest installation anymore.

Machine 2 is: 32 bit, 4 GB RAM with Win 7, .NET 4.0 with VS 2010.  Relatively clean enterprise level installation of Windows.

Machine 3 is: 64 bit, 8 GB RAM with Win 7, .NET 4.0 with VS 2010.  The installation is literally 4 days old now.

Machine 3 fails to provide a build that is deployable every single time.  It creates what I call a “Ghost Deploy”.  See the video below:

Machine 2 actually completes a deployment after setting the assemblies in the ASP.NET MVC Web Application to local and removing the diagnostic configuration settings.  This is the only machine I’ve had successfully deploy a Windows Azure 1.3 SDK ASP.NET MVC Web Application in the last week.

Machine 1 actually just spools the deployment into the Web Role, but then it spins, busy without starting.  Once after about 45 minutes it did finally stop.

In the video I did not have a certificate added to the web role, but have since added one and tried to launch the web app (on Machine 2), still nothing.  It at least does not turn into a Ghost Deployment.  On machine 3 the deployment with the certificate still just dies.

I’ve tried to set all assemblies to local, I get no changes.  I’ve assured no configuration changes have diagnostics in them.

Machines 1 and 2 both deployed Windows Azure ASP.NET MVC Application without any issue before SDK 1.3.  Machine 3 I’ve just built, so certain issues may be inherent in the machine load itself, but with the other issues still rearing their heads, I doubt that Machine 3 is at fault but instead am leaning toward SDK 1.3.

Anyone else out there having any issues?  Seen the continual spooling?  Compared to SDK 1.2 (which I didn’t even have a single issue with) this is really disconcerting.  I encourage cloud technology use to major enterprises, and this type of mistake is worrisome.  Fortunately for me (or maybe I should say fortunately for Microsoft) I’m not pushing any efforts with the 1.3 SDK right now.  It has a few new features I’d really like to try out, but at the current time I can rarely get a decent deployment, let alone something that tests out the new features.  Plz fix k thx bye.  🙂

My Current Windows Development Machine Software Stack

I recently did a clean install of Windows 7 64-bit.  It had been a really long time since I listed the current tools, SDKs, and frameworks that I’ve been using.  Thus here’s my entourage of software that I use on a regular basis that is installed on my primary development machines.

Basic Software & System OS

Administration Utilities

Themes & Such

In addition to these packages of software another as important, if not more important to my day-to-day software development includes these software services and cloud hosting services.

SaaS, PaaS, and IaaS

Software I will be adding to the stack within the next few days, weeks, and months.