Businesses today increasingly rely on cloud services to manage their needs. Firms outsource email, collaborative software and cloud storage to third-party vendors. Implementing such software helps reduce overhead costs and frees up human resources. You can categorise cloud services into one of three offerings: software-as-a-service (SaaS), platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS). They are called ‘as a service’ because businesses purchase them as service products from third parties. Together, they are the cloud computing stack.
The cloud computing stack parallels traditional hosting. Historically, firms have hosted applications and software on their own private, physical networks and infrastructure – hardware, data centres and servers. The software sits on top of programming environments, which in turn sits on the physical infrastructure. The cloud provides a parallel software-platform-infrastructure alternative.
SaaS are used by end users such as employees in a business, programmers use PaaS for developing applications, and IaaS are used by network architects to design a firm’s IT systems. Higher up the stack, the consumer has fewer concerns with developing, managing and maintaining the software. Lower down the stack, the consumer has more control over how the software operates.
Both the vendor and consumer partially manage each type of service. For example, with IaaS products, the provider manages the infrastructure while in-house programmers develop the software and platform. In choosing between a SaaS, PaaS or IaaS service, businesses should consider their needs and how much control they require or can afford.
IaaS products offer the underlying framework to all the software and can be thought of as the equivalent of hardware in traditional stacks. The most well-known example is Amazon Web Services (AWS), which provides on-demand computing power, storage and networking capabilities. IaaS is very much like a data centre but without the consumer having the need to deal with capacity planning or physical maintenance. It is used to develop and deploy PaaS and SaaS software.
As the barest bones of the framework, IaaS provides the greatest control and customisability out of the three cloud computing services.
PaaS products take care of the middleware (everything between software applications and the operation system) and the hardware (servers). PaaS is a platform a programmer uses to create applications. Being one step away from SaaS, it is not a ready-made end-user application but rather a ‘coding environment’ to build such products, and which therefore affords greater customisability of the applications. Examples include Microsoft Azure and the Google App Engine.
SaaS products are the most familiar and include Gmail (for email), Salesforce (a CRM), Basecamp (for collaboration) and Dropbox (for storage). They provide an interface that businesses can immediately use and contain an unseen inbuilt platform and infrastructure. This type of software is commonly charged on a monthly or yearly basis to consumers rather than sold outright.
The vendor entirely manages and maintains these products, which also restricts how the consumer can tailor the product to their specific needs. As SaaS products are relatively generic to cater to many customers, this may or may not be an issue. For example, a CRM may contain too many or too few features than required to suit a firm’s particular business model. Such a firm may try to customise an existing CRM, build their CRM from scratch, or purchase a PaaS or IaaS solution and build a custom CRM on top.
When to Use SaaS, PaaS and IaaS
The key advantages of these three services follow from the benefits of working in the cloud. These solutions differ from traditional hosting by providing dynamic scaling and variable billing through distributed resources. Dynamic scaling means that demand for computing resources is available immediately. For example, cloud solutions can cope with sudden large traffic surges on a website. In contrast with scale traditional hosting capacity, new hardware or software may need to be acquired and installed, which may take days instead of minutes or seconds. Dynamic scaling is possible through a cloud vendor’s large distributed network of computing resources. Further, consumers only pay what they use, allowing for more cost-effective spend.
On the other hand, the fact that cloud services are hosted via the Internet on third party infrastructure possess an inherent security disadvantage. Sensitive information that external parties cannot handle whether because of internal security policies or public legislation, is not suitable for a third party cloud stack.
Another implication is that critical processes, where continuous operation is required, cannot afford the risk of downtime caused by either the Internet provider or cloud vendor, no matter how short. There are also boundaries on customisability and control as opposed to a stack created entirely in-house. Finally, the process of changing vendors or moving a solution back in-house can be very expensive and time-consuming.
Nevertheless, a third party cloud service will be appropriate in many situations. Consider using SaaS products for solutions for everyday business needs such as email and collaborative software. SaaS products are also useful if you need short-term solutions where the time to develop such solutions in-house is not justified, or if you need web applications that are likely to face unpredictable surges. If multiple developers are working on the same project from different organisations, locations or teams, PaaS solutions may be better suited. Enterprises may consider IaaS products where there are significant fluctuating demands for computing resources, concerns with scaling hardware or where there is need to move spending from capital to operating expenditure.
Cloud solutions are becoming more popular in replacing traditional stacks. From software to platforms and computing infrastructure, cloud products are set to be a staple of businesses in the future. If you are looking to find a cloud solution, examine your business needs regarding customisability, collaboration and dynamic scalability, as well as considerations around security and privacy.
How does your business use and benefit from cloud services? Let us know on Twitter or Facebook.