SaaS: Amazon EC2 for Windows == Disappointment

27 10 2008

I’m currently working on a Windows PowerShell Snap-In for EC2 now that they have released “Windows” support. Note that the snap-in project is in very early stages of development and I should be publishing a preview release that supports running and terminating instances very shortly.

That said – I am largely disappointed that Amazon isn’t providing Windows 2008 support yet. I just used my Describe-Image Cmdlet to list out the EC2 images for Windows.

Ec2Windows2003

As you can see the images aren’t for Windows 2008, and from what I can tell they aren’t planning on supporting Windows 2008 until early next year. This effectively means that GoGrid is out in front of Amazon for support of Windows despite the fact that they don’t have the same feature set of Amazon.

Interesting Times Ahead

Interesting times indeed, especially in the context of what Microsoft is planning on doing with Windows Azure. My advice is to start getting your stuff into the cloud now with GoGrid and EC2, so that you are in a good position to leverage the Azure services platform – but plan on plugging into things like Live Framework in the medium term.





SaaS: Evolve business practices. Focus on value.

13 10 2008

I am very fortunate that I live in Australia. Due to government regulations our financial system is actually in pretty good shape and while it is connected to the global economy I’m led to believe by people who know way more about it than me that we actually have real cash holding up the economy.

In the USA (and some other parts of the world), things aren’t quite as much fun and if you watch the news you’ll be led to believe that the the end of the world is nigh and giant kittens are going to start knocking down buildings. Well – for sure there are going to be a lot of people in for tough times and I feel for them, but the reality is that life will go on, people will still need to get up in the morning and go and do something productive – even if it wasn’t what they had initially planned.

For those of us in the I.T. sector, the last big event that we had was the dot-com bubble burst which saw a lot of us loose our jobs, but even that eventually turned around. For savvy players this downturn actually represents an opportunity to introduce some cost savings and come out looking like a hero to your management team.

For example, if you are currently spending wads of cash on computing hardware, network communications and even office space, look at:

  1. Reducing hardware acquisition costs by using services like GoGrid and EC2.
  2. Reduce office space by encouraging employees to work from home (see note).
  3. Move hosting facilities to cost effective locations (USA is much cheaper than Australia).

The key thing is that in everything we do we simply need to ask ourselves the question. Do we provide the company with value? If the answer is no then you need to start on initiatives that create the value rather than just ensuring that the company continues to spend the same amount on your IT services this year as they did last year (or more).

Let me ask you the question. Who is more valuable? A $120K employee that saves you $1M, or one that argues you need to spend another $500K on top of their salary?

Note: Employees working from home may cost more initially to ramp up that capability, but you may want to consider coming to arrangements with employees who truly can work full time from home where they take a lesser package, but you ensure that they end up paying less for public transport or fuel.





SaaS: Announcing Windows PowerShell Snap-In for GoGrid

12 10 2008

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.





I’ve got a Twitter Ticket to PDC2008.

8 10 2008

It was the PDC in 2000 where .NET was first unveiled to the world, and a later PDC when we first saw the previews of the pillars of Longhorn. Needless to say I’ve always expected big things to come out of every conference – PDC2008 is no exception, I think this time we are going to see a lot of threads that have been dangling in the wind be drawn together into a very pretty tapestry.

Of course, like all other other PDC events since I’ve known about their existence, I’m not going to be able to attend this one due to prior scheduling commitments, however I am fortunate enough to have picked up a Twitter Ticket for this years event.

A Twitter Ticket, for those of you know don’t know about it is all about using social networks to keep up with what is happening at the event. Specifically if you follow this Twitter user you’ll get the official scoop, but if you go digging you’ll be able to track those individuals who are actually going to the event and get a more grassroots perspective. You may also want to follow this Tweet Scan feed.

While I am bummed that I can’t go to the PDC, I think that the Twitter Ticket is going to be particularly good this year.





MSBuild Extension Pack

7 10 2008

