PaaS is a cloud computing service that uses virtualization to offer an application-development platform to developers or organizations. This platform includes computing, memory, storage, database and other app development services. PaaS solutions can be used to develop software for internal use or offered for sale.
PaaS technology offers a company virtual infrastructure, such as data centers, servers, storage and network equipment, plus an intermediate layer of software, which includes tools for building apps. Of course, a user interface is also part of the package to provide usability.
Customers can deploy PaaS in one of three different cloud deployment models defined by the National Institute of Standards Technology (NIST) as follows:
Private Cloud: The development platform is built on infrastructure that is provisioned for exclusive use by a single organization comprising multiple consumers. The infrastructure may be owned, managed and operated by the organization, a third party or some combination, and it may exist on or off premises.
Public Cloud: The development platform is built on infrastructure provisioned for use by multiple organizations (also known as a multi-tenant model). The infrastructure may be owned, managed and operated by a business, academic or government organization, or some combination. It exists on the premises of the cloud provider.
Hybrid Cloud: The development platform is built across both public cloud and private cloud. The two cloud models remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability. Hybrid cloud is rarely used for PaaS solutions.
Advantages include the following:
- Cost Effective: No need to purchase hardware or pay expenses during downtime
- Time Savings: No need to spend time setting up/maintaining the core stack
- Speed to Market: Speed up the creation of apps
- Future-Proof: Access to state-of-the-art data center, hardware and operating systems
Increase Security: PaaS providers invest heavily in security technology and expertise
Dynamically Scale: Rapidly add capacity in peak times and scale down as needed
Custom Solutions: Operational tools in place so developers can create custom software
Flexibility: Allows employees to log in and work on applications from anywhere
Challenges of PaaS Technology
There are always two sides to every story. While it’s easy to make the case for PaaS, there’s bound to be some challenges as well. Some of these hurdles are simply the flip side of the positives and the nature of the beast. Others can be overcome with advanced planning and preparation.
Challenges may include the following:
- Vendor Dependency: Very dependent upon the vendor’s capabilities
- Risk of Lock-In: Customers may get locked into a language, interface or program they no longer need
- Compatibility: Difficulties may arise if PaaS is used in conjunction with existing development platforms
- Security Risks: While PaaS providers secure the infrastructure and platform, businesses are responsible for security of the applications they build
The building blocks of a typical PaaS include:
Managed infrastructure: The provider manages the servers, storage, data centers, and networking resources required to run your application.
Design, testing, and development tools: An integrated development environment brings together the tools required to actually build software, including a source-code editor, compiler, and debugger. Some providers also include collaboration tools that let developers share and contribute to each other’s work.
Middleware: A PaaS often includes the tools required to integrate various operating systems and user applications.
Operating systems and databases: A PaaS provides the operating systems for applications to run on, as well as a variety of managed database options.
Among the leading providers are PaaS Amazon Web Services (AWS), Google Cloud, Microsoft Azure, Red Hat, and Saleforce’s Heroku.
The Big Three cloud providers of AWS, Microsoft Azure, and Google Cloud have all made major investments into easing adoption of their services over the past decade, bringing together their own cloud components into an opinionated PaaS for easier adoption.
Some of the leading PaaS options still on the market today include the following :
AWS Elastic Beanstalk
One of the first PaaS options, AWS Elastic Beanstalk enables quick deployment and management of cloud applications without having to learn about the underlying infrastructure. Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.
Cloud Foundry is an open source PaaS governed by the Cloud Foundry Foundation (CFF). It was originally developed by VMware and then transferred to Pivotal Software, a joint venture of EMC, VMware, and General Electric, before transferring to the CFF in 2015. Cloud Foundry is designed for building and running container-based applications, using Kubernetes for orchestration.
Google App Engine
Google App Engine is a PaaS offering for developing and hosting web applications in Google-managed data centers. Applications are sandboxed, run, and scaled automatically across multiple servers.
Microsoft Azure App Service
Microsoft Azure App Service is a fully managed PaaS that combines various Azure services into a single platform.
PaaS provides a lot of flexibility. It allows you to develop the space you own better and use it fully and efficiently. Instead of creating everything from scratch (IaaS) or using a space by predetermined software (SaaS), utilizing PaaS provides an ease of customization and implementation that is unparalleled.