-
Book Overview & Buying
-
Table Of Contents
Building Modern SaaS Applications with C# and .NET
By :
SaaS has become the dominant paradigm in delivering an application to users. But what is SaaS?
You could say that SaaS applications are software applications that are delivered to their users over the internet and in a browser, often paid for by way of a monthly subscription fee.
And while that is technically correct, that single-sentence definition glosses over a lot of complexity! A lot of complexity for the user, the vendor, and most certainly for you—the developer of such applications!
In this chapter, we will start to build an understanding of SaaS, with a basic understanding of the technical, operational, and functional knowledge required to build a SaaS application from the ground up using Microsoft technologies. We will expand on that previous definition to the point that you—the reader, and soon-to-be SaaS developer—can confidently approach and solve problems by delivering SaaS-based solutions!
Let’s start by expanding on that definition a little.
SaaS is typically understood to be applications that are delivered and interacted with through a browser. The software is not purchased or “owned” by the user and installed on their computer. Instead (typically), a monthly membership fee is paid, which grants the user access to the service.
From the user’s point of view, the benefit of this is that they can access the application anywhere, at any time, on any device. They do not have to worry about installing the application or keeping the app up to date. All of that is just part of the service.
Many of the biggest tech companies in the world provide SaaS applications, and there is a good chance that you are using at least one of them!
Gmail is a great example of a SaaS application that is provided by Google. While it is free to most users, there is a fee for corporate or professional users who must pay for access to the G Suite tools. As well as a SaaS mail client, Google also offers a calendar application and a contact management application, as well as Office tools for authoring documents, building spreadsheets, or creating slides for a presentation.
For a small monthly fee, you can use your browser to access the Shopify application, which is—of course—a SaaS application.
All social media sites are also examples of SaaS applications, and while they may be free to use for the vast majority of the user base, there is a cost to the businesses that use the platforms to advertise their products.
As well as the examples given previously featuring enormous, multinational, billion-dollar corporations, there are many more examples of businesses that are supplying their software using the SaaS paradigm. There are software vendors—and from the vendors’ point of view, there are many benefits to delivering software in this way. The primary and most obvious benefit of this is that they have a huge market reach—a truly global market that they can tap into, with multiple very high ceilings on the revenues that are available. In addition, the tech team needs only support one version of the application, and the support team also only has one version to support. The vendor can push out updates, and all users will instantly be on the latest (and hopefully greatest) version of the application. In theory, at least, SaaS is a clear choice in almost every instance. However… SaaS is hard!
While the benefits to the business are many, the challenges that the team tasked with building the application will face are also many. And from the technologist’s point of view, this is where things get interesting!
But before we dive into the details of SaaS applications, let’s first consider what the alternatives are!