What exactly are IaaS, PaaS, and SaaS? This article explains these lofty concepts in the most colloquial terms.
“Cloud services” is now almost a household word. If you don’t know the difference between PaaS, IaaS and SaaS, that’s fine, because a lot of people don’t. “Cloud” is actually a metaphor for the Internet. “Cloud computing” is actually the use of the Internet to access applications, data, or services stored or run on remote servers. Any one using an Internet-based approach
Any company that uses an Internet-based approach to computing, storage, and development can technically be called a cloud company. However, not all cloud companies are created equal. Not everyone is a CTO, so sometimes it can be a bit of a headache to see the words behind the cloud.
Clouds are also layered
Any company that offers its services over the Internet can be called a cloud computing company. Cloud computing has several layers: Infrastructure, Platform, Software, and as-a-service. Infrastructure is at the bottom, platforms are in the middle, and software is at the top. Other “soft” layers can be added on top of these layers.
IaaS: Infrastructure-as-a-Service
The first layer is called IaaS, sometimes called Hardware-as-A-Service, and a few years ago if you wanted to run enterprise applications in your office or on your company’s website, you had to buy servers or some other expensive Hardware to control the local applications and get your business running.
But now with IaaS, you can outsource your hardware somewhere else. IaaS companies provide off-site servers, storage, and networking hardware that you can rent. Saving on maintenance costs and office space, companies can leverage this hardware to run their applications at any time.
Some of the big IaaS companies include Amazon, Microsoft, VMWare, Rackspace and Red Hat. But these companies have their own expertise. Amazon and Microsoft, for example, offer you more than IaaS. They also lease their computing power to you to host your website.
PaaS: platform-as-a-Service
The second layer is called PaaS, sometimes called middleware. All of your company’s development can be done in this layer, saving time and resources.
PaaS offers a variety of web-based solutions for developing and distributing applications, such as virtual servers and operating systems. This saves you money on hardware and makes it much easier to collaborate between scattered studios. Web application management, application design, application hosting, storage, security and application development collaboration tools.
Some of the big PaaS providers are Google App Engine,Microsoft Azure, Force.com,Heroku, Engine Yard. Recent start-ups include AppFog, Mendix and Standing Cloud
SaaS: software-as-a-Service
The third layer is called SaaS. This layer is the one that touches your everyday life, mostly through a web browser. Any application on a remote server can run over the network, which is SaaS.
The services you consume enter these categories entirely from web sites such as Netflix, MOG, Google Apps, Box.net, Dropbox or Apple’s iCloud. Although these web services are used for business, entertainment or both, they are part of the cloud.
Some SaaS applications for business use include Citrix’s GoToMeeting, Cisco’s WebEx, Salesforce’s CRM, ADP, Workday, and SuccessFactors.
First, the difference of definition level
Cloud computing is a form of obtaining computing resources on demand through the Internet. These computing resources are packaged as services and provided to users. The main body that provides these services is called Cloud Service Provider. According to the definition of NIST (National Institute of Standards and Technology), there are three main types of cloud services, namely IaaS, PaaS and SaaS.
- IaaS (Infrastructure as a Service) : Users can deploy and run any software, including operating systems and application software, on the Infrastructure provided by cloud service providers. Users do not have the right to manage and access the underlying infrastructure, such as servers, switches, hard disks, etc., but they have the right to manage the operating system, storage content, install management applications, and even manage network components. In short, IaaS allows users to manage all functions on top of the operating system. Common IaaS services include virtual machines, virtual networks, and storage.
- PaaS (Platform as a Service) : PaaS provides users with the ability to create, develop, and deploy applications on their associated infrastructure using programming languages, libraries, services, and development tools supported by cloud service providers. Users do not need to manage the underlying infrastructure, including networks, servers, operating systems, or storage. They can only control applications deployed on operating systems in the infrastructure and configure configurable parameters for the environment hosted by the application. Common PaaS services are database services, Web applications, and container services. Mature PaaS services will simplify developers, provide complete PC and mobile software development kits (SDKS), have rich development environments (Inteli, Eclipse, VS, etc.), fully managed database services, configurable application building, support multi-language development, oriented to the application market.
- Software as a Service (SaaS) : SaaS provides users with the ability to use applications from cloud Service providers running on cloud infrastructure. Applications can be accessed from a variety of client devices through lightweight client interfaces such as web browsers (for example, Web-based E-mail) or program interfaces. Users do not need to manage or control the underlying cloud infrastructure, including network, servers, operating systems, storage or even individual application functions, with the possible exception of limited user-specific application configuration Settings. Similar services include Dropbox, Baidu, JIRA, GitLab, etc. The providers of these applications are not only cloud service providers, but also numerous third-party providers (ISV: Independent Software Providers).
Here, the differences among IaaS, PaaS and SaaS are further explained by using the example of automobile. Suppose you need to go out and use transportation, we have four options:
On – premise plan:
Drive yourself, need to maintain the car, is its safe work. They also need to insure and fuel the car. (Server + OPERATING system/database + application software)
IaaS:
Rent a car from the car rental company, the car maintenance, security check are borne by the car rental company. You only need to provide fuel (OS + app required)
PaaS:
In addition to the infrastructure (cars), it also provides you with drivers. It’s like a taxi. Just provide the destination, and the driver decides where the car goes and runs. (Just provide the application software).
SaaS:
Similar to rail transit, everything is controlled by someone else. There is less customization.
The current mainstream IaaS, PaaS and SaaS products are shown below:
In addition, the current mainstream deployment modes of cloud computing are divided into three categories:
- Private Cloud/On Premise: A Private Cloud is a Cloud infrastructure operated by a single organization. It can be managed internally, by a third party, or hosted internally or externally. To put it simply, a private cloud is a server room or data center that is built or rented. The service is for private networks or VPN private networks. The enterprise has full control over servers and data disks. So it’s very safe.
- Public Cloud: Public Cloud services are exposed to the Public network and may be free. Because the network is public, so from the security level is also very different. Common public clouds include AWS, Microsoft Azure, Ali Cloud and so on.
- Hybrid Cloud: A Hybrid Cloud is a combination of two or more clouds (private, community, or public) that remain distinct entities but are bound together, providing the benefits of multiple deployment models. Hybrid clouds also mean the ability to connect to collocated, hosted and/or dedicated services using cloud resources. A common example is a data company, which may have a lot of data, but the data can only be stored in a private environment for compliance reasons. When large-scale machine learning is needed, the public cloud is used for large-scale learning after desensitization of the data.