There are different ways businesses run applications today. Applications can be hosted and installed locally (on the client system), on each computer, and are referred to as standalone applications. They can also be set up through the client-server model where one computer acts as a server and other users connect to it through client computers. In this case, the application is mostly run from a private cloud. The third option is running applications through the public cloud and using SaaS. An entire application may be stored at a server in a data center and accessed on demand from a wide range of users and machines.
There is a thin line of difference at face value when comparing client-server apps to apps run from the cloud. Cloud providers also run a client-server model, but it is done by them and not the individual company using these services (again the term “private cloud” can apply here or a data center may not even be needed, just a single server machine.) This is why client-server strictly deals with looking at software while the term “cloud computing” relates to the hosting of the software. From a business perspective, there are three options to host applications for employees; although from an overall computing paradigm perspective there are two main ways. Something can be both hosted in a private cloud and client-server based.
Running applications from the public cloud as SaaS offers elasticity and flexibility as well as great cost savings over the other models, particularly installing outward on each user’s system. It makes the most sense for businesses that rely on many users accessing specific applications, but it also has its drawbacks. If the data center has an outage or there is no online connectivity at the business that is running apps from the cloud, the business cannot function effectively. On the other hand, it can still function relatively well by having locally-stored software or utilizing the client-server model.
Cloud Software as Saas
Despite this fact, cloud software as SaaS has many advantages. The specs the computer comes with don’t matter because the data is run from a powerful and remote server. The main thing that matters is the Web browser the user is accessing the cloud software from. So, hardware becomes less relevant. The client-server model also makes client hardware less relevant because the application is run from the server at the company using the application for employees. The hardware needs to be effective on that server aide of the equation however. When running applications locally as standalone apps, each system has to be up to par with the application it is running. However, a company can run virtual boxes through IaaS and install any software of their choosing if it wants to go that route.
Oftentimes businesses will still not rely on the cloud for applications because they are less efficient than ones obtained through local storage or the client-server model. Microsoft Office for instance, is generally known to be more robust in features than SaaS offerings like Office 365 and Google Docs. Another reason is security and loss of control for the content. Businesses may have employees enter sensitive data into apps that they may not want shared by another cloud company hosting data servers. In this case the client-server model running from their own LAN is preferred.
According to Roger Sessions’ (CTO of ObjectWatch) blog, “Organizations that take their existing three-tier, SOA, or even client/server apps and ‘port’ them to the cloud are in for an equally rude awakening. They will find that these apps are expensive to run, highly fragile, insecure, and will have poor performance.”
Sometimes it makes sense for organizations to run apps from the client-server model rather than even a private cloud. The cloud has to be maintained with tight security and is expensive. On the other hand, there is the issue of privacy and outages to deal with as well as software compatibility when it comes to relying on specific cloud providers hosting the apps.
According to InFocus, in order to run an effective cloud, businesses need to address these five criteria:
On-demand self service: This means there should be some form of self service portal with service catalog that can automatically trigger workflows for routing, approvals and automated provisioning.
Broad network access: Service is accessible via internet or company network (private cloud) using various devices such as thick/ thin clients, laptops and mobile devices.
Resource pooling: This implies timesharing of abstracted IT resources (compute, storage, network) from underlying hardware via various enabling technologies such as virtualization.
Rapid elasticity: This requires one to dynamically increase or decrease IT resources provisioned, according to changing demands, where possible, automatically.
Measured service: This means that capacity and utilization is being monitored and reported for capacity planning, demand and forecasting. It also includes monitoring and reporting service usage for the purpose of chargeback or showback.
The Cloud service should be implemented using one of these deployment models –Private Cloud, Public Cloud, Hybrid Cloud, or Community Cloud models:
This drives the enterprise architecture and infrastructure designs, implementation and sourcing strategy. Each Cloud service which you are offering to your users/customers should eventually fall into one of the three main service models — IaaS, SaaS or PaaS: The key point here is that you are offering IT as a Service which implies transforming IT to become an IT service provider and sometimes IT service broker (for the case of ublic and hybrid cloud deployment model) with the necessary service management and governance processes.
SaaS vs IaaS
This is why it can be sometimes expensive and time consuming for businesses to run their own private clouds or host their own data centers and they rely on the public cloud software (SaaS) or standalone apps on top of IaaS. To choose SaaS over client-server or IaaS and standalone software really depends on how big the business is and how much it values its privacy and security. If the business or organization is very concerned about privacy and is so huge that it needs to run hundreds of servers and thousands of client systems, the private cloud and client-server software may make the most sense. The main reason it still makes sense for businesses to run apps through the client-server model is that SaaS apps are still not up to par with traditional software.
Although one day we all may run most apps and software through the cloud, as SaaS, there is still a lot of software inaccessible that way. But the draw of the cloud is its elasticity and affordability. We do not need to purchase a full standalone suite for each employee when running cloud software either as SaaS or through client-server (although licenses fees in that case apply per each employee).