If a report by Forrester is to be believed, every employee of an organization with 1000+ employees uses at least 18 Software as a Service (SaaS) based applications. And if the growth trend of last 3 years would continue, the number could raise to 24 SaaS based applications this year. So now the important question is, is your application among those 24?
SaaS applications have registered a usage growth of 40% in last three years itself. More and more ISV’s(independent software vendor’s) are now migrating their business to cloud, converting their stand-alone applications to a cloud deployed subscription-based web & mobile applications.
However the process of migrating your application to cloud cannot be underestimated.
Cloud based application is still a relatively new field and thus is mined with its own challenges and difficulties. Creating and deploying an application on cloud requires an altogether different approach of Agile software Development process, affecting not only the way you organize your development cycle, but also the way you conduct your business.
So as an experienced Cloud developer, I would like to share things to consider before moving to cloud and what to expect while moving to cloud based systems.
1. To SaaS or not to SaaS
The first and obvious question is- do I need to move to cloud at this stage of time? A risk assessment analysis is important before moving to cloud. Here are some important factors that would help in a typical ISV’s analysis
- Taking your business to cloud means completely changing your business strategy. You would have to re-organize your development cycle and drastically change the way you develop, test, and deploy your application. You would have to rethink your development strategy and have to be prepared to sacrifice some application features or even invest in new features.
- A company that provides traditional software applications is drastically different from one that operates and profits from cloud based apps. Therefore along with the development strategy, your whole sales and marketing strategy will need improvisation. You might have to change everything ranging from your user licensing agreements to your top management organizational structure.
- If you cater to medium to large scale organizations and profit mainly by customizing your application for your clients, you will have rethink about moving to SaaS. It would be quite difficult to create custom-from-the-scratch features suitable only for a single client. The common SaaS strategy to tackle this problem include
- predicting requirements of your clients,
- creating a loads of features based on those requirements, and then
- restricting those features on the basis of subscription.
- So you would have to invest on comprehensive requirement analysis and defining which feature to include on what particular subscription levels.
Now based on these major considerations here are some questions that you need to answer your self before moving to cloud:
- Will my SaaS model help me reach new markets?
- What competitive edge will my SaaS model give to me?
- Is it wise for my existing customers to move to my SaaS application, and how much would I lose or gain if they migrate to my SaaS app.
- What is the ROI of my SaaS model, both long term and short term?
2. Investing in the Cloud infrastructure
There a lot of Cloud application service providers out there each with their own pros and cons. But cloud is quite different from your average website hosts. Instead of investing in a standalone server setup you would have the option to choose your server processing capabilities, storage, and even RAM. So you need to analyze your application’s capabilities to go for a planned investment of an efficient configuration.
3. Developing a Public cloud or a Private cloud?
There are two types of cloud- public cloud and private cloud. Public, as the name suggest means that everything including all your data is stored on public databases while using your standards of encryption for security. Conversely private means storing critical data(or all) and application processes on private infrastructure.
Public clouds are easy to develop and easy to deploy, so most startups initialize their business with public cloud, but since private cloud is more secure, the long term goal for most organizations is to develop and migrate to a private cloud.
Here are some important factors to consider when choosing a public or a private cloud
- Security: Private cloud is better secured than public ones. So consider what type of your data you would want on private cloud and what can be put up on public.
- Performance: Application latency is a factor. For best overall user experience it’s advisable to invest in high performance private storage or processing or networking infrastructure.
- Legal compliances: Some applications, like those handling government data or sensitive data are legally bound to use encrypted secure private cloud infrastructure. (Yes, the law is already considering cloud development, and they know all about it!)
- Cost: Private clouds require more development and infrastructure costs as compared to public ones. So you need to analyze the best public-private ratio.
4. The business of Software as a Service
Cloud based application means you are selling application features for a subscription instead of selling an application and customizing it. As said earlier, there is very little scope of the app customization. Thus everything depends on your customer research and the features that you include in your subscriptions. So market research would be a major part of your business, hence the need to invest in good analytics platform and digital marketing. From the business point-of-view, here are some important considerations:
- Technical Architecture: In cloud, you can create different architectures to get the same result. For example you can program your application in such a way that it creates single instance for every single user, or it can create a single instance for a multi-user experience. Possibilities are endless. It is up to you to determine the most optimum architecture.
- Revenue and cost projections: For ISV businesses which are specializing in providing per-developer-per-hour customization services, it is very difficult to decide the subscription costs for the cloud based product. It’s especially so if there are no direct competitors or if your service is quite unique. Also the concept of unit-selling-price changes drastically when you apply subscription logic. So your cost projections and revenue projections also changes.
- Marketing and Branding: Brand recognition is everything for a SaaS product. The common strategy to promote SaaS app include extending your existing brand, giving try-before-you-buy options, and providing discount coupons to old customers or on special occasions.
5. The Beta version
Yep, even cloud applications have beta versions. The first step in launching the product is making live the beta version, or the pilot version as it is called. The beta SaaS version, just like normal software versions, is launched to perform final test of the product. The main strategy behind the beta version is to check the final user experience and check the application out of sandbox environment.
It is also a great opportunity to test out your service model, and insights from your customer’s experience would go a long way in finalizing your pricing, features, and even system upgrades.
In Beta phase keep an eye out for skill-set mismatch, latency, customer feedback, and technical process execution. If the results are not as expected you may even have to rethink your technical architecture.
Before going live check that
- System hardware and cloud infrastructure are stable and capable of handling sudden increase in activity.
- You have redundant backups of everything and your automated recovery systems are working smoothly.
- The final user experience is in expected parameters
- The sales and marketing process has been streamlined and operating smoothly.
The next steps
Just like stand alone software, cloud based systems also require regular version and functionality updates. So when your application is live and running, it’s time to once again visit the drawing board. The cloud environment changes faster than seasons. To keep making profit you need to stay ahead of the curve.
The most important step for an ISV is to automate the processes to highest possible efficiency. And at the same time monitor market trends and costs. Both are important for continued business.
Keeping track of user behavior and latest technological developments will help but the trick is to find the right features which everyone wanted but nobody actually knew they wanted it.
Many times, companies are too much focused on operations and quickly lose sight of the market. This can be fatal. If you see yourself going in that direction, consider bringing in a technology partner to manage your backend operations while you work on market strategy implementation.