Business operation challenges faced by SaaS provider & cloud provider

I just researched few business operation challenges that are faced by SaaS (software as a service) provider & cloud provider, I am sharing what I found here:

  1. SaaS and cloud computing companies have wafer thin margins (a.k.a lower margin businesses). According to SaaS update (April 2011 2008, pg 15), Their operating margins are just about 3%. You can do quick search to know past operating margins for the SaaS and cloud provider of your choice.
  2. SaaS and cloud computing companies have to manage the customer churn rate which means these companies have to put efforts in retaining customers. Churn rate is a measure of the number of individuals moving into or out of a collective over a specific period of time. Now managing churn rate is a challenge because retaining customers is difficult and time-consuming. And customer retention is important because in the pay-as-you-go nature of subscription businesses, the customers pay only if they continue to use the service. Thus managing customer churn rate is a challenge for SaaS provider and cloud provider.
  3. Cloud provider and SaaS provider needs an upfront investment to build sales capacity needed to grow the business over time. And so if they invest less, they do not have enough sales capacity and hence they will miss growth opportunities. Thus they have to make a careful trade-off between fast growth and high cash burn rate.

Understanding Cloud Computing Modalities Analogically…If my Laptop were a Cloud…

Analogies help, don’t they?! So here I am…just one more analogy that may help you understand Cloud Computing modalities i.e IaaS – PaaS – SaaS. If you want to know what IaaS – PaaS – SaaS are? Then this is not the right blog post. But if you find want an analogy that would help you differentiate them, read along…

So, If my Laptop were a cloud:

Laptop hardware

Hardware

If my Laptop were a cloud, then Laptop Hardware is IaaS (Infrastructure as a Service)

Operating system (OS) on Laptop

Operating system (OS) on Laptop

If my Laptop were a cloud, then Operating system on Laptop is PaaS (Platform as a Service)

An App (Software) running on Laptop OS

An App (Software) running on Laptop OS

If my Laptop were a cloud, then App running on Laptop OS that you access is SaaS (Software as a Service)

Summary:

Hardware <-> IaaS / Cloud Computing

OS <-> PaaS / Cloud Platform

Apps running on Laptop <-> SaaS / Cloud Services

Remember, it was an analogy, Not technically accurate and so please look at the concepts on your own. But this analogy helps me differentiate concepts and i though it may help someone else..

Do you have other analogies to share? If so, I encourage you to post it as comments!

Cloud University – A nice resource to help you develop understanding of  key elements of cloud computing

Cloud University – A nice resource to help you develop understanding of key elements of cloud computing

I just completed the Cloud University’s online course http://www.rackspace.com/knowledge_center/cloudu/ and found it to be a nice resource – I thought I would share it with you. It’s a free online resource for learning about key elements of cloud computing. They have modules covering:

  • Definition
  • Economics of cloud
  • Cloud computing stack (IaaS, PaaS, SaaS)
  • Security
  • Planning phase to move to cloud
  • Management strategies
  • Hybrid Cloud (Cloud Bursting)
  • Open cloud computing initiatives

After every module – you would be Quizzed (based on learning in that given module). And after completing all (10) modules – there would be a final exam and once you clear that – you’ll get a certificate like this:

Cloud Computing Certificate

CloudU Certificate

Badge:

 

Go to: http://www.rackspace.com/knowledge_center/cloudu/ to learn about key elements of cloud computing.

Related Posts:

In cloud computing, Scalability is not equal to Elasticity and Vice Versa.

I believe that it’s important to understand terms. And to understand terms scalability and elasticity in cloud computing context, I did a little research on what is the difference between scalability and elasticity when used in context of cloud computing.

e·las·tic·i·ty: The ability of something to change and adapt; adaptability [Dictionary]

scal·a·ble: Able to be changed in size or scale [Dictionary]

So my first step was to lookup meaning of each word in dictionary and honestly, that did helped me understand the meaning of each word but I was not able to appreciate the use of each word in cloud computing terms. I researched a little more came to a conclusion that

  • When we talk about elasticity – it is from cloud platform perspective. By this I mean, it is the characteristic of the “cloud platform” that allows end users to spawn resources in no time. For instance, with a click of a mouse, end users are able to spawn a 10 GIG SQL Azure database. And this characteristic that allows end users to QUICKLY provision resources is what is referred to as elasticity. And alternatively, De-provisioning is “elastic” too. From, a cloud vendor perspective, these means they also should report usage to the end-user and charge end-users for only what they use. It’s important as one of the important characteristic of cloud is that it is supposed to be “Measurable” by end-user
  • Scalability: It refers to ability of an “application” (NOT cloud) to handle INCREASED workload. Traditionally, to meet increased workload, hardware was thrown at the problem. But it had it’s own set of limitation that it was not infinitely scalable because hardware could be upgraded to certain limit only. Now in cloud computing era, we can provision as many resources as we need – but it is important to architect the application in a way that embraces “scalability”. So when you deploy an app on a cloud platform, it does NOT “scale” automatically and the app should be architected to embrace scalability – On other hand, you are guaranteed “elasticity” by the cloud vendor.

