Software Potential Solution Overview

Similar documents
Unlocking the Commercial Potential in your Dynamics CRM Applications

Enterprise Access Control Patterns For REST and Web APIs

Course 10978A Introduction to Azure for Developers

Migrating SaaS Applications to Windows Azure

MS 10978A Introduction to Azure for Developers

UNLOCKING THE COMMERCIAL POTENTIAL IN YOUR CLOUD SOFTWARE

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions 20532A; 5 days

BUILDING SAAS APPLICATIONS ON WINDOWS AZURE

Cloud Management Platform

Sentinel Cloud V.3.6 Quick Start Guide

Cloud Computing: What IT Professionals Need to Know

SOA and API Management

Five More Myths About SaaS and Cloud Computing

Windows Azure Platform

IBM EXAM QUESTIONS & ANSWERS

IT Exam Training online / Bootcamp

CYCLOPS The Ultimate Billing Framework for Cloud Services Dr. Piyush Harsh, ICCLab InIT Zurich University of Applied Sciences Zürcher Fachhochschule

Taking the cloud to your datacenter

CorasCloud Partner Program White Paper Value Proposition for System Integrators. September 2015

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

C05 Discovery of Enterprise zsystems Assets for API Management

Tableau Online Security in the Cloud

Accenture Cloud Platform Unlocks Agility and Control

NCTA Cloud Architecture

Table of Contents. Abstract. Cloud computing basics. The app economy. The API platform for the app economy

Three Ways to Integrate Active Directory with Your SaaS Applications OKTA WHITE PAPER. Okta Inc. 301 Brannan Street, Suite 300 San Francisco CA, 94107

10978A: Introduction to Azure for Developers

SCALABILITY IN THE CLOUD

Microsoft Azure for IT Professionals 55065A; 3 days

WINDOWS AZURE AND ISVS

SAP HANA Cloud Platform Overview Customer

Introduction to Azure for Developers

Convert your web application to a Multi tenant SaaS solution using "SaaS-Tenant " Framework

CLAIMS-BASED IDENTITY FOR WINDOWS

Contents Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA

Multi-Tenancy in SharePoint DD105 Spencer Harbar Enterprise Architect harbar.net

IBM API Management Overview IBM Corporation

White Paper: Cloud Identity is Different. World Leading Directory Technology. Three approaches to identity management for cloud services

Microsoft Introduction to Azure for Developers

VMware vcloud Architecture Toolkit Public VMware vcloud Service Definition

An Overview on Important Aspects of Cloud Computing

Kent State University s Cloud Strategy

Microsoft SharePoint Architectural Models

Windows HPC Server 2008 R2 Service Pack 3 (V3 SP3)

CLOUD COMPUTING & WINDOWS AZURE

Using Red Hat Systems Management Tools in a Hybrid Cloud

Understanding the Value of Financial Intelligence for Cloud Management. A white paper by David Linthicum

the Cloud

SERVICES. Software licensing and entitlement management delivered in the cloud for the cloud

Evaluating IaaS security risks

SELLING SHAREPOINT ENGAGEMENTS IN THE CLOUD ERA A GUIDE FOR MICROSOFT SI PARTNERS

PI Cloud Connect. Frequently Asked Questions

OVERVIEW OF MICROSOFT AZURE

Re-platforming Your ecommerce Site

Emergence of Cloud. Definition. Service Models. Deployment Models. Software as a Service (SaaS) Public Cloud. Platform as a Service (PaaS)

Reaching Customers Across Multiple Channels

OVERVIEW Cloud Deployment Services

How To Manage Cloud Management

LONDON. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

SaaS & Cloud Application Development & Delivery

Course 20532B: Developing Microsoft Azure Solutions

Realizing the Value Proposition of Cloud Computing

Defining a framework for cloud adoption

Enterprise Grade CRM on Cloud

Global Headquarters: 5 Speen Street Framingham, MA USA P F

RightScale mycloud with Eucalyptus

White paper SaaS Business Enablement Services from Fujitsu

WHITEPAPER. Unlock the value of your.net architecture with MuleSoft. MuleSoft s Anypoint Platform-The Next Generation Integration Solution

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

How to Achieve a Cloud-Connected Experience Using On-Premise Applications

