PaaS: Advantages and Disadvantages
Advertisement
This page explores the advantages and disadvantages of Platform as a Service (PaaS) and provides a basic overview. It covers the benefits and drawbacks of using PaaS.
What is PaaS?
Introduction: PaaS provides an environment where users can create their own web applications. It offers a runtime environment for applications, development, and deployment tools. Essentially, it provides all the necessary resources to support the complete lifecycle of building and delivering web applications and services entirely over the internet.
Figure 1 shows the tasks typically performed by PaaS.
An application written in Python for Google’s API engine, for example, is likely to function correctly only within that specific environment.
Examples of PaaS Vendors:
- Azure by Microsoft
- App Engine by Google
- Force.com by SalesForce
- Amazon Web Services
- Joyent
- Rackspace
- 3Tera Inc. (Acquired by CA)
Developers can log in to these platforms and use the built-in APIs to create web-based applications.
Benefits or Advantages of PaaS
Here are the advantages of using PaaS:
- Cost-Effective: Compared to Infrastructure as a Service (IaaS), PaaS can be more cost-effective because customers are essentially leasing a software platform rather than raw computing resources.
- Software Choice and Control: Developers have the freedom to run their preferred software on the platform, while maintaining full control over that software’s configuration.
- User Access Control: PaaS offers complete control over who can access the software and how data is processed.
- Improved Integration Support: PaaS offers better integration support with other systems.
- Minimal VM Management: Customers have reduced VM management overhead, as this is primarily handled by the PaaS provider.
Drawbacks or Disadvantages of PaaS
Here are the disadvantages of using PaaS:
- Limited Control over VM and Data Processing: Customers lack control over the underlying Virtual Machines (VMs) and the specifics of data processing. This can create security concerns since the user isn’t fully aware of what’s happening with their data at a lower level.
- Platform Dependency: Customers have no direct control over the platform itself, as it’s managed by the cloud provider.
- Shared Platform Risk: PaaS often operates as a shared platform. For example, multiple publishers might run their websites on the same IIS platform. This can potentially lead to resource contention or security vulnerabilities affecting multiple tenants.
- Management Overhead: Managing and updating applications can become tedious and time-consuming, as customers are responsible for application updates and upgrades.
- Cost-Effectiveness Compared to SaaS and IaaS: PaaS is often not as cost-effective as Software as a Service (SaaS). It also lacks the granular control over VMs that IaaS provides.
- Lack of Portability: Moving between different PaaS clouds can be challenging due to vendor lock-in and differing platform features.
- Event-Based Processor Scheduling: Depending on the platform, processor scheduling might be event-based, which can introduce latency or unpredictability.
- Security Engineering Challenges: Security engineering of PaaS applications requires a solid understanding of the PaaS environment and its specific security mechanisms.