Welcome!

@CloudExpo Authors: Zakia Bouachraoui, Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White

Related Topics: @CloudExpo, Microservices Expo, Containers Expo Blog, Agile Computing, @DXWorldExpo, SDN Journal

@CloudExpo: Article

How to SaaS-Enable Your Application in Six Weeks

Multi-tenancy is a core tenet, but you need to consider and plan to do a whole lot more than that

The world of software applications and products is moving from on-premise to a Software-as-a-Service (SaaS) model. Perpetual licence earnings are shrinking, while subscription revenue including SaaS is growing increasingly fast and at a steady pace. According to a recent PWC report, subscription revenue (including SaaS) is set to grow at a 17.5% compounded annual rate, reaching 24% of total software revenue by 2016. Approximately 40% of the turnover of 10 of the top 100 software companies globally is generated by the SaaS service.

Gartner predicts that 77% of companies plan to increase their spending on SaaS in the next two years. So the big question is, how can you (as a software application or product vendor) quickly move to SaaS, test it and ride the wave of opportunity before losing your specific competitive advantage to some of the fast-progressing SaaS vendors like Workday, Oracle, Saleforce.com, SAP, Microsoft, Intuit, and Zuora.

The next question is - what should one do in order to SaaS-enable an existing application or a product? Having seen many product teams struggle for months with just putting together the basic understanding and plan, here are some ideas on how to think about and devise a detailed SaaS-enablement strategy from an engineering perspective. These ideas are based on my various assessments and conversations with product owners and solution architects.

