Hunter Richards’ article Fear Not, Resellers: Every Cloud Has a Silver Lining presents an excellent discussion of how the transition to cloud computing will impact Value Added Resellers (VARs). He provides solid advice on the steps VARs should take to adapt and thrive in a world where hardware is virtualized, software is browsed and both are located and managed elsewhere.
Cloud computing is a disruptive, game-changing paradigm shift in the way people will access, use and pay for technology. While it has yet to be fully embraced by businesses and consumers, the big players (Amazon, Google, Microsoft, HP, IBM and others.) have committed to making it happen in a big way. The transition is inevitable and is driven in large part by the mobilization of computing devices and the increasing ubiquity of Internet connectivity. The growing expectation is that applications and data should be accessible at anytime and from anywhere.
For Independent Software Vendors (ISVs), cloud computing generally provides more opportunities than pitfalls, though there are a number of areas that will require adjustment.
Traditional software delivery operated on a licensing revenue model with either perpetual or renewable licenses. Corporate software frequently had additional variants of fixed or floating seat licenses to provide some flexibility with how licenses were managed and reallocated by the business.
Software as a Service (SaaS), the dominant software model for the cloud, operates on a subscription model, and may also have options of fixed and floating seats. While the two revenue models are fairly similar, there is one key distinction. With traditional software, failure to renew a license typically meant that the customer was no longer eligible for support or free upgrades. In the cloud, if the subscription is not renewed, the customer is generally cut off from continuing to use the application, though often some means of retrieving the customer’s data is still allowed.
Installing software on customer equipment can be a complicated task, as the ISV has to develop an installer capable of handling an enormous number of variables in the equipment and operating system configurations. The installer must also properly handle upgrading previous versions of the application, check for incompatible hardware and software, ensure required third-party platforms are present, and cleanly uninstall when requested to do so. Additionally, to support multiple operating systems, the installer and software must be custom built for each OS.
Cloud-based applications are installed by the ISV on a single hardware/OS configuration under the control of the ISV. This allows the installation process to be drastically simplified. The process need not even be automated. The ISV could spent weeks if desired hand configuring an installation until it is perfect, then image the machine and replicate it across an array of servers.
A while back, I wrote a series of articles about product configuration management patterns. Five different patterns were presented for how software could be custom configured at different stages of its life cycle. All of those patterns apply to traditionally developed software, but only the Run-Time Product Configuration Management Pattern applies to cloud-based software. The Run-Time PCM pattern requires a greater degree of investment in application functionality related to product configuration. A large portion of the user interface may need to be dedicated to configuration options, and the remainder of the code structured to adhere to how the options are set by the end user. The configuration options themselves must be stored in a scalable manner to support large numbers of users.
Perform a web browser search for the word “bittorrent” followed by the name of any popular desktop application, and you’ll get a good feel for how wide-spread software piracy is. Anytime software is given to a customer, it has the potential to be pirated. ISVs often make large investments developing anti-piracy measures in an attempt to discourage piracy, though if an application is in high-enough demand, someone will figure out how to circumvent the copy-protection.
Applications in the cloud have it a little easier. While a user can potentially share their subscription account information, it is rather easy to prevent simultaneous use of the application from different computers via the same account. This at least limits the amount of piracy to a few people sharing one account. A great technique to discourage this kind of account sharing is to store confidential information in the account which the account holder would not want others to have access to.
The docks/system trays of most desktop computers seem to be filled with little icons constantly announcing that updates are available for their applications. When software is installed on a customer’s equipment, keeping it up-to-date can be quite a challenge. The ISV typically takes the approach of creating a specialized program to poll a web server periodically to check for application updates. After finding updates available, the program will ask the user for permission to download and install them, closing and reopening the application in the process if necessary. A lot of effort goes into creating the infrastructure to support this, though the value to the customer makes it worth it.
Fortunately, cloud-based applications are much easier to update. In fact, it is a lot like the product installation process for the cloud described earlier. The ISV starts with an existing server image, makes whatever changes are needed such as copying new files, editing configurations, etc., creates a new image from the changed server, and replicates the new image across the server farm. No special infrastructure or fancy update programs are needed, and the customer is often completely unaware of the update process.
Overcome the fear
The greatest challenge an ISV is likely to face with transitioning to the cloud is convincing its customers to follow. Businesses and consumers alike are comfortable with traditional software. Many still buy shrink-wrapped boxes even when downloads are available because of the psychological comfort that comes with tangible possession. For these customers, the cloud is frightening because it is so intangible and remote. They fear the loss of control over their data and applications. A successful ISV will address those concerns.
Educate your customers on the benefits of the cloud
Much of your customers’ fear is rooted in misconceptions about the cloud. Make it a priority to educate all of your customers about what the cloud can do for them. Some typical benefits include:
- Provides far better data protection than your customer is likely capable of
- Applications and data are accessible anytime and anywhere
- Customer can use any browser-capable computer and operating system
- Their software is always up-to-date without any effort on their part
- IT and equipment costs can be dramatically reduced
Design for mobile
Increasingly, your customers are doing their computing on mobile devices, from laptops to tablets to smartphones. To be successful, your applications need to be accessible on all these types of devices. The browsers on smartphones are getting better though they still do not support all of the capabilities of those on desktops. Limiting your web application to the lowest common denominator will penalize those running better browsers. Instead, write your web application to take advantage of whatever capabilities are present. If the smartphone browser is not sufficient, consider writing a native mobile app to give your customers the best possible experience.
As Hunter’s article indicated, VARs are at risk of getting squeezed in this transition to the cloud. They will be extremely motivated to pick up new roles as some of their existing ones disappear. Consider the VARs as your allies. They will be the ones best suited to help bring your customers along with you to the cloud. Make your web applications extensible with external APIs available through web services or other means. VARs need to be able to integrate your application with others in order to meet the needs of their customers.