SaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet. SaaS is generally used to refer to business software rather than consumer software, which falls under Web 2.0. By removing the need to install and run an application on a user’s own computer it is seen as a way for businesses to get the same benefits as commercial software with smaller cost outlay. SaaS can alleviate the burden of software maintenance and support but users relinquish control over software versions and requirements. Other terms that are used in this sphere include Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). A public cloud sells services to anyone on the Internet. A private cloud is a proprietary network or a data center that supplies hosted services to a limited number of people. All the major companies have come up with their own code based or non-code based cloud computing frameworks.

Some of the most prominent code-based frame works are:
• Java Google web Toolkit (Google App Engine).
• Python Djangno (Google App Engine)
• Ruby on Rails
• Microsoft.NET (Azura Service Platform)

Fig1Cloud Computing-Software_decrypted-2
Figure 1 : SaaS Structure

When a service provider uses public cloud resources to create their private cloud, the result is called a virtual private cloud. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services. SaaS is one of the methodologies of Cloud Computing, which is based on a “one-to-many” model whereby an application is shared across multiple clients. The exact definition of software as a service (SaaS) is open to debate, and asking different people would probably result in different definitions. Everyone believe that SaaS is going to have a major impact on the software industry, because software as a service will change the way people build, sell, buy, and use software. For this to happen, though, software vendors need resources and information about developing SaaS applications effectively. Still, most experts would probably agree on a few fundamental principles that distinguish SaaS from traditional packaged software on the one hand, and simple websites on the other. Expressed most simply, software as a service can be characterized as “Software deployed as a hosted service and accessed over the Internet.” Software as a service (or SaaS) is a way of delivering applications over the Internet-as a service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management. SaaS applications are sometimes called Web-based software, on-demand software, or hosted software. Whatever the name, SaaS applications run on a SaaS provider’s servers. The provider manages access to the application, including security, availability, and performance. SaaS customers have no hardware or software to buy, install, maintain, or update. Access to applications is easy: you just need an Internet connection. This types of cloud computing delivers a single application through the browser to thousands of customers using a multitenant architecture. On the customer side, it means no upfront investment in servers or software licensing; on the provider side, with just one app to maintain, costs are low compared to conventional is by far the best-known example among enterprise applications which provide CRM solutions as SaaS, but SaaS is also common for HR apps and has even worked its way up the food chain to ERP, with players such as Workday. Beside these, some of the desktop applications like Google Apps and Zoho Office had made their mark in the market.