To implement Software as a Service (SaaS) infrastructure it is required to use cluster and grid technologies. While these technologies provide a hardware level implementation of the infrastructure, they only marginally cover the software running on the hardware platform. SaaS customers do not buy the infrastructure, but the software service that fits into their requirements, in most cases they are not even interested in the physical infrastructure. The main advantage of a cloud service is the fast resource scaling based on demand.
These applications process large amounts of data, but are quite different to the software used in the cloud (e.g. Salesforce, Gmail). Modern cloud applications usually involve a web based interface and are able to answer to requests very fast, in several hundred milliseconds. The number of requests received from customers is also high, can be tens of thousands per second. The traditional enterprise software used by organizations of all sizes might require significant computational resources, but in most cases it does not run distributed on multiple computers.
Cloud computing is a method to easily recover the financial investment and to reduce risk. It enables organizations to focus their attention and resources on the business instead of managing the vast technological resources.
The Saas cloud is built using virtualization because it provides the necessary methods to divide resources and to adjust them in real-time. In most cloud implementations nodes are virtual machines, abstracted through the virtualization Cloud SaaS infrastructure 93 technology. Virtual servers also provide resource control features, which is very important especially when powerful hardware machines with many processing units are used. This logical structure of the infrastructure allows a good scalability, reduces maintenance costs, and enables the Cloud application development integration in the hardware. The infrastructure is divided in three different layers:
Presentation layer – on this layer we have the nodes that take the requests of the clients and distribute them to the Production layer. There are utilization scenarios that allow the presentation nodes to answer to requests directly instead of forwarding them to the Production Layer.
Production layer – nodes on this layer implement the application logic. This logic is responsible for handling the requests received from the Presentation layer. These layers can auto-scale to handle the load during peak times. Cloud application development know-how can be found on this layer.
Storage layer- is responsible for data storage. It acts as a service for the Production layer. It is a vital component of the infrastructure because only at this level information can be lost or tampered.
Software as a service and cloud application development