On Premise vs. Cloud – Pricing Model

Category : Architecture, Cloud, SAAS, web

Everybody is talking cloud – every startup I meet, every CTO I work with, and all the software vendors are now cloud-oriented.

But when it comes to implementation it is a different story all together – most companies realize the value of the cloud (or at least say they do) but very few are ready for the paradigm shift – especially when it comes to the pricing model.

How do we do pricing on premise?

Before the cloud, architects and IT engineers used to perform an activity called “sizing exercise” or ”sizing estimation” before buying the actual servers for production. These activities are based on past experience, combined with buffers and optimism:
These exercises would go (very generally) like this:

Sizing exercise -
1) We think we are going to have around 10,000 users per day
2) On the weekends we hope are going to spike to 50,000 users per day
3) The system should support at most 100,000 user per day
4) A user views 3 pages in average
5) …
6) …
7) We estimate that a server would hold 1000 users per day
Conclusion – we need 10 servers, a nifty Database and 100GB of storage
Production environment cost is $35K

The key here is that on premise (in a non-virtualized environment) it is hard and expensive to provision new servers. That is why we need to size properly and put the cost in the IT budget in advance. These costs are Capital expenditures (expenditures creating future benefits)

Cloud advocates would say that these calculations are limited and do not take under account things like backup, IT cost, electricity, and other run-time costs. But in typical Sizing exercise these services are taken or granted.

How do we do pricing in the cloud?

In the cloud we do not need to do this initial “sizing exercise”, we start with one or two servers and if we need more we just easily provision more as we see fit. But when it comes to pricing we need to start thinking in terms of usage (I call it “metering exercise”):

Metering exercise –
1) How much bandwidth are we going to consume?
2) How much storage and storage transaction are we using?
3) How many CPU hours do we need?
4) Are there periods where we need more/less CPUs
5) ….
6) ….
7) Our database is going to start with 100MB of data and grow as time pass
Conclusion –We estimate that the initially we would be spending $150 per month with a growth rate of 5% per month.

Pricing in the cloud is based on actual usage – meaning you only provision what you need right now and you only pay for what you use. This cost is an operating expenditure (an ongoing cost for running a product)

The Needed Paradigm Shift

The problem is that most people are used to “sizing exercise” and Capital expenditures. They want to put something in the budget and forget about it – even if it costs much more. Moreover, some IT pros are not experienced in these “metering exercises” and often get it wrong the first couple of times. I think that making this error is a learning exercise and you often get it right after a few times -“metering exercises” errors often cost much less than “sizing exercise” errors and are more easily corrected.

Some IT organization try to do “sizing exercise” for the cloud – that is a common pitfall these days because you loss the elasticity and “pay for what you use” and in most cases pay much more that you should have- and even if you do this “sizing exercise” you still do not have the predictability that you are used to.

IT managers need to embrace the shift, they need to understand that pricing is changing from “buy” to “lease”, and that they should now treat compute costs in the same way they manage their electric bill or cellular cost – because that is the way of the cloud…

Type of Cloud-Based Offering

Category : SAAS, web

The market is now buzzing with Clouds, it seems that everywhere you go in the hi-tech industry you see cloud application, cloud conferences and cloud offerings.

I was Asked by some friends – What you get out of this  “cloud”?

In a high level, there are three types of cloud-based offering:

Software as a service (SaaS)

Sometimes referred to as “software on demand,” is software that is deployed over the internet and/or is deployed to run behind a firewall on a local area network or personal computer. With SaaS, a provider licenses an application to customers as a service on demand, through a subscription or a “pay-as-you-go” model.

Example of SAASGoogle apps, Microsoft BPOS

Platform as a service (PaaS)

The delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.

Example of PAASWindows Azure

Infrastructure as a Service (IaaS)

Delivers computer infrastructure, typically a platform virtualization environment as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. The service is typically billed on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. It is an evolution of virtual private server offerings.

Example of IAASAmazon EC2

Some of these offering could be implemented without cloud technologies. You could, for example, have a software-as-a-service hosted on a single computer in your garage, but in general these offerings are moving more and more to cloud-based infrastructure.

Cloud Services and Application Performance Monitoring

Category : SAAS, Software development, web hosting

