Yesterday I wrote the blog post about What is the Cloud? and I got quite good feedback about it. Today we will take the journey to the next level and we will further discuss what is Cloud Computing. This series started when I was discussing various cloud concepts with CXOs during Comprehensive Database Performance Health Check.
Here are the blog posts in the series which you can read in order to learn more about this topic:
Basics of Computing
The success of cloud computing is because of virtualization technology. This technology has come a long way since its inceptions and most of the popular cloud vendors run their own layer of the virtualization technology to bring together all the infrastructures.
The virtualization technology actually pushes the computers to actually behaves and act like they are physical systems with the real hardware. However, in reality, all the infrastructure is actually available from single or multiple pools of the resources, which actually brings the biggest advantage of cloud computing – scalability. With the advancement in the virtualization technology now it is possible to provide isolation of the resources used by a virtual machine from another virtual machine. As a single powerful server can now host multiple virtual machines, it is an extremely cost-efficient solution as well.
Models of Cloud Computing
There are many different service models for cloud computing. Let us understand each of them in simple possible words.
Infrastructure-as-a-Service (IaaS): In this model, an organization rents the servers and storage from the cloud providers as they are needed. It is one of the most popular models of cloud computing. Once the organizations have the necessary hardware resources they can use them to build their application as they want to just like they would have done in the on-premise solution by using their own software and expertise. The popular IaaS providers are DigitalOcean, OpenStack, etc.
Platform-as-a-Service (PaaS): In this model, an organization rents or pays subscription fees for all the resources they need to build their application. They not only rent hardware but the PaaS providers also provide all the necessary development tools, operating systems, IT services along with necessary infrastructure. The popular PaaS providers are Microsoft Azure, AWS, etc.
Software-as-a-Service (SaaS): In this model, organizations pretty much uses the software or application development by cloud providers and is available to the client via the internet. The most popular model for the SaaS is a subscription model where the client pays for the application (services) consumed which are constantly managed, upgraded, and maintained by cloud providers. The popular SaaS providers are Microsoft SalesForce, getDrip, etc.
SaaS, PaaS, and IaaS were the three main models of cloud computing, and mostly all cloud services fit into one of these categories. With that said in recent years, we have another category which is a very popular Function-as-a-Service (FaaS) commonly known as serverless computing.
Function-as-a-Service (FaaS): In this model, organizations break cloud applications down into smaller components that only run when they’re needed. It is clearly a myth that serverless applications do not need servers, actually, they do need servers to run them just like any other cloud model but they are usually called serverless because they do not need dedicated machines like in other models. The organizations that are building this application are not actually are not responsible to use these servers. the most important part to remember about these services is that they are triggered by some event and only consume the server resources as long as they run reducing the expenses considerably compared to other services. The popular SaaS providers are Microsoft API Proxy, AWS Lambda, etc.
Tomorrow we will discuss the various cloud deployments.
Reference: Pinal Dave (https://blog.sqlauthority.com)