What are the different deployment models ?
To understand at a high level following are the different deployment models :
Public Cloud : Consumers of public cloud share the resources of a public data center of the vendor. ( Amazon aws is one big player in this area )
Private Cloud: Resources are dedicated to the given customer and can be hosted at vendor private network or at the customer’s personal data centers.
Hybrid Cloud: This is the combination of on premise and cloud.
Once deployed whats next ? ( Cloud Services )
One we decide on the deployment model, the next step is consuming of cloud services, and we need to decide on what services we are interested in.
Following quick set of questions can help us understand the need for different types of services
1)Are you interested in getting just a virtual machine from the vendor and you want to install your own OS, softwares and build your own products with your own stack of technologies ?
→ IAAS ( Infrastructure As A Service ) is the solution.Amazon EC2 is one example for IAAS, This is a bare virtual machine which is ready to install any OS of your choice , you can also deploy your own stack to build your own product and you don’t need to worry about the infrastructure availability, scalability,reliability etc. Total infrastructure is taken care by the IAAS provider. This service can be helpful, if you want to port your own legacy products into cloud, as you will be porting the complete stack of your own. Also to add, IAAS starts from the virtualization layer in world of cloud computing.
2) Are you interested in getting a basic infrastructure along with some Middleware services and build your own product with these provided services ?
→ PAAS ( Platform As A Service ) is the solution.The advantage that we get with this kind of service is , you can make use of ready made Middleware services and build your own product focussing on your business idea.Google FireBase Storage, Amazon DynoDB are some of PAAS services. I worked on a product using Google Firebase Storage and Database, This helped me to focus only on inserting/reading/updating data and its not necessary for me to worry about performance, software upgrade, availability etc. To summarize PASS starts with one layer above virtualization with entities like OS, middleware services etc that can be used readily.
3) You don’t want to take the headache of Infrastructure or technology stack or building a product and just want to use a product and pay for what you use ?
→ SAAS ( Software As A Service ) is the solution. The biggest advantage that you get here is you are just using the product without any hassles of maintenance , upgrades, security , scalability,reliability etc. Companies like Oracle, SalesForce, Google provide number of SAAS services. For eg you want to use Mail service for your company , don’t build anything from thing from scratch, just use Google SAAS offerings for the same. Similarly If you want to have Identity management for your organization, Oracle provides SAAS offerings like IDCS. SAP has a suite SAAS offerings ( eg: SAP Hana Finance ) for running your organization smoothly.
Conclusion:
At a High level , to summarize every cloud delivery model has its own advantages, However the choice of delivery model depends upon the kind of requirement the organization is having. Say you are a startup company and want to work on building your idea, it doesn’t make sense to focus on every basics including infrastructure, in such cases PAAS acts a good fit for you. Say you are a company who is well established and want to make seamless transition to cloud with your existing software solution, IAAS can be a best for you . Finally coming to SAAS , it can be best fit for any user who want to use or integrate existing solutions.
From my personal experience as a developer in developing a product of my idea, i prefer using PAAS( i had used google cloud features like fire base ) as it helps me to focus more on my business idea.