In his interesting article, Cloud Automation: problem & solution, Dor Juravski talks about Performance and SLA as key challenges to cloud based applications and services. Dor also suggests Application Performance Monitoring (APM) as a mitigation to this challenge.

When we move from in-house application to cloud-based application, we shift some of  the responsibilities around SLA, DR and performance to the cloud service provider. Having said that, we still own the business risk of our application not been there for our clients/internal workers.

What will happen, it time, is that cloud services will be utilised like water and electricity today – we will use cloud services and not even think about performance or disaster recovery. Till that day will come, we will still need to be mindful and understand our  cloud-provider’s SLA, performance policies and their alignment with our business KPIs. If needed we should consider APM tools to help us manage these KPIs.

Cloud services are the way of the future, we need to address the key challenges and be aware of the business and technical implications of the new order.

IPWEditor – In-Place WYSIWYG Editor 1.2.1 Released with TinyMCE bug fix and more

Category : AJAX, IPWEditor, New Release, Open source, release, SAAS, Software development, web

IPWEditor provides easy in-place editing for Web pages with a layer of WYSIWYG. It allows you to seamlessly replace text on Web pages with inputs for on-the-spot editing.

Up until now IPWEditor did not support TinyMCE advance settings, due to a minor bug found and resolved by the community.
This release incorporates this bug fix and adds additional documentation around the ‘cancel’ functionality.


Click me! I am editable and WYSIWYG!!! (TinyMCE)

Code behind:

<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript" src="jquery.editable.ipweditor-1.2.1.js"></script>
<script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>

<div id=”editable” class=”myipwe1″> Click me! I am editable and WYSIWYG!!! </div>

<script type=”text/javascript”>//set all the tinyMCE configuration here and pass it to the editable
$().ready(function() {
var ed = new tinymce.Editor(‘myipwe1′, {
theme : “advanced”

}); $(‘.myipwe1′).editable(
type: ‘wysiwyg’,
editor: ed,
onSubmit:function submitData(content){


download and docs

Formal documentation and download can be found here.

How to Connect IPWEditor to the Server Side


Category : ajaxdo, IPWEditor, JavaScript, PHP, SAAS

I have been getting multiple support requests from developers who want to save the data edited in IPWEditor on the server side.

Saving information in the server-side is a server-side feature and out of scope for IPWEditor (which is a client-side JQuery plug-in), moreover, it is programming language depended – a java developer might handle this differently from a .NET or a PHP developer.

Despite all that, I will try to give general guide on how it is done, I will be using PHP for the server-side examples but you can use any server-side programming language you prefer.

Continue Reading

IPWEditor – In-Place WYSIWYG Editor 1.2 Released with TinyMCE support


Category : AJAX, IPWEditor, Open source, release, SAAS, Software development, web

IPWEditor provides easy in-place editing for Web pages with a layer of WYSIWYG. It allows you to seamlessly replace text on Web pages with inputs for on-the-spot editing.

Up until now IPWEditor has integrated only with FCKeditor. The major feature in this release is integration with TinyMCE, a popular WYSIWYG editor.

Developers can now choose to run IPWEditor with either FCKeditor or with TinyMCE editor using the same IPWEditor code.

Continue Reading

Software As A Service Takes The “Free Beer” Out of Open Source

Category : Open source, Opinion, SAAS, Software development

Free software means that computer users have the freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis (zero price) software, Richard Stallman said: “Free software is a matter of liberty, not price. To understand the concept, you should think of ‘free’ as in ‘free speech’, not as in ‘free beer’.1

The reality is quite different from this philosophy. Up until now open source software was, for most people, free beer rather than free speech. Well, the beer party is over, and cooperate companies have a new business model strategy called SAAS.
Continue Reading

How to do cross browser sanity testing in less than 5 minutes for free


Category : SAAS, Software development, Tips

Cross browser, cross operating system testing is a costly and tedious task. Most often we test our web application on the Internet Explorer and Fire Fox installed on our machine and hope for the best. In big projects with rigid compliance requirements we test the major operating systems (Apple, Windows and sometimes a popular Linux distribution) with the major Browsers. The underline assumption is that this covers 99.x% of the population and we are happy with that. But what if we could, without additional cost, see how our web site looks like in many operating systems and multiple browsers?
Continue Reading