I am very pleased to announce the first public BETA (BETA2) of Windows PowerShell Snap-In for GoGrid. For the past week I’ve been working away on a project that brings to of the things that I am passionate about, specifically PowerShell and GoGrid (and especially what GoGrid represents).

The PowerShell Snap-In is an open source project, hosted up on CodePlex under the MIT license. If you are interested in helping out with the project the main thing that I need is getting people using the Cmdlets and reporting bugs.

Getting Started

The first thing that you are probably going to want to do is view this screencast which walks through using the Cmdlets. If that appears then you will need to go and create a GoGrid account, and also download PowerShell to your machine if you don’t already have it – then of course you need to get your hands on the latest version of the snap-in.

Why is GoGrid exciting?

GoGrid is exciting because it allows those wanting computing resources to provision those resources on demand using a simple web-based console and then pay for those resources by the hour, instead of by the month. GoGrid is very similar to the Amazon EC2 offering except that right now it is the only one to offer Windows 2003/2008 hosting using this on-demand model (at least, it is the only one that I am aware of).

One of the neat things about GoGrid and EC2 is that they both provide an API (GoGrid, EC2) that developers can use. This is useful if you need a system that can automatically scale the computing resources at its disposal (for example a massive video transcoding effort).

Why did I build this PowerShell Snap-In?

The purpose of the Windows PowerShell Snap-In for GoGrid is to demonstate how useful it can be for infrastructure-level SaaS providers like GoGrid to expose an API for their customers to use. I am hoping that it will encourage those responsible for provisioning Windows boxes to experiment with using cloud computing resources. Some key scenarios that I envisage are:

  • Configure applications for performance testing.
  • Run load agents for performance testing.
  • Test disaster recovery scenarios.
  • Provision hardware for project work (i.e. development teams).
  • Support instructor led training with virtualised labs.
  • Host demonstration environments for presentations.
  • Controlling scale of your underling SaaS infrastructure.

There are probably lots of other scenarios that I haven’t thought of as well, if you can think of any please leave a comment.

Why is this relevant for SaaS readers?

If you are looking at using SaaS solutions or building SaaS solutions then you need to look at the technology stack that you are looking at. If you are sitting on a stack that doesn’t allow you to rapidly acquire more computing resources then you might get stuck not being able to access your services or service your clients. Services like GoGrid provide that scalable computing infrastructure without forking over big bucks. These PowerShell cmdlets allow your system administrators to scale your system and integrate that scaling function into their existing operations.

What is next?

I am hoping to provide PowerShell Snap-Ins for a variety of SaaS orientated services. I picked GoGrid first because it was useful to me, but when Amazon releases their Windows support for EC2 I will start investing more time on that Snap-In.

Lightbulb

Like a lot of software developers I aspire to build a killer application that will make me rich beyond my wildest dreams and see me living on a yacht anchored of a beautiful tropical island sipping cool cocktails.

Fear of Failure

Most developers during their career will come up with some idea that they think is worth some investment in time and money and try to get it off the ground. Most will fail – that is just the reality of the software development business.

Some of the reasons for failure include lack of business planning, lack of technical skill, lack of time, or it was simply a bad idea. The problem is that with so many people filling you with doom and gloom you may decide never to try anything and you’ll end up working in that cubicle for the rest of your life.

Ultimately fear of failure is a fear of certain risks being realised and to get to the point where you could even consider starting a venture you need to evaluate those risks to get some level of comfort.

That said, Darren Neimke reminded me yesterday of a quote from hockey player Wayne Gretzky who said:

You’ll always miss 100% of the shots you don’t take.

I think that is particularly relevant when it comes to starting ventures.

Evaluating Real Risk

If you’ve decided to explore your fear of failure a little bit more then you will have arrived at evaluating the risks, and the consequences of those risks being realised.

When we look at traditional bricks and mortar businesses we can see that there is significant investment in both time and money involved. My instinct tells me that a lot of people who transition from wage-slave to entrepreneur end up putting their existing assets on the line (such as their home) so that they can use borrowed money to ramp up the business, cover wages and maintain stock levels. The risk of failure here is that you lose that asset.

For software developers time is the ultimate asset because the tools and raw material required to deliver an outcome are either free or come from within, all you need is time to transform them into something useful. The problem with time however is that you only have a finite supply and there are already so many demands placed on it.

My point is that if you decide not to hock your house to buy time to develop some kind of innovative solution then you are going to have to shave time from other activities and that may impact others around you. The real risk then of a software developer kicking off a venture in their spare time without any financial backing is that you may lose through lack of attention those things that are most dear to you.

Ultimately you need to decide whether that is worth the risk or not. However if you take the view that those people who you spend time with are actually investors in your life then you may be able to convince them that some short term losses today might lead to a greater pay off in the future. That is to say – if you invest your time wisely today, you may have more spare time tomorrow to share around.

If the cost of building something in dollar terms is low then really you don’t have anything to lose provided you can spare the time. Failure is just a learning exercise so if the cost of that lesson is relatively low then I say go for it.

Choosing a Model

The thing is, as a Principal Consultant at Readify I have lots of different demands placed on my time not only from client work, but also internal project work and community engagement activities. One of the other things that I need to consider is the various IP clauses in my employment contract.

That said, my circumstances aren’t all that different from other people who are working in a technical field and clearly some of them manage to find the time to get a venture off the ground. They key I suspect is coming up with some kind of agreement with your existing employer where you can share the positive outcomes that starting a venture might provide whilst protecting everyone from the unpleasantness.

Fortunately for me I think I’ve found a way to flow my desire to keep working for Readify and pursue another interest by transforming some of the experiences from starting a web-based venture into consulting experience that Readify can sell (what is a consultant if not someone who sells their experiences).

My model therefore is that in my spare time I will develop a business which I can derive some kind of benefit from (experience or profit, I don’t care), this will most likely be some kind of web-based venture around some of the ideas that I have.

The payback for Readify is that in the process I’ll hopefully become a thought leader in the development of web-based ventures, particularly with a SaaS angle (more on this later) which will lead to some generic IP creation along with increased consulting and training opportunities. It is one of those Win-Win situations that people like to find in every business deal.

My model may work for me – but you need to find one that works for yourself. You may be an employee today and have an idea, rather than going it alone, have you considered taking the idea to your management and getting their buy-in? Find a deal that works for you and remember that not all the pay-offs need to be monetary.

What is so interesting about SaaS?

Recently I presented at the Sydney Technology and Business User Group on the Evolution of Enterprise Software Development. One of the key take-aways from that session is that more and more users will be willing to put their data into hosted solutions that exist outside the firewall, because they already do it with what they consider to be more sensitive information – in systems like Facebook.

The effect (and I didn’t really explore this in my session) is that The Long Tail that we have heard so much about will actually become a little bit thicker (more users) – and that spells opportunity for those individuals and organisations that can get affordable software solutions hosted in the cloud.

What is next?

I am hoping to explore this space a little bit more and I am going to try to be as open about the business and technology as I can because I suspect that quite a few of my friends within the industry are looking at the same space. With a little bit of luck we can all educate each other so that at the very least this is a positive learning exercise.