Let’s take an example.

Suppose I have an app and I wish to deploy it on Windows Azure. Now, it’s my responsibility to architect app to embrace scalability by making my application stateless, etc, etc. Now once I have architected my app to embrace scalability – I deploy it on Windows Azure. And here, Windows Azure gives my app the “elasticity” it may need. That means, I can provision/de-provision resources at my will.

Thus, In cloud computing,

Scalability ≠ Elasticity

Seven software delivery models and why software as a service (SaaS) is the future!

This is a reflection piece I thought of writing after watching a demo lecture from a cloud computing course offered at Stanford by professor Timothy Chou. URL of the demo lecture is here: http://myvideos.stanford.edu/player/slplayer.aspx?course=CS309A&p=true. Now, I would suggest you to spare 60 minutes and watch the video but If you do not want to, you can read this blog post in which I aim to summarize the lecture which was pretty much about seven software delivery models and show why SaaS (software as a service) makes sense and why it’s our future. so here we go!

There are seven software delivery models:

1. Software licensing model

2. Open source model

3. Outsourcing model

4. Hybrid Model

5. Hybrid+ Model

6. SaaS (software as a service) Model

7. Internet Model

To truly understand the models in detail, I urge you to watch the video – here I am to just going to reflect upon what I heard and so there might be gaps in what I have to say or you may not understand it completely since the discussion is brief here. Any-who, here is my reflection after watching the video on each software delivery model

(1) Software license model:  This has been the traditional way in which software companies made money. They develop a software and the model is such that if you wish to use the software, you buy license to use the software. And generally if say 10 users are going to use the software, you buy ten licenses. This is the one time cost. Also optionally you pay support charge for the software which is generally on yearly basis. It may include talking about problems in installing the software, figuring out a configuration problem, install updates/patches, etc. And also significant money is then poured in “managing” that software. And managing software requires man-power which is not cheap. Management includes making sure that software is up and running (ideally) 24×7, making sure the software gives required performance, keeping the software secure, taking backup’s, etc. And it costs money. Lots of it!

e.g.. Oracle Database. you buy an Oracle database software. you pay support money. and you invest in managing it. So this was software license model for you. Now let’s move on to next model.

(2) Open source model: Here the software is “free” but you need money to manage the software. optionally you can opt in to receive support.

(3) Outsourcing model: In this model, the software is bought with the one time fee. optionally support cost is paid year by year. But the management work is outsourced. in other words, the management side of the software is performed by some other company. so how does it help? and more importantly, how does it save money?  As we had discussed earlier that managing the software requires man power is not cheap. So say a company in USA hires a software administrator to manage the software for them. He would be paid $100k per year to do so. Now what if we can bring this cost down. This is exactly what companies that accept outsourcing work do. They hire an individual in a country where system administrator’s are paid $50k per year (or even less!) and thus they bring the cost down. And obviously it is not as simple as I said but you get my point, don’t you!?

e.g.  IBM accepts outsourcing work. Infosys (Indian IT giant) accepts outsourcing work. And there is a long list of companies that does this work.

(4) Hybrid Model: Here the company that sells the software also manages it for the client. yes! they do that. The client may not want to have the data center on their site so the software company sets up the datacenter for the client and manages it too for the client. Client may also choose to have the datacenter on their site but still software is managed by the company who sold it. it saves money – you may ask how?! For this I’ll say what professor had to say “standardize, specialize and repeat”. if you do not understand what it means – watch the video!

(5) Hybrid+ Model: It is the hybrid model with simplified cost structure. Just compare the values for the hybrid and hybrid+ and I believe you are smart to understand the difference! I believe that all readers of my blog are smart!

