SaaS > Cloud > Perpetual License
I had a bit of a debate at work last week that ultimately got close to this topic. Wasn't actually discussed, but I really wish it had been.
Virtually every applicable line of software products and services at this point have at least one proponent in the cloud, and many also have an array of competitors there already. Making this, by and large, just another cost of doing business these days. But, "cloud", for the most part, just means you access software from a central server, and typically means that you pay a monthly fee.
Cloud solutions are a win-win. Perpetual licenses tend to be expensive to end users because it is a one-time expenditure of cash and the provider has to make up as much of their revenue up front as they can. In a cloud model on the other hand, the up front fees are typically waived or drastically reduced and instead the purchaser continues to pay a renewing fee for as long as they need the service that the software provides.
For the software provider this means an ongoing revenue stream, which can lead to more competitive pricing. If customers stick around long enough, it can also earn you MUCH more than a perpetual license would make you. And the lack of a huge initial price tag can help bring in new customers.
The perpetual revenue also means that successful companies can tend to be much more competitive than a company that sells a perpetual license. With perpetual licenses market saturation is a real concern. If you ever reach a point where everyone you need to sell too either already has your product or is already happy with a competitors, you run out of money. That is part of that risk an upfront cost for a perpetual license is meant to help mitigate. With recurring licenses, as long as you have customers, you have revenue, even if there is no one new to sell too.
The software providers also generally add value in the form of automatic updates. If you buy a perpetual license you may be forced to pay for upgrades separately. But, in a cloud environment, the software provider doesn't want to maintain more versions than they have too. So, they instead upgrade all of their servers as new versions come out. Which can mean you get new features or better functionality. Cloud customers also tend to get a better level of service than on premise solutions. If a user encounters a bug in a cloud based product, it means that A) everyone using your cloud has the same bug, whether they hit it or not, and B) fixing the bug and upgrading your cloud servers means you also automatically fix it for everyone.
Sounds like an unbeatable deal right? Sort of. It is a good deal. Maybe even a great deal. But it is a model that implemented as such still has some problems for both the provider and consumer of the service. On the consumer side, if I have a slow month and use the software less, I still get charged the same recurring charge. For the provider, if there is a huge spike in usage and demand without an influx of new account, there is no new revenue to help offset the extra resources that may be required to deal with the increased load.
With a traditional cloud model (IE - activity isn't tracked at a transactional level of some sort) there is not only no way to mitigate these issues, there may also be no way of discovering the specifics of them either.
SaaS, in my opinion, is both the solution to the above and the next logical step for cloud solutions in general. What differentiates a SaaS based model from a development perspective is that it adds that granularity of tracking activity and transactions to the traditional cloud model. From a revenue perspective, billing is based on that activity, rather than some sort of a flat model. And you end with something that contains all of the same technical advantages a traditional cloud solution would offer, such as upgradeability and supportability along with a less rigid billing model so you can scale better both with business requirements and customer expectations.
From the consumer side, yes, you could still end up paying more per month than you would have under a traditional cloud model. But, hopefully you're only using it enough to make it cost more if you are also bringing in more revenue of your own. And, for the provider, if you're servers are getting slammed and you're billing based on activity, then you know you can afford to throw the extra resources at the issue to keep things running without eating into your profits.
SaaS likely isn't the end game either. But it is the natural progression. And, since SaaS and typical cloud based models can be very similar, if you're making that move now, you should at least ensure that your framework enables you to easily move to a SaaS based solution in the future. Just as there will always be some that still favour a perpetual license, even if SaaS takes over, there will still be those who prefer the traditional cloud model. However, if you support SaaS, you should be easily able to simultaneously support traditional cloud as well. So why pigeon-hole yourself? Even if you only need traditional now, you can simply build out the necessary framework to do SaaS and simply not bill based on that model.
We're slowly seeing this progression with the media industry. Music and Movies started out as a perpetual license in the form of a CD or DVD (or VHS, ...) which are losing ground every year. Even digital perpetual licenses via stores like iTunes are on the decline. Today, streaming services for a flat fee are the cloud equivalent and slowly taking over as sales of physical media plummet. Services like Xbox Music, Netflix and the likes are becoming the norm. And, the reason for that decline is exactly this shift to the cloud and the benefits it means to both consumer and producer.
Once that market gets saturated however, new and existing players in the field will need a different approach to snag peoples hard earned money from those on a subscription services. In fact, I would argue that we are already at a point where it is difficult for a new player to enter into cloud side of this market at a competitive price range and with a comprehensive catalogue and be able to stay afloat long enough to become profitable.
With a SaaS model however, since I can guarantee that my revenue will grow with the usage of the service, I have a lot more room to negotiate contracts for those catalogue licenses, and I'm more likely to be able to do it at a price point where I can still be viewed as competitive to the average user of such a service. The market may not be there yet... but I suspect it will be shortly.
And while my SaaS examples have been around billing per transaction, that is a limiting view of the power that a SaaS model brings. The key to a SaaS model isn't actually in charging per transaction, it is actually the ability to record usage at a transactional level. How detailed the data you record is, and how you use it are both up to you. At the very least, even if you continue to charge a flat monthly rate, you have much more information to backup how efficient your current revenue model is.
As a developer, the other advantage of a SaaS model is building your applications service calls with restrictions in mind to protect your IP. In addition to tracking activity, you will also generally restrict certain API calls based on licensing. By blocking it at the service endpoint, there is no way to work around it. Which is actually where this story initiated for me, we were looking to build in module based restrictions on a somewhat open user interface in a solution which may be used in the cloud.
Virtually every applicable line of software products and services at this point have at least one proponent in the cloud, and many also have an array of competitors there already. Making this, by and large, just another cost of doing business these days. But, "cloud", for the most part, just means you access software from a central server, and typically means that you pay a monthly fee.
Cloud solutions are a win-win. Perpetual licenses tend to be expensive to end users because it is a one-time expenditure of cash and the provider has to make up as much of their revenue up front as they can. In a cloud model on the other hand, the up front fees are typically waived or drastically reduced and instead the purchaser continues to pay a renewing fee for as long as they need the service that the software provides.
For the software provider this means an ongoing revenue stream, which can lead to more competitive pricing. If customers stick around long enough, it can also earn you MUCH more than a perpetual license would make you. And the lack of a huge initial price tag can help bring in new customers.
The perpetual revenue also means that successful companies can tend to be much more competitive than a company that sells a perpetual license. With perpetual licenses market saturation is a real concern. If you ever reach a point where everyone you need to sell too either already has your product or is already happy with a competitors, you run out of money. That is part of that risk an upfront cost for a perpetual license is meant to help mitigate. With recurring licenses, as long as you have customers, you have revenue, even if there is no one new to sell too.
The software providers also generally add value in the form of automatic updates. If you buy a perpetual license you may be forced to pay for upgrades separately. But, in a cloud environment, the software provider doesn't want to maintain more versions than they have too. So, they instead upgrade all of their servers as new versions come out. Which can mean you get new features or better functionality. Cloud customers also tend to get a better level of service than on premise solutions. If a user encounters a bug in a cloud based product, it means that A) everyone using your cloud has the same bug, whether they hit it or not, and B) fixing the bug and upgrading your cloud servers means you also automatically fix it for everyone.
Sounds like an unbeatable deal right? Sort of. It is a good deal. Maybe even a great deal. But it is a model that implemented as such still has some problems for both the provider and consumer of the service. On the consumer side, if I have a slow month and use the software less, I still get charged the same recurring charge. For the provider, if there is a huge spike in usage and demand without an influx of new account, there is no new revenue to help offset the extra resources that may be required to deal with the increased load.
With a traditional cloud model (IE - activity isn't tracked at a transactional level of some sort) there is not only no way to mitigate these issues, there may also be no way of discovering the specifics of them either.
SaaS, in my opinion, is both the solution to the above and the next logical step for cloud solutions in general. What differentiates a SaaS based model from a development perspective is that it adds that granularity of tracking activity and transactions to the traditional cloud model. From a revenue perspective, billing is based on that activity, rather than some sort of a flat model. And you end with something that contains all of the same technical advantages a traditional cloud solution would offer, such as upgradeability and supportability along with a less rigid billing model so you can scale better both with business requirements and customer expectations.
From the consumer side, yes, you could still end up paying more per month than you would have under a traditional cloud model. But, hopefully you're only using it enough to make it cost more if you are also bringing in more revenue of your own. And, for the provider, if you're servers are getting slammed and you're billing based on activity, then you know you can afford to throw the extra resources at the issue to keep things running without eating into your profits.
SaaS likely isn't the end game either. But it is the natural progression. And, since SaaS and typical cloud based models can be very similar, if you're making that move now, you should at least ensure that your framework enables you to easily move to a SaaS based solution in the future. Just as there will always be some that still favour a perpetual license, even if SaaS takes over, there will still be those who prefer the traditional cloud model. However, if you support SaaS, you should be easily able to simultaneously support traditional cloud as well. So why pigeon-hole yourself? Even if you only need traditional now, you can simply build out the necessary framework to do SaaS and simply not bill based on that model.
We're slowly seeing this progression with the media industry. Music and Movies started out as a perpetual license in the form of a CD or DVD (or VHS, ...) which are losing ground every year. Even digital perpetual licenses via stores like iTunes are on the decline. Today, streaming services for a flat fee are the cloud equivalent and slowly taking over as sales of physical media plummet. Services like Xbox Music, Netflix and the likes are becoming the norm. And, the reason for that decline is exactly this shift to the cloud and the benefits it means to both consumer and producer.
Once that market gets saturated however, new and existing players in the field will need a different approach to snag peoples hard earned money from those on a subscription services. In fact, I would argue that we are already at a point where it is difficult for a new player to enter into cloud side of this market at a competitive price range and with a comprehensive catalogue and be able to stay afloat long enough to become profitable.
With a SaaS model however, since I can guarantee that my revenue will grow with the usage of the service, I have a lot more room to negotiate contracts for those catalogue licenses, and I'm more likely to be able to do it at a price point where I can still be viewed as competitive to the average user of such a service. The market may not be there yet... but I suspect it will be shortly.
And while my SaaS examples have been around billing per transaction, that is a limiting view of the power that a SaaS model brings. The key to a SaaS model isn't actually in charging per transaction, it is actually the ability to record usage at a transactional level. How detailed the data you record is, and how you use it are both up to you. At the very least, even if you continue to charge a flat monthly rate, you have much more information to backup how efficient your current revenue model is.
As a developer, the other advantage of a SaaS model is building your applications service calls with restrictions in mind to protect your IP. In addition to tracking activity, you will also generally restrict certain API calls based on licensing. By blocking it at the service endpoint, there is no way to work around it. Which is actually where this story initiated for me, we were looking to build in module based restrictions on a somewhat open user interface in a solution which may be used in the cloud.
Comments
Post a Comment