There is a lot of talk about cloud cost schemes nowadays. Entry costs, exit costs, … What about trying out a platform? Being informed before making a decision?. Sadly, this is a costly undertaking for most platforms…
Power of Free Downloads Before the Cloud:
Successful platforms, such as Java platforms, got a lot of developer capture. One of the reasons is probably obvious. If an architect or developer wanted to work with a Java platform, you could just went to the Sun Microsystems website and start downloading the JRE and JDK, then JEE. Bingo! From a technologists perspective, that is great. Everything you need to start trying out the platform is available for you.
The same successful download-and-try or download-or-test paradigm has been a very good motivator for getting a community to try out any software, platform, app, etc. even for products. This is a very powerful concept when you are getting a full fledged version of a platform, where product or tool and your limitations are very well scoped out. I personally do not like “free downloads” if the version does not allow me to save files, configure the environment in a certain way etc. which prevents me to create a full – fledged end2end “product" or "solution" whatever the downloaded software promise to build. It is then the free version starts to loose value. However, if you get to experience using it in its complete offering even in a more limited fashion, it provides you a basis to make decisions or to start prototyping while you are evaluating your commitment to the software and figuring out what $$ you really need. From this perspective, as long as a platform provides a way to develop a complete end2end software for free, I claim that this approach caused a more successful strategy for a particular technology to became pervasive.
Non Elastic Cost Structure with the Cloud:
Now comes the new kid on the block, cloud computing. Despite the well established benefits of elasticity of cloud computing, it seems that the same notion has not applied to cost structures for trying out a cloud platform for some vendors. This baffles me a lot reflecting on the lessons learned from traditional software, especially platforms.
Take Amazon WS as an example, you need to decide whether you want a small server, mid size server, large server. From the get go, the size, sadly, is a factor. Decide to part with your credit card and commit to an engagement which you are not really sure of is the next step. Well, you have not tried anything but the clock starts ticking.
Once your credit card is alive and been committed to incur ongoing costs, you are aware of the sound at the back of your head. “Tick” “Tick” “Tick”. Time is passing by.
All of a sudden if you are trying to things out, you need to deal with a new problem. Your experiment is accumulating costs although you are, technically, not really using the cloud service but only trying it out on certain times of the day. Consequently, you realize that you need to shut down and baby sit your server(s) to make sure that you are not paying extra and you start designing schemes as to how and when you should start/stop your servers, how to replicate content, etc rather than focusing on what you wanted to try in the first place. The web is full of Q&A howtos on how to achieve that. Ah, you are introduced to the marvels of cloud service management without intending to.
All you wanted to do was to try out the services and got a full fledged headache. You ended up focusing on not core issues of trying out the cloud but mostly managing the cloud.
Note that not managing your IaaS environment right can be very costly. After a weekend of forgetting to shut down my RDS server after trying to figure out what RDS was about, forgetting my small DB on Amazon’s cloud cost me $13.59. For a single weekend! Luckily the cloud ticking woke me up on Monday to remedy this undesirable situation.
Microsoft also went down that route albeit via a bait and switch maneuver. Last year, after signing up to try out Azure services and starting to create some apps on the Azure to see what it is about, “the trial period” for me and for many others did come to sad end. Oops. I got series of emails from folks in Redmond informing that unless I moved on to be a paying customer, I would no longer be able to keep my measly single app on Microsoft cloud and continue to work with it. Ditto for my single SQL Server instance on the cloud. I let go of my app and decided that I do not want to pay more to play more.
Now, lets look at GAE. The situation is definitely better here. Also a cloud company for many years, at least Google gives the developer a chance to try out the platform without a bait-and-switch tactic. At least not yet. You have two choices. You can start small and experiment with building on the app engine without incurring any costs. If you are going to move to a large instance, well you start to pay. By that time, probably you made a decision anyway and you may need power in your hands (or in your cloudified installation)
You do not have to Pay to Discover the Cloud:
What about Force.com? As platform developers, evangelists and users, we think that you should be trying out the goods before you commit. Further, you should have the option to try out what you are getting as close to what you will eventually deploy onto a production environment. This is why there are two different editions of the platform that come in handy for development.
The developer edition provides a “full fledged” development environment where the platform features are not limited in any way for two users. Non limiting the features help in developing a full fledged application, from the datamodel to the web site creation and trying it out yourself. Having multi user experience from the beginning allow you to experiment with app development that will need multiuser capabilities. Further, the developer edition does not expire.
Free edition of Force.com allows 100 users to be utilizing an application and it is a production environment. However, from a developer perspective you may not be able to use CRM or Mobile features. More information about these editions and detailed features that they cover can be found in the following FAQ. http://wiki.developerforce.com/index.php/Developer_Edition
Therefore, as an architect/developer take your pick. With Force.com, you can get your hands dirty, focus on building an app and trying out Force.com not on how you will stitch your infrastructure and manage your environment and your $$$ before you even made a commitment.
The clock stops here.