Always happy to see more people taking Microsoft kit and extending it. In thise case Mike Fourie has created a new project up at CodePlex which aims to create a definitive list of MSBuild extensions. This is a consolidation of the effort from FreeToDev MSBuild Tasks Suite and SDC Tasks Library.

Since I’m more about users getting their stuff done rather than randomly supporting a new project, I think you should also check out the MSBuild Community Tasks project over at Tigris.org. If you are like me you’ll probably end up using both at various times.

Good to see more innovation!





SaaS: The importance of providing an API.

6 10 2008

One of the key learnings that has come out of the whole Web 2.0 experiment (can we still call it an experiment?) is that organisations building solutions to be comsumed across the Internet have realised that they need to expose an API.

Once upon a time organisations would fear exposing entry points into their applications because this could lead to users exploiting their system in unpredictable ways. These days we build the API and pray that people will do just that.

The reason is that rather than create an undesirable problem, exposing an API encourages users to create “stick” to your solution because you provide them the level of integration they require to make your system more useful. In a world where we are trying to do more with less, having an API means that you can eliminate that manual data entry/integration task.

Some recent examples that I’ve seen are:

  1. Saasu. Saasu is an online accounting system which exposes an API called “Connect”. I already know of one individual (happens to also work at Readify) who is using it with one of their businesses. One of the things that I like aobut Saasu is that it is build on my platform of choice (.NET) but can basically be used by anything with an XML parser and a TCP/IP stack.
  2. GoGrid. GoGrid is a SaaS orientated hosting company that can dynamically provision servers in about fifteen minutes. GoGrid provides an API which allows you to provision servers from your own code.
  3. EC2. I’ve blogged about EC2 before, and during my talk at SBTUG I demonstrated a few PowerShell Cmdlets which assist with the provisioning of an EC2 instance. I think the differences between EC2 and GoGrid are that EC2 has a more complex API (so I like GoGrid for that), but EC2 is a bit cheaper. Amazon is also providing a more complete range of platform services.

We all know however that the number of applications out there providing an API are virtually unlimited, but these ones are interesting because they are squarely targeted at the business space.

Nothing is new about providing APIs in applications, what is new that it is becoming a key factor in decision making.





SaaS: Exploring the TBAURL idea.

6 10 2008

As I mentioned in a recent blog post, I have lots of ideas for online product ideas. One of those ideas is TBAURL. The idea behind TBAURL is quite simple and builds upon what the existing URL shrinking services like TinyURL and Shrinkster do by becoming an intermediary between the user and the final destination URL.

Unique Features and Benefits

What would be different about TBAURL is that in addition to shrinking URLs you could choose a date when the generated URL would link to the final destination and until that point in time it would display an expression of interest page where visitors could input their e-mail address.

Once the final URL is specified and the “release” date has passed the URL would then redirect to the ultimate site and the person who created the link would have the opportunity to send a one time broadcast e-mail to all of those people who expressed an interest in the product.

Typical Usage Scenarios

I would imagine that the typical usage scenarios for this offering would be varied, but these are the ones that seem most obvious to me:

  • Bloggers building buzz.
  • Marketing staff writing newsletters.
  • Web masters preparing for a new launch.

The system would have to be pretty simple to use so I’m imagining some pretty simple pages (lots of white-space). For the person creating the TBAURL, I would imagine that they just visit a page, enter some descriptive text as well as some other simple options and then click “create”. The would be shown the generated TBAURL instantly but also e-mailed a management URL where they could change it and coordinate the response to the various EOI’s.

For the end-user, their experience would be even more simple. They click a TBAURL somewhere and get bounced to a TBAURL landing page. They can read the descriptive text provided by the TBAURL creator and then just punch in their e-mail address. They would be sent an e-mail thanking them. When the final destination URL is provided they may be contacted again.

Commercialisation

Good question. I’ve been careful not to use the word monetisation here (a not because it isn’t actually a word anyway). The reality is that this service would really only be able to make money off advertising, or, by extension the disablement of advertising (where TBAURL creators may a small premium for a page without advertisements).