(6) SaaS: Now it is the extension of the hybrid+ model where the client does not get to choose where to run the software. They just get the software via Internet with no questions asked!! Every other detail is managed by the software vendor. All customer needs to do is to sign up for the service and start consuming it via Internet. End of story! Now why is SaaS our future. Well, as you can see from the tables itself that it lets the companies save money. secondly, it let’s the companies focus on what they do best and now worry much about the compute infrastructure that they may need to support their business. Now, for a mid size firm, SaaS does not involve upfront investment. Yes! you subscribe for a software for a month and then you do not like, you can simply say bye-bye to the SaaS vendor or simply, switch the vendor. I do realize that it’s not smooth but at least it’s smoother as compared to traditional models. And moreover, we see SaaS vendors that specialize in particular software. So there may exist a SaaS vendor who specialize in CRM for hospitals. yes! CRM’s only for hospitals. so hospitals that are looking to automate their processes can just give it a spin. End of story! the beauty of it all being that it simplifies the process and it is more effective.

e.g.  Salesforce.com; Just search “software as a service” and you will find a list of companies that do this today. Also the video has a slide that has a list of all companies that are into SaaS – so watch the video!

(7) Internet Model: Instead of trying to write about it. I am just going to say “Google”. Do you pay Google to use the search engine? No, right?! is Google a Not for profit organization? No! Then, how do they make money. The answer is advertisements. Internet services (or should I call them businesses) like Facebook, Google, Gmail, etc rely on advertisement and thus the cost of the software is not charged from the user.

Now, if you love seeing things from money perspective, here it is:

For first four Models:

Software License Open source Outsourcing Hybrid
Software $5000/user/year(One Time) $0/user/year $5000/user/year(One Time) $5000/user/year(One Time)
Support $1000/user/year $2000/user/year $1000/user/year $1000/user/year
Management $20000/user/year $25000/user/year ~$1000/user/Month $150/user/Month

For remaining three models:

Hybrid+ SaaS Internet
Software +Support +Management $300/user/Month $150/user/Month Advertisement. No cost from the end-user perspective.

Disclaimer: values are entered in each Model just for the sake of comparing different models and it may not necessarily be true  for all real world scenario’s.

So yes. That’s it. This was my reflection piece. Do post your comments/feedback/suggestion. And yes, watch the video!

Cloud Computing is AWESOME :: Defining Cloud Computing the Urban Dictionary style!

cloud computing Explaining cloud computing can sometimes get confusing. consider definition on Wikipedia:

Cloud computing refers to the use and access of multiple server-based computational resources via a digital network, Internet connection using the World Wide Web, etc.). Cloud users may access the server resources using a computer, net book, tablet computer, smart phone, or other device. In cloud computing, applications are provided and managed by the cloud server and data is also stored remotely in the cloud configuration. Users do not download and install applications on their own device or computer; all processing and storage is maintained by the cloud server. The on-line services may be offered from a cloud provider or by a private organization

wikipedia

No wonder, The page (As on 7th July 2011) says that “the article has multiple issues” / “the article needs cleanup”. Don’t get me wrong here – I am in Love with Wikipedia (not blind love) but it’s just the definition of cloud computing looks like a college kid babbling about a topic in round-about fashion. Sorry.

And Then there were this super simple definition that said: “cloud computing is nothing but a Internet computing………” That’s it. Duh?! Am I a kid.

Okay, Now let’s get little geeky – Here is the ultra sophisticated definition from NIST

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Perfect. made more sense to me. But not something that I would explain it to someone who does not know what cloud is. Am I suppose to babble above definition? To some geek/professor, yes. But in a real world day-to-day conversation, this would not help score brownie points. Not a chance unless you are in some Geek paradise.

Don’t get me wrong here – All the above definition’s are correct – but I was searching for a way to explain it in simpler terms. And if I babble these ultra long sentences (Thanks to some deceptive use of English Conjunctions) that defined cloud computing, I was surely going to freak out someone or Alternatively, make the listener think that I was an Einstein (which BTW I am not because I have to resort to spelling correction tool for typing Eisetntein – sorry Einstein); But the bottom-line is there is chance that listener has still not grasped the concept of cloud computing. And If by any chance, he/she miraculously grasps it, then ask them to check out www.mensa.org – the society for intellectuals!

Anyways, here’s how to explain in simple statement about what is cloud? – I found a YouTube video where the speaker Dave Nielsen defined cloud computing as OSSM (pronounced Awesome) and it helps me define cloud in single statement now. This is an urban dictionary format to define cloud!

Just Remember

O : On Demand

S : Scalable

S : Shared

M : Measurable

So confluence of above topics is what really shapes cloud computing.

Now, With “OSSM” + Wikipedia definition + NIST definition – I hope you are better able to explain what cloud computing is all about to anyone and everyone!