The computing services are broadly divided into three categories – Software as a Service, Platform as a Service and Infrastructure as a Service. Based on the requirement users can opt for any of the services.
SaaS (Software as a service) –
- Uses multi-tenant architecture to deliver a single application through the web browser to thousands of customers. This service is platform-independent with no installation of software.
- On the customer side, it means no heavy investment in servers or software licensing; on the provider side, with just one application to maintain, the cost is low compared to conventional hosting.
- All the computing resources responsible for delivering SaaS are entirely managed by the vendor. So under SaaS, the software publisher (seller) runs and maintains all necessary hardware and software while the customer accesses the applications through the Internet.
– Google docs are also a very nice example of SaaS where the users can create, edit, delete and share their documents, spreadsheets or presentations whereas Google has the responsibility to maintain both software and hardware.
- This service is accessible via a Web browser or Lightweight client applications.
More precisely– This is like borrowing a reference book from a library. You go, read the book, return it and come back i.e, you use the software available online, and that’s it.
Common examples: Google Apps, Zoho Office.
PaaS (Platform as a service) –
- Delivers a development environment as a service.
- It surrounds the environment where users can build, compile and run their programs without worrying about the underlying infrastructure that supports transactions, uniform authentication, robust scalability and availability.
- In this model, users manage data and application resources. All other resources are managed by the vendor.
More precisely, This is like ordering in a fast food joint like a subway. You have your choice of toppings, but they’re only a few bases for the toppings – a bowl, or bread i.e, the computers that you get in a PaaS offering, have a fixed OS and software stack. You can run your software on top of this. For example, you can deploy any code on top of the Google app engine.
Common examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Google App Engine, Apache Stratos.
IaaS (Infrastructure as a Service) –
- Infrastructure as service or IaaS is the basic layer in the cloud computing model. With Iaas, you rent IT infrastructure like servers and virtual machines (VMS), storage, networks, operating systems—from a cloud provider on a pay-as-you-go basis.
- In this model, users manage data, application, run time, middleware. All other resources such as data storage, virtualization, servers, and networking are managed by the vendor.
More precisely, IaaS is analogous to buying furniture from Amazon. You are given all the materials, you need to build it yourself i.e, you are given a computer without even an OS on it, and you can install the OS and all the software on top of it as you wish.
Common examples: Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE) are some popular examples of Iaas.
Deployment Models in Cloud Computing: