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.

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.

Re: Cloudcamp Seattle

Summary Statement:  CloudCamp rocked!  I got to meet a lot of smart people and have a lot of smart conversations!

Ok, so I probably shouldn’t write the summary statement first, but I’m not one for standard operating procedure.  But I digress, I’ll dive straight into the cloud topics and the event itself.

The event kicked off with an introduction and lighting talks by Tony Cowan, Mithun Dhar, Steve Riley, John Janakiraman, Margaret Dawson, and Patrick Escarcega.  Margaret and Steve really stood out to me in their talks, I’ll be keeping an eye on any future speaking engagements they may have.

One of the quotes that led off CloudCamp during the lightning talks was, “If you’re still talking about if the cloud is secure…” you’re already behind, out of touch, missing the reality of it, or simply not understanding the technology.  After further conversation though, it really boils down to the most common excuse.  The statement “the cloud isn’t secure enough” translates to “I’ve got my fingers in my ears and am not listening to your cloud talk”.

Margaret Dawson from Hubspan really took a great stance with her lightning talk.  The talk was titled “To Cloud or Not To Cloud” with “Don’t buy the cloud, buy a solution” as the summarized idea.  The other thing that she mentioned during her talk was she likes adding “AASes” to cloud computing, such as “BPaaS”.  I’ll admit I laughed guiltily along with a few dozen others and forgot to note what BPaaS stands for.  Whoops!  🙂

An attempt at creating a generalized definition of cloud computing was also made.  It was stated that we can, as a community, agree on the following definitions of cloud computing.  The definition involved three parts:

  • Cloud computing is on demand.
  • Cloud computing can be turned off or on as needed.
  • Cloud computing can autoscale without issue to handle peaks and lulls in demand.

Another funny statement came from Dave Neilsen (@daveneilsen), CloudCamp Organizer, “I agree, the cloud isn’t right for everyone” to which someone in the crowd jokingly hollered back “You’re Fired!”  The energy in the audience and each of the sessions was great!

After the lightning talks Dave Neilsen led the conference with a cloud panel to field some questions.  A few topics related to this wikileaks thing 😛 came up along with some others.  I tired diligently to take good notes during this time, but it was a bit fast paced and I left the note taking to be more involved in listening.

These activities kicked off the overall event, which then led into everyone breaking out to different sessions depending on topics created by the attendees.  The sessions included (and I may have missed one or two);

  • Open Source Software in the Cloud
  • Best Practices for Low Latency
  • Intro to Cloud Computing + Windows Azure
  • How does a traditional Microsoft Stack fit in Amazon Web Services (AWS)
  • Google Cloud Services
  • What are your personal projects?

As another aspect of this review I wanted to pull in a few tweets that mentioned or had something useful in relation to the #cloudcamp + #seattle hashtags from last night.

…with that, my cloudcamp review is fini.  Hope to see everyone at the next Seattle Cloud Event!

Windows Azure v1.3 SDK Issues

I’ve been having oodles of deployment issues with Windows Azure lately ever since upgrading to the 1.3 SDK.  It seems on one machine (which is 32-bit) when I do a build and deploy it appears to word.  On my 64-bit machine with a COMPLETELY clean load of Win 7 and VS 2010 + the Windows Azure SDK 1.3 it never deploys.  Just keeps trying and eventually gives up after about 30-45 minutes.  Very painful.

So far I’ve had some twitter conversations and Eugenio Pace has helped a lot in trying to figure out what the problem is.  At CloudCamp however I start an empty ASP.NET MVC 2 app and deployed it, as things go it worked flawlessly.  I guess Eugenio scared it into operating properly!  🙂

Also Rinat Abdullin has run into some issues with the 1.3 drop also.  Rinat’s entry is titled “Don’t Upgrade to Windows Azure SDK 1.3 Yet“, so you might get the vibe you may not want to upgrade yet.

I also got this tweet from Eugenio on a troubleshooting page on the MSDN site.  It may help if you’re slugging through some issues.

Eugenio Pace @adronbh Latest list of deployment issues on Win #Azurehttp://bit.ly/hTpEeN

Top 10 Cloud Predictions by…

Time for a lunch time blog entry…

Information Management put together some cloud predictions for the cloud industry.  Here’s my 2 cents for the key points I picked out.

  • You will build a private cloud, and it will fail.  <  Thank goodness.  Get rid of the whole premise, it’s kind of stupid.  The basis of cloud computing is the almost endless backing of massive funding for massive amounts of systems.  Throw into that mix massively distributed, geographically dispersed locations where the machines are located.  A little contraption in a box thing called “cloud” is bullshit.  Plain and simple, don’t delude yourself.
  • Hosted private clouds will outnumber internal clouds 3:1.  <Good.  The internal clouds – see above comment.
  • Community clouds will arrive, thanks to compliance.  <Awesome!  This is when laws, rights, and other ideals will seriously come to play within the cloud computing space.  Community clouds will have to be transparent in ways that AWS, Rackspace, Windows Azure, and others will never be.  They might not be as robust or feature rich, but it will enable communities and others to utilize the cloud with known rights, liberties, and other notions that aren’t up for debate as they are with the other cloud providers (re: Wikileaks & such)
  • The BI gap will widen.  < BI is PERFECT for the cloud.  BI on current system on relational databases without thinking about NoSQL, Big Data, and other notions is a major problem.  BI will begin migrations to utilizing the cloud or BI will just die and another cloud related acronym will most likely come to replace it.  Real time Business Intelligence is much more readily available with cloud resources than attempting to implement real time business intelligence on-premises.
  • Cloud standards still won’t be here – get over it. < I agree.  I’m over it, and I’m not even remotely worried about it.  Maybe it is because I’m a software developer and I lean heavily on well designed, solid architecture, loosely coupled, SOLID ideals, and other things that would allow me to prevent lock in at multiple levels of usage.  In addition, I know what is what within the cloud, I don’t need some arbitrary standard since the obvious usage patterns are already pretty visible in the cloud community already.
  • Cloud security will be proven, but not by the providers alone. < Cloud security is indeed a shared responsibility.  If one is in the cloud industry though and is still talking about the “cloud being secure”, they’ve not been paying attention.  The security concerns are much less with cloud computing than most on-premises computing.  The biggest security concerns, at the actual software level, are still the same.  These responsibilities are shared, but rest heavily on the shoulders of software developers, architects, and in the same places a company (or Government entity) has previously needed to be concerned with.

Overall I’d love to see two things for the cloud community.

  1. Stop accepting the “Security is a Concern because I’m scared and haven’t been paying attention” and just start implementing.  The reason being is those same people that are kicking and dragging their feet into the future will keep kicking and dragging their feet.  Eventually they’ll either be unemployed or update their skill sets and legacy ideas and step into the future.  They’ll be a contributing part of the community and we can all smile and be happy then!
  2. More significant penetration needs to be made into the Enterprise IT Environments.  I know, some people won’t be needed anymore, but others will be needed for the new applications, tooling, and things that one can do by not wasting resources on physical boxes, excess IT costs, and other now unneeded IT impediments.  IT and business itself needs to realize this, the sooner the better.  The companies that realize this sooner will be able to make significant strategic headway over their competitors.  Those companies that never realize this will most likely wither and be dead within 2-3 years of mass adoption of the cloud options.  Simply, “skate or die”.