I've divided my suggestions into three SaaS-enablement strategy pillars for engineering - SaaS architecture, SaaS design thinking, and SaaS implementation planning. These pillars will help frame your thinking and help develop a fully baked thought process that will ‘concretize' your SaaS-enablement roadmap. (Please note these don't delve into other areas like business case, process change, and market rollouts.)

SaaS Architecture

  • Develop an understanding about prospective SaaS offerings, expected consumption patterns, scale, competitive offerings and revenue model.
  • Evaluate which multi-tenancy model will be most suitable for your offerings - isolated tenancy, shared tenancy, or hybrid tenancy.
  • Look at the existing application architecture, tiers, components used, their interaction and dependencies, etc.
  • Based on the time-to-market guidelines from product management, devise the redesign strategy - product re-writing vs. new product composition using on demand third-party platform services vs. re-tooling with different deployment options.
  • Identify platform services that could potentially replace existing application components without affecting the functionality, e.g., database, caching, search, logging, messaging, etc.
  • Evaluate your platform service vendors and whether they offer individual services as on-demand hosted services with scale and commitments. It's best to think of platform-as-a-service (PaaS) choices in the market that provide these capabilities (e.g., Heroku, Force.com, Cloud Foundry, Microsoft Azure, CloudBees, Stackato, SaaSGrid, Engine Yard, etc.).
  • Map the rest of the tiered components with platform-specific runtime engines - web front end, back-end process, jobs, storage (local for sequential I/O, remote storage), etc.

SaaS Design Thinking

  • Identify customization requirements for potential tenants - UI, Branding, Process, and Data Model.
  • Make design changes across the layers to drive customization through configurations.
  • Ensure UI components are dynamic except for the basic layout (in most cases).
  • Use the new branding component for UI to help with tenant specific look and feel.
  • In case tenants need flexibility in the user process/navigation flow, the new SaaS application may need to have the workflow engine at the core (think third party vs. platform service vs. simple property-based).
  • The data model will need changes across existing objects to build the association with tenant organizations. It will also need new meta-data object definition and indexing logic to handle the access conditions and volume of data.
  • Ensure that entire design and access provides data isolation for the tenants.
  • Based on the target markets, application design will need to support internationalization as well.
  • Other re-design considerations to factor in - sensitivity of data, local governance, privacy standards and any other compliance issues.
  • Employ the ‘design for failure' philosophy and try using platform-specific best practices to make application components highly available all the time.

SaaS Implementation Planning

  • Understand the complexity involved and where it comes from, for instance- type of use cases, existing design, dependencies on third-party components and services, technologies used, business workflow complexity, service consumption levels, data mass to be handled, target market, regularity needs, etc. Decide and drive the SaaS-enablement efforts in terms of time and cost involved.
  • Plan to develop a small, quick and end-to-end use case to begin with and then iterate over it as you test for functionality, isolation and performance.
  • For selling SaaS services, applications will need additional components, such as offering catalog, customer and order management, service entitlement, usage metering, billing, payment, self-service portal, etc. You can either think of insourcing these services or plan to build your own support systems to enable more applications as SaaS using the same.
  • Implement continuous integration management using platform APIs for quick feature patching and rollouts.
  • If you are not planning to use any platform-as-a-service, then identify and employ a DevOps tool for continuous integration, release, patching and automation of operations including sanity tests, etc.
  • Evaluate services like support, dashboard and analytics (unless it needs highly customized analytics) using platform services.
  • Add robustness to your SaaS implementation

̵            From the very beginning, an overall application needs to be thought of as a scalable platform by ensuring stateless and loosely coupled components.

̵            Have an alert mechanism on platform as well as application logs.

̵            SaaS applications should able to gather and infer parameters for SLA metrics using underlying platform measurements.

  • Add interoperability into your SaaS application

̵            If the SaaS application supports the use case of integrating with other systems (like IDM, content management) to insource the identity or other data, then inclusion of adapter interface definitions will be required.

̵            If other enterprise systems need to make use of SaaS application or data, then the access mechanism will have be built using API frameworks like JSON + REST or XML + SOAP.

  • To ensure your SaaS application goes the distance in a successful SaaS business, make sure you factor in managing things like getting your SaaS application platform audited (if you are hosting it yourself), scale and performance management, user experience, disaster recovery, creating testing environments, feature rollback mechanism, and security and privacy best practices.

Some of the above directions and recommended actions may become secondary depending on your overall solution architecture approach, e.g., if you decide to leverage any of the existing platform-as-a-services to build your SaaS application on top, then that platform may do many things for you but at the same time it will also drive many of your decisions as well.

Of course, going to market with revitalized offerings (SaaS in this case) and delivering required value and features to your customers is a very serious bet. This is where an "I-can-do-all-things-myself" attitude poses a risk to the new business model whereas timely guidance from relevant experts might make life much simpler and the business a real possibility.

With the right mindset and experience, SaaS enablement of your software product could be a quick possibility - as little as six weeks. The key point I'd like to drive home here is that your future business maybe at risk if you are taking too long to put together a detailed and concrete SaaS-enablement roadmap. Now is the time to get started.

More Stories By Jiten Patil

Jiten Patil is Principal Technology Consultant & Cloud Expert, CTO Office, at Persistent Systems Limited, a global leader in software product development and services. He has 15 years of industry experience and has spent the past 6 years working with cloud service providers, ISVs and enterprises in the field of SaaS, IaaS, PaaS and hybrid cloud computing solutions. His key expertise is in guiding organizations for cloud strategy and roadmap, solution architecting for public & private application services, platform services, multi-tenancy methodologies, application enablement and migration, devising new cloud solutions, tools and IP products, and doing competitive assessment across cloud technologies. He can be reached at [email protected] / Twitter @jiten_patil

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
JitenPatil 07/11/13 05:27:00 AM EDT

Thanks to all the people who have liked and shared their comments through various social media channels. Specially some of the LinkedIn groups like Cloud Architect, Cloud/SaaS, etc...where CEO, CTOs and Solution Architects have suggested good additions to make to this list to help bake the SaaS-enablement thinking process well.

Thanks to H Andersson who thinks SaaS enablement can be done even faster and to Stephen Owen for his applause and a addition suggested.

This paper can be detailed further down to cover each and every aspect to make it look like a tutorial that can help everyone with old as well new applications equally.

phoenixlives 07/02/13 10:41:00 AM EDT

There's nothing in this article that indicates how to take an existing application and web-enable it. The entire article speaks to architectural considerations for designing web-enabled applications from scratch. Very misleading.

CloudEXPO Stories
Having been in the web hosting industry since 2002, dhosting has gained a great deal of experience while working on a wide range of projects. This experience has enabled the company to develop our amazing new product, which they are now excited to present! Among dHosting's greatest achievements, they can include the development of their own hosting panel, the building of their fully redundant server system, and the creation of dhHosting's unique product, Dynamic Edge.
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In this presentation, I'll talk about what automation is, and how to approach implementing it in the context of IT Operations. Ned will discuss keys to success in the long term and include practical real-world examples. Get started on automating your way to a brighter future!
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next-gen applications and how to address the challenges of building applications that harness all data types and sources.
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed by some of the world's largest financial institutions. The company develops and applies innovative machine-learning technologies to big data to predict financial, economic, and world events. The team is a group of passionate technologists, mathematicians, data scientists and programmers in Silicon Valley with over 100 patents to their names. Big Data Federation was incorporated in 2015 and is ...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like "How is my application doing" but no idea how to get a proper answer.