Talk digest : 6 winning Strategies for Agile SaaS Companies
Alexandre Morel, Chief Revenue Officer of Scaleway, will give you tips to develop your software and be more agile in facing your competition.
Before delving into the subject, it may be interesting to recall what a SaaS solution is: SaaS stands for Software as a Service. This is a method of distributing software that typically involves a subscription model to access a product, tool, or service.
With a few exceptions, these software is hosted in the cloud and can be accessed directly from a browser or mobile device, which greatly increases accessibility.
New ways of consumption:
In order to use an application or software, it was traditionally necessary to install it on its application servers. To do this, you had to have one or more employees in your company able to manage all layers, from networking to maintaining the application itself. Above all, it was often necessary to possess the infrastructure.
Then came the concepts of IaaS hosting (Infrastructure as a Service) and, a little later, PaaS (Plateform as a Service). These new ways of consuming IT resources have provided a layer of abstraction and simplification to deploy and install our or our customers' software. It is in this line of new ways of consuming IT conveniences that SaaS was born.
The problem is then simple: Allow my client to use simply my software.
No need to install it, manage updates or maintain the infrastructure.
SaaS solutions are mainly built on two types of architectures:
Multi-instance on one side and multi-tenant on the other.
“Tenant” refers to the team or organization of your customers.
We won't see them here, but there are also architectures such as single-instance, multi-instance with shared database or flex tenancy that are a little less common.
The purpose of this article is not to take the side of a particular architecture because each architecture meets different needs. So the idea is to be able to compare the two types of architecture so you can choose the one that best suits you based on your needs and those of your clients.
Note that the result will not be much different for the end user. However, it will vary greatly in the design of the system architecture, data and access, and in the configuration and management of users.
So let's look at the pros and cons of each of them starting with multi-instance architectures:
In a multi-instance architecture, several companies will run their own separate instance of the application, with their own database. Each company will therefore have access to its data separately from another.
This type of architecture provides the following benefits:
However, since no architecture is perfect, we will still note the following negative points:
Now let's look at another type of architecture, the multi-tenant. Here several companies will use a single instance of the application (which can of course be replicated if needed), with a single database. This architecture does not give much flexibility but simplifies the process of adding features and fixing code bugs.
Major advantages:
Disadvantages:
You now have the cards in hand to understand the differences between the two types of architectures.
To summarize, for my part, if I had a “fast time-to-market” problem and need to quickly develop a SaaS solution, I would rather focus on a multi-tenant architecture because it is easier to set up. On the other hand, if I needed to develop a more robust and secure solution, I would instead opt for a multi-instance architecture and benefit from total data isolation.
Kubernetes has the advantage of allowing you to build a multi-instance architecture as well as multi-tenant architecture. You will then be able to orchestrate your deployments, updates, replicate or even “self-scaling” your infrastructure. At Scaleway, we have developed a Kubernetes Managed offer:
Kubernetes Kapsule.
Let's see some must-see features:
kubectl autoscale deployment myapp —cpu-percent=70 —min=1 —max=10
myapp
deployment to scale up to 10 pods when the CPU percentage exceeds 70.Kubernetes Kapsule is a great tool for managing your cloud infrastructure. If you're having trouble scaling your application, consider moving to a Kubernetes-based architecture. You'll see a significant increase in the productivity of your DevOps in deployments, clustering, and overall stability.
This article is taken from the Webinar (in French) “Découvrez les avantages de Kubernetes pour héberger une solution SaaS”, feel free to watch it on Youtube:
Alexandre Morel, Chief Revenue Officer of Scaleway, will give you tips to develop your software and be more agile in facing your competition.
Over the past decade, many startups have been lured into believing a myth: that one cloud provider can cover all of their needs.
This article provides a curated list of great open-source projects to help you build your startup and deal with tooling, design, infrastructure, project management, cybersecurity, and more.