Windows Azure platform What is in it for you? Dominick Baier Christian Weyer

CLOUD TECH SOLUTION AT INTEL INFORMATION TECHNOLOGY ICApp Platform as a Service

Build Your Mobile Strategy Not Just Your Mobile Apps

I D C M A R K E T S P O T L I G H T. P r i va t e a n d H yb r i d C l o u d s E n a b l e New L e ve l s o f B u s i n e s s and IT Collaboration

4 Ways Companies Make Money Selling Cloud Services

MDE Opportunities in Multi-Tenant Cloud Applications

An Architecture Vision

REACH FOR THE CLOUD End-to-End Services for Cloud enabled products CONSULTING ENGINEERING MIGRATION SUPPORT DEPTH MAKES A DIFFERENCE

Building Blocks of the Private Cloud

Build. an Amazon-like experience for Cloud Services. Key Challenges. you click it. you see it. you got it. October

InfraStruxure TM Management Software

Achieve Economic Synergies by Managing Your Human Capital In The Cloud

A MORE FLEXIBLE MULTI-TENANT SOA FOR SAAS

How To Understand Cloud Computing

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Cloud Ready Data: Speeding Your Journey to the Cloud

A Whitepaper for Corporate Decision-Makers

Evaluation of Cloud ONTAP and AltaVault using AWS

Bell Mobile Device Management (MDM)

Cloud Application Marketplace

Management for the Mobile-Cloud Era

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

AppStack Technology Overview Model-Driven Application Management for the Cloud

Storing and Processing Sensor Networks Data in Public Clouds

IDENTITY & ACCESS. Providing Cost-Effective Strong Authentication in the Cloud. a brief for cloud service providers

Data Sheet Netrounds Control Center

Cisco Hybrid Cloud Solution: Deploy an E-Business Application with Cisco Intercloud Fabric for Business Reference Architecture

Transcription:

Software Potential Solution Overview

Contents Intended Audience... 3 Introduction... 3 Cloud Transition Challenges... 3 SaaS Licensing in the Cloud... 3 SaaS Packaging in the Cloud... 3 SaaS Usage & Analytics... 4 Software Potential... 4 How it Works... 4 Solution Components... 4 The Portal... 4 The SaaS SDK... 5 Conclusion... 6 InishTech 2013. All Rights Reserved. Reproduction or distribution other than for intended purposes is prohibited, without the prior written consent of InishTech. InishTech is a trade name of Inish Technology Ventures Limited, a company registered in Ireland, company registration number: 469127 All other marks are the property of their respective owners. Page 2 of 6

Intended Audience Software developers, software architects, product managers and business decision makers in organizations building commercial SaaS software. Introduction Cloud computing changes the software business utterly. Software is no longer software. Instead, like everything else in the cloud, it s a service. license entitlements and the control and enforcement of entitlements within the application. All of this needs to be done in a way that will protect the SaaS provider s interests and also minimize any impact on the end application. Key business drivers include the ability to provide customer choice and the ability to differentiate your software. A sophisticated licensing system will allow you to support your preferred business model within your application. You decide A software license is a legal instrument that governs the use and distribution of the software. So what happens if you re no longer distributing the software? Under this narrow definition of licensing, in the new world of cloud computing does software licensing have a role to play? The answer of course is yes. Licensing is primarily designed to protect the rights of the owner/creator of the software from the actions of the software user. SaaS doesn t change this the owner still needs to manage and control who gets to do what with their application. In fact, with SaaS it s probably even more important. Why? Because entitlement management can inform other, new important SaaS specific aspects of the business like access control, packaging, usage metering and billing. In fact, with the transition to the cloud, license management is moving from being primarily a software control mechanism to becoming a software business enabler. Cloud Transition Challenges When it comes to building your next software application, there are a lot of really great reasons to go to the cloud. However, it does have significant business implications and can therefore be quite a challenging transition for software providers that have existing non-cloud applications with legacy customers in the market. Many questions need to be answered, and some of the most difficult ones are around the licensing, packaging, distribution & commercial model the business will adopt in this new environment. on your SaaS usage policies, based on combinations of usage entitlements and feature limitations, thereby enabling you to adopt any licensing and corresponding pricing model that is desired e.g. User based, usage-based, time-based, consumption-based, and perpetual/subscription/on demand etc. SaaS Packaging in the Cloud A second challenge for the SaaS provider is around service packaging. Classic SaaS suggests a single instance/multi-tenant architecture. The problem with this is providing differentiation and customer choice in an economic way. A one-size-fits-all approach will only work for a new product in a new market with no competitors. Most SaaS applications, however, need to serve a diverse, heterogeneous customer base that demands just such choice and differentiation. SaaS Licensing in the Cloud The real promise of the cloud is economics. Utility-based computing - where you pay for what you use - is a key driver for SaaS, and it is this desire to match consumption to payment that is so appealing about the cloud. To turn this utility-based business model into a reality, you need the tools that will support a variety of business models within your application. After all, moving to SaaS is a lot more than simply changing the size and frequency of the invoice. There is a new consumption model, metering of that consumption within the application, tenant provisioning and

