2. August 2022 By Malte Michaelis
Setting up and operating a system landscape in an SaaS environment
As previously indicated by my colleague Dimitrios Archontakakis in his blog post, I’ll be describing the technical foundations of a Software-as-a-Service (SaaS) solution as well as defines the terms ‘SaaS’ and ‘cloud’ and exploring the differences and similarities between them. Along with that, I will also discuss typical architectures in the SaaS environment.
Defining the billing model is an important step when planning an SaaS project. I’ll describe what to look for in the models and what the special challenges are when it comes to SaaS.
Technical differences between a system landscape in the cloud and one in SaaS
SaaS is a cloud component. Cloud computing makes it possible to customise and manage software applications on external servers. The cloud was developed to share data faster and more efficiently. Technological advances have made it possible for entire servers and storage to be hosted in the cloud as part of Infrastructure-as-a-Service (IaaS).
The cloud offers three service models, as described in my colleague’s blog article, one of which is SaaS. Cloud additionally includes items like infrastructure and hardware, while SaaS focuses specifically on the availability of the hosted software. In SaaS, the software is not only provided over the Internet, but it is also ready to use immediately. Broadly speaking, an SaaS-based application is any software that is not operated at a company’s own premises. With a few exceptions, this means that most SaaS-based products run via a web browser or similar and are hosted in the cloud.
In his blog article on the SOLID principles, my colleague Harun Sevinc explored the topic of the single-responsibility principle, which states that things that change for similar reasons belong together and things that change for different reasons should be kept separate. This principle is also frequently employed in the SaaS environment.
Most modern SaaS architectures are based on microservices, which are small programs that provide a single service and have few dependencies on other services, commonly referred to as loose coupling. Each service can be developed, rolled out and maintained separately.
Because the individual services are small, they can be developed from the beginning by one or more small teams. These teams are kept separate by way of service boundaries, making it easier to ramp development work up as needed. Once the services have been developed, they can be made available and/or deployed separately, meaning that popular high-load services are easy to identify and can be scaled independent of the overall application.
Microservices also offer better protection against errors. By isolating the services, the entire application does not necessarily fail if there is an issue with one or several of them. Once the bug is fixed, the change can be deployed for the service in question only, rather than having to roll out an entire application again.
Before a company decides to add SaaS to their portfolio of IT services, it first needs to consider the implications from a risk management perspective. Integration and composition are two critical components of an architectural strategy when it comes to integrating SaaS into a service-centric IT infrastructure.
SaaS often provides pre-designed software under a monthly or annual subscription, without being responsible for software maintenance. Finding the right balance between value and revenue – in other words, being able to assist customers and receive fair compensation for doing so – often determines whether or not an SaaS provider succeeds.
This is why there are many different models to facilitate billing. I’ll outline three common models here:
- Flat-rate prices are probably the simplest way to market an SaaS solution, whereby a single product, set of features and price is offered.
- Most companies use a tiered pricing model. In essence, tiered pricing allows companies to offer multiple ‘packages’ with different combinations of features at different prices.
- Thanks to a number of high-profile success stories, many SaaS providers opt for freemium pricing. Under such a model, they offer a free product that is supplemented by additional packages that are available for a fee.
There are other models, too, though these are often more specialised. One such example is use-based pricing, which is more commonly used in other cloud-related areas, specifically in IaaS.
SaaS can help increase the overall return on investment (ROI) since the cost of deploying and maintaining SaaS-based applications is often lower. Cost efficiency remains one of the main advantages of SaaS, because it lowers the total cost of ownership (TCO) and increases margins for B2B and B2C enterprises.
The right way to deploy SaaS
In many cases, SaaS increases the overall return on investment since it does not require the user to perform maintenance or updates. Because it is low-cost option, it has become an indispensable tool for sales, communications, customer relations and project management. In addition, opting for SaaS has a number of other advantages. SaaS providers ensure that the latest version is always being used. As SaaS continues to grow and improve, so do the benefits for consumers.
In another blog post, I will discuss the special operating models (including spot instances vs. duration instances) and release models (short cycles per service, in particular, which can greatly reduce the time to market). I will also be looking into scaling as an important component.
You will find more exciting topics from the adesso world in our latest blog posts. By the way, you can find all you need to know about our portfolio and services for the insurance industry on our website.