Still – it would be interesting to understand the kind of revenue that a site like TinyURL makes off its Google banners.

Initial Thoughts

I think the usefulness of this site is moderate. I’ve had a need for something like this a few times myself as I’ve been blogging. The cost of setting up something like this would be relatively low, but the reward from a commercial point of view could also be low (pending more research). Another angle on this is the SaaS perspective. Building something like this would help debug some aspects of pulling together a SaaS offering around provisioning hosting with a service like GoGrid or EC2 and integrating that with payment services (like Paypal or FPS) and flowing that information back into a hosted financial package like Saasu.

As a demonstration I think that I’ll walk through the process of setting up an online entity (at least from an Australian point of view).





SaaS: Exploring and evaluating product ideas.

3 10 2008

There is a mountain of literature out there around the processes to be used for evaluating whether a particular product can yield some kind of commercial outcome. Some of these include doing things like SWOT (Strengths Weaknesses, Opportunities and Threats) analysis to going out and doing painstaking market research.

I think it is important to get an appreciation for all of these but ultimately what they are trying to achieve is to take a little bit of the risk out of starting a venture so that you know that if you build something – someone will come and pay for it.

My problem is that in my head I have about a dozen ideas floating around and if I did extensive research on all of them then I’d probably die an old man before I got started on any one of them.

Part of the challenge is that they are in fact all in my head – so until I put them down on paper it is a little hard to really compare and contrast them. I’m hoping that I can crowd source some thinking with this one by writing down a few of the ideas that are bouncing around my head with a few of my most prominent thoughts. If you feel compelled share your thoughts in a comment or via a track back, go for it, I’m all ears.

The Executive Summary

