What is Platform as a Service (PaaS)?
Platform as a Service (PaaS) is a cloud computing model that enables you to rent the tools, infrastructure and operating systems required to build an application, simplifying web application development.
In This Article
How does PaaS work?
The PaaS model works by removing the complexity of building app infrastructure. Instead of building cloud services yourself, you rent middleware, operating systems, runtime environments and servers from a PaaS provider.
Common components of PaaS include:
- Databases: A PaaS provider looks after the administration and maintenance of databases and provides a database management system to your developers.
- Development tools: A PaaS vendor provides everything your developers need to build your application. This typically includes software development tools, such as a compiler, debugger and source code editor.
- Middleware: The PaaS model usually includes middleware, which is software that sits between an operating system and the applications that run on it. Data can flow freely, enabling communication and data management services to power features such as web browser forms and dynamic web pages.
- Operating systems: A PaaS vendor provides and maintain operating systems that your developers work on and your application runs on.
Why should I use PaaS?
There are a range of reasons why companies today opt to go the PaaS route. While the use cases and motivations can differ across organizations and industries, PaaS is typically used for:
- Analytics and business intelligence: PaaS provides tools that enable you to analyze data for patterns and insights. This helps you make informed business decisions around forecasting, investment and product design.
- Application services: PaaS also enables you to benefit from other services, such as directory, scheduling, security and workflows.
- Simplified web development: PaaS offers your developers a framework they can use to customize and develop cloud-based applications. Developers gain built-in software components and cloud features like availability and scalability, which reduces the amount of coding they need to do.
What are the advantages of PaaS?
PaaS offers critical development advantages, including:
- Reduced coding time: PaaS development tools reduce the time it takes your developers to write code for new apps by providing pre-coded components.
- Development capabilities: These PaaS components, such as directory, search, security and workflow services, enable your development team to upskill their abilities and avoid staff augmentation costs.
- Multiple platform development: A PaaS provider enables quick and easy development options across various platforms, such as browsers, computers and mobile devices.
- Affordable access to sophisticated tools: The PaaS model’s pay-as-you-go approach enables you to use sophisticated development tools, such as software, analytics and business intelligence, which aren’t usually affordable to purchase.
- Distributed development: Your development teams can access the environment via the Internet, enabling them to work on projects regardless of their geographic location.
- Efficient application management: The PaaS model gives you access to everything you need to support the entire lifecycle of your application. This includes building, deploying, managing, testing and updating the app — all in the same integrated environment.
What are the downsides of PaaS?
No solution is perfect. Despite the benefits, the PaaS model can present challenges. Depending upon your specific pain points and what type of disruptions are the most problematic for you, the priority of these issues will differ.
Some may be non-starters; others might just be minor annoyances. Still, it is always important to understand what you're getting into.
Specifically, be on the lookout for:
- Security and compliance: A PaaS vendor is responsible for storing data, including code and potentially databases, and often does so through third-party providers. As a result, you could encounter difficulties with assessing and testing app and data security and verifying vendors’ compliance with data-security regulations.
- Vendor dependency: Small changes in a vendor’s own infrastructure or processes could hugely impact the performance of your application. Also, changes to a vendor’s pricing models could suddenly make it more expensive to manage and operate.
- Vendor lock-In: The PaaS model is often built explicitly for a vendor’s platform and designed for use with its own tools. Different providers might not support the same architecture, APIs, languages and operating systems — making it difficult to switch vendors or require heavy rebuilding.
What should I use PaaS for?
The PaaS model is ideal if you want to quickly roll out highly customized apps that boost customer engagement and enable business innovation. It provides a flexible and scalable framework, which allows developers to start small and scale apps to handle greater demands.
PaaS allows developers to build apps using their preferred programming language. They can also run any type of app, from mobile, web and Internet of Things (IoT) apps to APIs connecting their programs and systems.
Apps built on the PaaS model can also be backend services that provide push notifications and user authentication functions. PaaS makes it easier to rapidly deploy these services, even if they’re built using various programming languages and frameworks.