directory
“Cloud” is a metaphor for the Internet. “Cloud computing” is the use of the Internet to access and store or run server-side references, data, or services.
Any company that offers its services over the Internet can be called a cloud computing company. Cloud computing has three layers from the perspective of user experience, namely Infrastructure as-a-service, Platform as-a-service, and Software 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) Infrastructure as a Service
** Functions: ** In IaaS mode, users can obtain required resources such as virtual machines or storage from the supplier to load related applications, while the tedious management of the infrastructure is handled by the IaaS supplier. IaaS can support a wide range of applications on virtual machines through it. The main users of IaaS are system administrators.
** Main products include: Amazon EC2, Linode, Joyent, Rackspace, IBM Blue Cloud, Cisco UCS, etc.
Function:
- Resource abstraction: Physical resources can be better scheduled and managed using resource abstraction (for example, resource pooling)
- Resource monitoring: By monitoring resources, the efficient operation of the infrastructure can be ensured
- Load management: Through load management, applications deployed on the infrastructure can better cope with emergencies and make better use of system resources
- Data management: For cloud computing, data integrity, reliability, and manageability are rightIaaSBasic requirements of
- Resource deployment: That is, automating the entire resource process from creation to usage
- Safety management:IaaSThe primary goal of security management is to ensure that the infrastructure and the resources it provides can be accessed and used legally
- Billing management: Detailed billing management enables users to use resources flexibly
PaaS (Platform as a Service
* * : * * through the PaaS this mode, the user can in a including the SDK, documentation, and testing environment, the development of the platform is very convenient to write application, and whether the deployment, or at run time, users have no need for the server, operating system, network and storage resources such as the management, the PaaS supplier is responsible for handling all the tedious work, Moreover, PaaS is very impressive in terms of integration rate, for example, a server running Google App Engine can support thousands of applications, that is, PaaS is very economical. The primary users of PaaS are developers.
** Main products include: Google App Engine, Force.com, Heroku and Windows Azure Platform.
Function:
- Friendly development environment: by providingSDKandIDEAnd other tools to allow users to easily in the local application development and testing
- Rich services:PaaSPlatform toAPIProvides a variety of services to upper-level applications in the form of
- Automatic resource scheduling: Also known as scalability, this feature will not only optimize system resources, but also automatically adjust resources to help the applications running on it better cope with sudden traffic
- Fine management and monitoring: passPaaSThe ability to provide application-level management and monitoring, such as the ability to observe application performance and specific values (such as throughput and response time) to better measure application health, and the ability to accurately measure the resources consumed by application usage for better billing
Software as a Service (SaaS
How it works: With SaaS, users can use applications running in the cloud directly from a web connection and a browser, without having to worry about installation and costly initial hardware and software investments. SaaS is primarily aimed at ordinary users.
** Products: Salesforce Sales Cloud, Google Apps, Zimbra, Zoho, IBM Lotus Live, etc.
Function:
- Anytime, anywhere access: Users can access this anytime, anywhere, as long as they are connected to the InternetSaaSservice
- Support open protocols: By supporting open protocols (e.gHTML4/5), which can be convenient for users
- Security guarantee:SaaSVendors need to provide security mechanisms not only to keep user data in the cloud completely secure, but also to implement security mechanisms on the client side (e.gHTTPS) to protect users
- More households (Multi-Tenant) mechanism: Through the multi-household mechanism, not only can the large scale of users be supported more economically, but also can provide a certain degree of customization to meet the special needs of users
Four, the relationship between the three
The relationship between them can be analyzed from two main perspectives: one is from the perspective of user experience. From this perspective, the relationship between them is independent because they are facing different types of users. The second is technical. From this point of view, they are not a simple inheritance relationship (SaaS based on PaaS and PaaS based on IaaS), because SaaS can be based on PaaS or directly deployed on Top of IaaS, and PaaS can be built on top of IaaS or directly on physical resources.
Comparison between IaaS and PaaS
A PaaS provides a development and running platform as a service for users, while an IaaS provides VMS or other resources as a service for users. Next, PaaS and IaaS are compared in seven areas:
- Development environment:PaaSAlmost all of them provide developers with a complete set ofIDEWithin the development and test environment, whileIaaSIn terms of users, they mainly use the development environment they are familiar with before, but it is not very convenient to use because of the lack of integration between the development environment and cloud
- Supported applications: BecauseIaaSIt mainly provides virtual machines, and ordinary virtual functions support a variety of operating systems, soIaaSThe range of supported applications is very wide. But if you want an application to run somewherePaaSPlatforms are not an easy task, because not only do you need to ensure that the application is based on the language that the platform supports, but you also need to ensure that the application only calls the API that the platform supports, if the application calls the API that the platform does not supportAPI, then the application needs to be modified
- Open standards: A lot thoughIaaSPlatforms have some proprietary features, but becauseOVFThe existence of such an agreement makesIaaSThere is steady progress in cross-platform and avoiding vendor lock-in. whilePaaSThe platform situation is not so good, because bothGoogletheApp Engine, orSalesforcetheForce.comThere is a certain amount of private ownershipAPI
- Scalability:PaaSThe platform automatically adjusts resources to help the applications running on it better cope with sudden traffic. whileIaaSPlatforms require developers to manually adjust resources to cope
- Integration rate and economy:PaaSPlatform integration rate is very high, for examplePaaSThe representative of theGoogle App EngineCan host thousands of applications on a single server, while ordinaryIaaSThe platform integration rate does not exceed 100 at best, and is generally around 10, makingIaaSIs less economical thanPaaS
- Billing and regulation: becausePaaSThe platform has not only achieved billing and regulationIaaSThe operating system level that the platform can reach, for example,CPUAnd memory usage, but also application level, for example, application response time (Response Time) or how many transactions the application consumes, which improves billing and management accuracy
- Learning difficulty: Because inIaaSThe above development and management of applications is close to the existing way, whilePaaSThe above development may require learning a new language or new framework, soIaaSIt’s less difficult to learn
PaaS | IaaS | |
---|---|---|
The development environment | perfect | ordinary |
Supported Applications | Co., LTD. | wide |
generality | The lack of | Slightly better |
scalability | Automatic telescopic | Manual scaling |
Integration rate and economy | High integration rate, more economical | Low ZhengGeLv |
Billing and Supervision | fine | simple |
Learning difficulty | A little difficult | low |
IaaS and PaaS future
In today’s cloud computing environment, IaaS is very mainstream, whether Amazon EC2, Linode or Joyent, etc., all have a place, but with Google App Engine, The introduction of PaaS platforms, such as Salesforce’s Force.com and Microsoft’s Windows Azure, has brought PaaS to prominence. Speaking of the future of the two, especially the competition between the two, I personally believe that IaaS will be the first choice of developers in the short term due to the advantages of IaaS model in terms of supported applications and learning difficulty. However, in the long term, Due to the high integration rate and economy of PaaS, PaaS will replace IaaS as the “new darling” of developers if it can solve the challenges such as versatility and supported applications.
The relationship between them can be analyzed from two main perspectives: one is from the perspective of user experience. From this perspective, the relationship between them is independent because they are facing different types of users. The second is from a technical point of view, from which they are not a simple inheritance.
Wechat search: Full stack Xiao Liu, get the PDF version of the article
This article is formatted using MDNICE