Platform as a Service (PaaS) offering. PaaS says “send me the code and I will run it for you”.
infrastructure as a Service (IaaS)
“ |
is one type of cloud computing in which a vendor offers various infrastructure components such as hardware, storage, and other fundamental computing resources.[1] |
Infrastructure as a Service
Some vendors provide the infrastructure to build solutions, and you rent the hardware such as servers, load balancers, a firewall, and cables. You then configure these remotely and install your solutions on them. You can scale up by requesting more servers and reconfiguring the load balancer without purchasing more hardware. You can scale down at any time by reconfiguring the infrastructure you rented from the cloud service provider. This vendor approach is called Infrastructure as a Service (IaaS) because a customer can rent the infrastructure without having to forecast and provision for the highest possible demand in advance. In this approach, you are responsible for correctly configuring the rented infrastructure.
These are the most important points to remember about IaaS:
- The lower levels of the stack are managed by the vendor.
- Very few vendors actually provide an operating system. You are still responsible for managing everything, from the operating system to the applications.
- The obvious benefit of IaaS is that it frees you from the concerns of provisioning many physical or virtual machines.
Software as a Service
In another approach, you can rent a service offered by the vendor and then configure the service by using the interface provided by the vendor, without having to know what infrastructure the vendor uses to provide that service. This approach is called Software as a Service (SaaS) because you pay to use defined services. For example, Microsoft Exchange Online carries a per-mailbox charge. To configure it, you use a web application supplied by the vendor to request mailboxes, and name and dimension them. You receive a password for that user and nothing else is necessary—users can access their mailboxes immediately.
This proposed interface has little in common with the on-premises version of Microsoft Exchange. In an SaaS model, you do not have control over nor are you responsible for the hardware on which the service is installed. Similarly, you have no control over the operating system that runs the service, nor any control over the software apart from what the web user interface exposes to you. In other words, a vendor provides everything required to run the application, shielding you from all the underlying components.
Platform as a Service
The third approach is Platform as a Service, or PaaS. In this approach, you rent a platform on which you deploy your applications without configuring the infrastructure and without the limitations of the SaaS approach.
The Wikipedia definition for PaaS is as follows (Wikipedia, Platform as a Service, 2011,http://en.wikipedia....rm_as_a_service):
...the delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.
PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshaling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services may be provisioned as an integrated solution over the web.
The Windows Azure platform fits best in the PaaS category, because it doesn’t provide access to the underlying virtualization environment or operating system details such as the network interface, IP configuration, and disk management.
The key concepts to remember when dealing with PaaS are:
- The platform vendor provides and manages everything, from the network connectivity to the runtime.
- PaaS offerings reduce the developer burden by supporting the platform runtime and related application services.
- Developers can begin creating the business logic for applications almost immediately.
- PaaS, compared to traditional hosting solutions, offers the potential for significant productivity increases, because the cloud provider manages all the hardware and operational aspects of the cloud platform.