I assume that all of us are familiar with SaaS (Software as a Service) solution.
While moving or building new software in SaaS fashion there are many considerations regarding architecture and software development.
It starts from the need to be able to support high availability and distributed system from the beginning and ends up by decoupling front end from server side.
Many organizations and software products should do complete mind shift and re-write of their code while moving from on-premise solution to SaaS one.
Apart from code changes it requires also mind shift in DevOps and build operations. Continues Integration (CI) is a must in SaaS and gradual deployment is key factor.
I found out that one of the biggest advantages of SaaS is the maintenance and upgrade flow.
In most of the cases product lead company has tens or hundreds of companies that requires maintenance and support for their product.
It’s obvious that each set of customers have specific product release differ from other customers.
Maintaining tens of different releases and sub-releases on many customers is in most of the cases night mare.
It’s taking time to release the specific software, debug and fix each and every branch.
While implementing SaaS with the right DevOps and CI it’s enable you full control on all customers.
As a manager you can decide which customers will get the new release and be served as ‘beta’ testers for rest of the customers and which one can stay with previous release for couple of weeks.
Deployment is done from one centralized place without customer IT issues and headache.
This is of course under the assumption you choose the right infrastructure and right tools to deploy. We’ll deal with it in one of our nearest posts.
If you’re already deploying SaaS solutions I’ll be happy to hear your voice and feedback on below or in my LinkedIn page.
Have a great week,