Offering customers choice means giving them the option of different packages, different prices, different levels of experience and service. But it doesn t stop there. Ultimately, choice means packaging on-demand. The only way to offer that kind of agility is by de-coupling the development and packaging tasks in your software. Agile packaging is being able to define editions of your service that target specific markets and use cases with particular feature sets, limitations and business models. Agile packaging is a key requirement for a successful SaaS software business. SaaS Usage & Analytics Because SaaS is such a different kind of business for many ISVs, the biggest challenges are often around the commercial aspects. Understanding how your customers use your product should be a basic requirement for any software company. But often with a more traditional on-premise model, this kind of information is inaccessible or incomplete at best. Not so with SaaS. As a service provider, the ISV has the potential to have a completely different kind of relationship with their customer. Understanding, in real-time, how the customer uses your software is central to this. A key challenge for the SaaS ISV is harnessing application usage data & analytics that will support consumption-based licensing, enforce subscription parameters and enable pay-asyou-go billing. Resolving these licensing, packaging and metering challenges for a multi-tenant SaaS application is a nontrivial problem. It requires a full subsystem that provides the appropriate product management interfaces but that also can integrate seamlessly with the application with a minimum amount of work for the development team. Software Potential Software Potential is a licensing platform as a service that can be used for any software model, including SaaS. Software Potential provides a development environment for use by software developers/architects and an online portal for product managers, support staff etc. How it Works There are 4 simple steps to license a SaaS application: 1. The Product Manager defines the SaaS product in terms of the licensable application features. 2. The Developer downloads the SaaS SDK and uses the licensing API and attributes that the SaaS SDK exposes to enforce license entitlements in the application. Depending on the activation model he may also provide a facility in the SaaS application for the customer to submit an Activation Key. 3. The third step involves the creation of a license and associated activation key which unlocks the features in the application code at runtime. The activation key is distributed securely to the customer (e.g. via email or seamlessly as part of the provisioning process). The portal exposes a rich web service API that can be called during an automated provisioning process. 4. Customer presents Activation Key to the application which will then activate and install the license via the SaaS SDK. Alternatively, this activation step can be automated so that it is invisible to the customer. Solution Components There are 2 key components to the Software Potential SaaS licensing solution; the Portal and the SaaS SDK. The Portal The Portal is the main services interface for platform users. It provides 3 basic functions; product management, license management and the licensing development environment. Product Management This is where you create & manage products, versions and editions of your SaaS software for the purpose of licensing. 3 key tasks are supported: Create Products Where you define your products in the licensing system. This is also where you create new versions of products already in the licensing system. Create Editions Where you configure and package your software products into different editions (aka SKUs) for the purpose of licensing and distribution. For each edition, you select the features from the available list and then you can also assign time and usage limitations to the particular edition, at both the product level and at the feature level. Page 4 of 6

