Skip to content

Mastering SaaS offers

SaaS offers are a popular deployment architecture for deploying offers onto the Azure marketplace. The below course takes you through SaaS offers from start to finish.

  1. SaaS Offer Overview
  2. SaaS Offer Technical Overview
  3. Purchasing a Private SaaS Plan
  4. Purchasing a SaaS offer from the Azure Marketplace
  5. Purchasing a SaaS offer from AppSource
  6. Publishing a SaaS Offer
  7. Publishing a Private SaaS Plan
  8. Microsoft Entra ID configuration for your SaaS offer
  9. Using the SaaS Offer Fulfillment API
  10. The SaaS Client Library for .NET
  11. Building a Simple Landing Page in .NET
  12. Building a Simple SaaS Publisher Portal in .NET
  13. SaaS Webhook Overview
  14. Implementing a Simple SaaS Webhook in .NET
  15. Securing your SaaS offer webhook
  16. SaaS Metered Billing Overview
  17. The SaaS Metered Billing API with REST
  18. Hands-on labs

SaaS Offer Overview#

Video | PDF

This video offers a technical overview of #Microsoft Azure Marketplace SaaS offers. It shows what you need to get started creating a SaaS offer of your own.

SaaS Offer Technical Overview#

Video | PDF

Watch a deep technical overview of how SaaS offers work in the Microsoft Azure Marketplace. Learn how the API flows and interactions should work and how to build your landing page. Topics include the following.

Purchasing a Private SaaS Plan#

Video | PDF

This video shows how to subscribe to private SaaS plans in the #Microsoft Azure Marketplace. Topics include the following.

Purchasing a SaaS offer from the Azure Marketplace#

Video

This video demonstrates the customer purchasing process when subscribing to a SaaS offer from within the Azure Marketplace.

Purchasing a SaaS offer from AppSource#

Video

This video demonstrates the customer purchasing process when subscribing to a SaaS offer from within the AppSource storefront.

Publishing a SaaS Offer#

Video | PDF

This detailed video presents the concepts of publishing a SaaS offer and then walks through the steps of doing so in Partner Center. This module goes all the way from creating an offer, to adding and plan, and finally publishing the offer live. It also speaks to the need of developers to have a sandbox environment in which they can test and development the landing page and webhook.

Publishing a Private SaaS Plan#

Video | PDF

This brief video builds upon what you learned in, “Publishing a SaaS Offer.” It presents the concepts of using private plans and then shows how to do so inside Partner Center.

Microsoft Entra ID configuration for your SaaS offer#

Video | PDF

In this module we look at a generic topic, application registrations for Entra ID. We’ll need this knowledge in upcoming modules. Application registrations give us a mechanism to authenticate to Entra ID, which is a requirement of the SaaS offer’s landing page, if you recall.

This video should help you get a jump start on configuring application registrations for the apps we’ll be building in the next few modules.

Using the SaaS Offer Fulfillment API#

Video

See the SaaS Fulfillment API in action as we send it through its paces using Postman.

You’ll learn how to authenticate with Azure Active Directory, resolve and activate subscriptions just like your Landing Page does, and see many other features of the API.

The SaaS Client Library for .NET#

Video | PDF

This module introduces the SaaS Client Library for .NET developer who want to work with the SaaS APIs at a level of abstraction above the REST level. The client library is a fully functional .NET package that you can install and use in your applications, and you’ll see how to do just that.

Building a Simple Landing Page in .NET#

Video | PDF

In this module we examine the elements of building a simple landing page and looking at how it works.

The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our landing page functionality.

Building a Simple SaaS Publisher Portal in .NET#

Video | PDF

This video shows a very simple example of a publisher’s portal used to manage SaaS subscriptions. The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our portal functionality.

SaaS Webhook Overview#

Video | PDF

This technical overview of the SaaS webhook explains the following concepts of the SaaS offer webhook.

  • Why to have this specialized HTTPS endpoint
  • POST events one may receive on the webhook
  • Flow models of how to handle requests
  • Potential fully implemented webhook architectures

And more! Consider watching this video before moving on to the code-based modules for implementing and securing a SaaS offer webhook.

Implementing a Simple SaaS Webhook in .NET#

Video

This code-heavy module focuses on the fundamentals of implementing a SaaS offer webhook as an Azure function using .NET. Concepts are presented in such a way as to be architecture and technology stack agnostic.

Securing your SaaS offer webhook#

Video | PDF | Code

This security-focused module introduces several techniques for securing a SaaS offer webhook and then dives into implementations of the techniques presented. The two techniques covered are using an Azure Function as a webhook and using a Logic app.

Although the Azure Function example is implemented in .NET, it is done so in a way that illustrates core concepts for any development stack.

SaaS Metered Billing Overview#

Video | PDF

This module presents the fundamentals of billing through the marketplace based on usage, or metered billing. It covers several areas of metered billing including the following.

The SaaS Metered Billing API with REST#

Video

We exercise the SaaS Billing REST API using Postman to illustrate how the API works. You’ll learn how the inputs to each API event and how to use the results, and finally how to invoke usage events in the metering API itself. This module is primarily demo.

Hands-on labs#

To perform the hands-on labs, visit this GitHub repository, which is home to the Mastering the Marketplace labs.