Like I said, I have about a dozen ideas bouncing around my head that I need to get out. For those short on time I’ve produced this list which gives you the elevator pitch on each of them.

  1. TBAURL: this is a pretty simple idea. It is a site that you can visit where it gives you a unique URL (like http://tbaurl.com/12345) which you can then distribute via e-mail, blogs or whatever. When people visit the URL they see a page saying that the destination URL is “TBA” and that they can input their e-mail address to notify them when it is ready. The idea is that you can use this as a simple way to create marketing lists by people expressing their interest in something – building the buzz over a longer period without revealing exactly what you are doing, then just blasting out to all those that expressed interest that the URL is now available.
  2. Versatile Worker: had this idea when I participated in The Ultimate Escape up at Byron Bay. Truth be told the naming is actually a joint idea, but I connected it to my adventures when I went on tour earlier this year. As part of the experience I visited some co-working locations and I thought that as a bit of a road-warrior I could get kind of membership card that gave me reciprocal rights to work in co-working locations around the world. Kinda like auto-club memberships. The site would rate co-working locations and provide shared membership and accounting services.
  3. Household Portal: basically a portal designed not for an individual, but for a household. It would list key dates (bin night) as well as other local community information along with details about appliances in the home – like manuals for your oven. Other features would include things like shopping lists and recipes. Basically the beginnings of a home ERP system – HRP anyone?
  4. Personal Budgeting: most budget software sucks, or at least it doesn’t work the way I want. The idea here is to create a envelopes-system based budgeting package that I can use from anywhere. It would also integrate with other sites so say I am on the Telstra site, I could click a button and it would post bill information into my budget for future forecasting.
  5. Human Workflow: this is a combination web/iPhone/mobile-device thing. I think that workflow solutions today seem mostly targeted at either expert users or software developers (or business analysts). What I’d like is something just slightly simpler to use than Yahoo! Pipes which you could use on a mobile device, my first thought is an iPhone but the actual platform doesn’t matter too much.
  6. Expense Tracking: one of my biggest pains at the moment. I’m probably about five to six months behind in submitting my work expense claims. One of the painful things about expenses is that its hard to cross reference credit cards, paper receipts and the submission spreadsheet. It needs to be easier and I’ve got some ideas that make it easier to submit expense claims but also for business to track and forecast them.
  7. Asthma Management: whilst I was living in Canberra I was diagnosed with Asthma. For those people with Asthma, managing the condition can be a pain and attacks can sometimes creep up on you. At which point your GP (or doctor at hospital) will tell you off for not managing your asthma properly. What I’d love to do is build an online service where you can report your daily peak flow indicators and that information could be shared with your GP. If you don’t put in your peak flow, after a period of time it will nag you, and if you don’t respond to the nagging the doctor can call you up. I’d look at coupling it with a device that you attach to phones (or use via bluetooth) which you just blow into to get the information (about the size of a whistle). It would then send that information in via SMS.
  8. PowerShell Snap-In Development: most folks know that I am a huge PowerShell fan. As a developer the ability to easily interact with .NET objects as well as the other platform facilities that PowerShell exposes is really exciting. Every few weeks I stumble across some standard tool in use within enterprises and think “wouldn’t it be great if there was a PowerShell snap-in for working with this”. I suspect that is something that I’ll do anyway, whether it is commercial or not.
  9. Software Agent Interaction: in a world where we have “stuff” running in the cloud on our behalf as a kind of software agent. We are going to need a way of communicating with said agents and giving them instructions. However – if as a software developer I need to write the UX for prompting for every simple question it is going to quickly become tedious. The idea behind this is to create a set of web-services which headless software agents can call. The agents would identify the user (in a number of ways, e-mail, phone number etc) but the system would decide the best way based on presence information to contact the user.
  10. Incident Management and Tracking: when bad things happen that effect a  lot of people you need some way of coordinating a distributed effort. The idea here is that you can simply plan for any kind of incident (say a data centre outage) by identifying key systems and then associating the people or groups of people that would need to be be involved getting a resolution. The idea is that this is an out of band solution specifically focused on handling critical events.
  11. SaaS Payment and Configuration Platform: not sure if SaaSGrid from Apprenda will take care of this problem, but basically when you build a SaaS solution a major part of the solution is going to be building the billing and options control system. If I was a system administrator involved choosing a SaaS solution I’d want a really good control panel to understand what features my users at leveraging and how much it is going to cost me. SaaS solution vendors want an easy way to gather that information and process it. This platform would also need to provide security controls for granting and revoking rights.
  12. (I said about a dozen, not exactly a dozen – sheesh!) Update: OK, I have a dozen ideas. The last is a “worm” URL generator which you can use to get real-time feedback during an event based on how the audience receiving the information. We have some somthing similar at Readify already but I think it has a broader usage scenario.

Among other SaaS related posts I am hoping to explore each of these ideas to help me decide if any of them make sense. I know that some of these things aren’t SaaS offerings, but they are still things that I’m interested in building :)





Community Server Outage (now back up)

3 10 2008

A few folks around the extended .NET developer community would have realised that some common community mailing lists went offline Friday last week. The mailing lists and sites affected were:

  1. Sydney .NET User Group (www.sdnug.org)
  2. OzMoss Site & Mailing List (www.ozmoss.com)
  3. OzSilverlight Mailing List (mail archive)
  4. OzTFS Site & Mailing List (www.oztfs.com)
  5. Melbourne .NET User Group Site (old site)
  6. SQL Down Under Mailing List (www.sqldownunder.com)
  7. Some Private Lists

It was a shame that the server went down but it is now back up and running thanks to the help of the IT folks at Readify (David and Joel) and some PSU surgery from yours truly.

Fortunately we had a spare server in the cupboard that we could just rip and replace the power supply but the whole episode has made me think that I need to move this facility into a more manageable environment. At this stage I am thinking of doing a P2V migration and putting on one of our Hyper-V hosts.

Anyway – thanks to all the community leaders for being so patient, I’m sorry it too all of a week to get it back up and running. We were caught with our pants down on this one.





SaaS: I’ve got an idea for a web application.

3 10 2008

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.