Software as a service (or SaaS) is a way of delivering applications over the Internet-as service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management. Software as a service (SaaS) is a software distribution model in which a third-party provider hosts applications and makes them available to customers over the Internet. SaaS is one of three main categories of cloud computing, alongside infrastructure as a service (IaaS) and platform as a service (PaaS).
Software development is different for SaaS companies. Product cycles are shorter, sustaining costs are dramatically reduced, and the technology used must be more current. Existing software companies with development staff more comfortable with client/server than modern web technology may need to assist their development personnel in improving their ability to do multi-tenant, web-centric software.
Bad software architecture is so much more apparent in SaaS products. On-premise products that run on dedicated servers or VMs that support a hundred or so users may not scale well when run with thousands simultaneously. Even if horizontal scaling is possible, inefficient use of resources can raise the cost of providing SaaS services above the target of 10% of the Monthly Reoccurring Revenue (MRR). Developers must also be aware of the latency issues that can cause poor performance on public clouds if proper optimization is not done.Security must be fundamental to the architecture given the nature of shared resources of many clients all behind the same firewall.