Manage Products Where you do all maintenance & management of products & editions within the licensing system e.g. creating new versions features etc. License Management This is where you can generate and manage licenses for your SaaS software products. It supports 3 key tasks: Generate Licenses You can generate licenses for predefined editions of the product or you can generate licenses for custom/ad hoc editions of the product. Activate Licenses Licenses can be activated via; online activation, manual activation & no activation. Manage Licenses - This is where you do all maintenance & management of your licenses and activations. Licensing Development Environment This is the developer part of the portal, where you find all the components required to set up your development environment, select methods for protection and licensing and integrate licensing into your build environment. The SaaS SDK The second part of the SaaS service is the SDK. This provides a SaaS-friendly API overlaid on the licensing engine that can be used within your web application to enforce license entitlements and packaging. It includes the following capabilities: Tenant Partition The SaaS SDK implements a Tenant Partition concept to manage licenses and usage data on a per-tenant basis. This allows you to store licenses/usages across multiple partitions, with all licenses and data for an individual tenant stored in a single partition. Obviously, it is not possible for the SaaS SDK to implicitly understand how your users are associated with a particular tenancy (e.g. some implementers may store tenant ID in an encrypted cookie; others may store it in the session; others may use MVC Route data etc.) The SaaS SDK provides a simple ITenantPartition interface which will return a unique string that identifies which partition (and therefore which licenses) the current request is using. The SDK includes a default implementation for ASP.NET / ASP.NET MVC applications. License and Usage Data Storage In the portal your product is defined in terms of features. Licenses are issued with limitations (time and/or usage) declared against the features. Implementing checks in your application is done by making an authorization decision against the tenant s installed licenses. For licensing, a persistent store is required for both licenses and usage data for all tenants of your SaaS application. The default storage implementation uses Azure blob and table storage. However, it is possible to develop storage containers based on (ILicenseStore interface) for other cloud platforms e.g. Amazon AWS S3. License Checks in your Application The SaaS SDK loads the licenses from the license storage and converts them to a series of claims associated with a user. The SaaS SDK will create a claims principal and store it in the HttpContext Items collection. Alternatively, if you are using the richer WIF, you can you easily configure the SaaS SDK to use the WIF identity. A license check simply involves making an authorization decision based on the license claims presented by the user (e.g. for an MVC application this can be done using the LicenseAuthorize attribute or directly in code). In the following example, a valid license with the CreateSurvey feature must have been loaded before the controller method will execute. [HttpGet] [ProvideAuthorizationClaims] [LicenseAuthorize("CreateSurvey")] public ActionResult New([Deserialize]Survey hiddensurvey) { } Alternatively, the License can be evaluated in code using the following syntax: [HttpGet] [ProvideAuthorizationClaims] public ActionResult New([Deserialize]Survey hiddensurvey) { )) if (!SlpsContext.Current.Authorization.Has( "CreateSurvey" SaaS SDK Component Interactions The following are the key interactions between the SaaS SDK, the application and the Software Potential portal: 1. When an activation key is to be activated, the request comes from the application return new HttpUnauthorizedResult(); Page 5 of 6

2. The SDK will submit the key to the portal, and the Activation Web Service will return a license blob. 3. The SaaS SDK will then store the license within the application s cloud storage (e.g. Windows Azure storage) on a tenant basis i.e. each tenant has their own license store. After activation, the SDK no longer needs to communicate with the portal as the licenses are stored local to the SaaS application. About Software Potential Software Potential from InishTech is an innovative cloud based service that enables you to unlock the commercial potential in your software. With licensing, packaging, code protection and usage analytics all combined into an easyto-use SaaS service, you can manage and control your software in the marketplace like never before. Founded in 2009 and based in Dublin Ireland, InishTech's vision is to help software developers unlock the commercial potential in their software. The company is privately held, with the major shareholders being the founders, private investors, Enterprise Ireland and Microsoft Corp. When a user authenticates to the application the licensable features available for the tenant instance of the application are loaded as claims attached to the user. In the SaaS application when an attempt is made to execute a method associated with a licensable feature, a check will be automatically made to ensure the user possesses valid claims required to execute the feature. Conclusion With Software Potential, the SaaS application provider can implement proper tenant entitlement management, dynamic packaging, business model versatility, usage based metering and licensing analytics. For more information visit www.softwarepotential.com With several hundred customer tenants depending on the Software Potential cloud service to protect and license thousands of applications in the marketplace, InishTech is an international leader in the field of software licensing and an innovator in the shift to licensing from the cloud. NovaUCD, Belfield Innovation Park, University College Dublin, Belfield, Dublin 4, Ireland Phone: +(353) 1 7163635 Email: info@inishtech.com Web: www.inishtech.com Page 6 of 6