What is PaaS?
Platform as a Service is a type of cloud-computing technology that provides businesses and developers with the infrastructure and middleware on top of which they can run their apps and services. Instead of heavily investing in infrastructure and maintenance, the user can simply subscribe to the resources on as-needed basis. PaaS saves businesses from having to deal with the cost and complexity of setting up, configuring and maintaining the infrastructure required to run apps. Examples of PaaS include:
- aPaaS: Application Platform-as-a-Service e.g. Salesforce aPaaS built at a service level in which APIs provide access to certain functions, and integrate with other systems such as databases.
- BIaaS: Business Intelligence/Analytics as a Service E.g. Tableau
IaaS vs. PaaS
Infrastructure as a Service is at the bottom of the cloud computing pyramid and provides the underlying infrastructure needed to run apps and other systems. Choosing between the two mainly depends on what you want to manage yourself.
For example, IaaS includes virtualization, storage, servers and networking and the users have to manage data, apps, runtime, O/S and middleware themselves. With PaaS, users don’t usually have to deal with the OS, middleware and runtime, while SaaS subscriptions also include data and applications and are mostly ready-to-use apps.
IaaS provides more direct control over resources, while PaaS provides ease-of-operation and greater flexibility. PaaS helps developers build and run custom apps and features without spending time on the infrastructure and related technologies.
IaaS is more like the foundation based on which services are delivered over the cloud, while PaaS is like the platform on which devs can build and run their apps. SaaS is more like a finished product that businesses can sell to other customers.
Benefits of PaaS
We have already covered the basics of cloud computing pyramid, which includes IaaS, PaaS, SaaS and FaaS and benefits inherent to cloud computing. Here is a quick recap of how PaaS can help businesses gain a competitive advantage and the top three reasons to choose PaaS:
PaaS solutions save businesses and developers from having to invest heavily in the infrastructure and manage everything themselves. Significantly lower upfront costs minimize the barriers to entry and allows businesses of all sizes to take advantage of modern cloud computing technologies.
Users just have to pay for what they use, usually on a per-second basis without worrying about overhead costs. We already have a dedicated post on how SaaS can help businesses lower the cost of ownership, which also apply to PaaS and other cloud computing technologies.
Scalability and Flexibility
PaaS solutions can easily be scaled according to requirements and spikes without requiring any configuration from the user. This allows developers to bring their final products to the market faster than ever as developers don’t have to spend a lot of time in setting up, configuring and provisioning of the infrastructure. PaaS provides them instant access to development environments so all they have to do is upload code.
Most PaaS providers give you the option to develop for multiple platforms, saving developers a lot of time and effort. Pre-built tools make it easier to develop for major platforms without writing all the code from scratch. These sophisticated tools can otherwise take a lot of time if developers decide to build them themselves.
Important Things to Consider When Choosing a PaaS Provider
Computing requirements can vary from one business to another. For example, some businesses might prioritize security over other things, while others might want access to the most inexpensive or most compatible services. However, there are some common things to consider including:
The technology and services on offer, which should be consistent with your apps. Technology also includes the programming languages supported, the deployment system and scaling processes.
Enterprises prefer on-premises solutions because of the complete control they get over their data. However, cloud computing has matured over the years and providers today offer top-notch security and data protection. When selecting a PaaS provider, make sure to read and understand the SLA, which defines important terms including, up time guarantee, disaster management and support.
Having less control over data and processes is another reason some businesses hesitate to move their data into the cloud. Developers should have adequate control over the environment. The amount of control you get varies from one provider to another as some PaaS vendors even provide control over the underlying infrastructure.
Fully-managed vs. Self-service
Fully-managed cloud service providers make it easier for end users to get work done. Self-service options are suitable for users who have the technical know-how and can manage everything by themselves. The main advantage of fully-managed services is that the provider is responsible for all the important aspects, including installation, configuration, security and upgrades, which saves developers a lot of time and effort, which can be spent on what matter’s the most.
Top 5 PaaS Providers
We have already covered the top IaaS providers in detail and most of them also offer PaaS solutions. Some of them have been included again as they offer PaaS solutions under a different name and with varying features.
AWS Elastic Beanstalk
Amazon Web Services Elastic Beanstalk is a user-friendly solution for web apps and services deployment using Java, PHP, .Net, Python, Node.js, Go, Ruby and Docker. The services run on popular and widely used servers including IIS, Ngnix, Apache and Passenger.
Elastic Beanstalk handles the deployment automatically after uploading the code, including provisioning, auto-scaling, load balancing and health monitoring. Users get complete control over the resources, only have to pay for the resources they need to store/run their apps and can also access the underlying resources whenever they need.
The platform is designed around speed and simplicity, allowing users to easily deploy their apps by uploading their apps through the Console, IDE or Git repository. This means that the app is up and running within a few minutes without requiring configuration from the user.\
Ease-of-use enables developers to focus more on quality code than spending a lot of time configuring and managing different aspects of running their apps, including servers, load balancers, databases, networks and firewalls.
Cloud computing in general and PaaS solutions in particular are highly scalable. Elastic Beanstalk scales apps up/down automatically through auto-scaling settings. Certain metrics such as CPU utilization can trigger these settings automatically for better handling of spikes in workloads/traffic. Users can select optimal resources for their apps and get complete control over resources through the management capabilities.
Elastic Beanstalk does not have any additional or separate charges associated with it. Users pay for AWS resources such as S3 buckets or EC2 instances to store/run their apps. There are also no minimum fee requirements and users only have to pay for what they use without any upfront or long-term commitments. For more information about cloud capabilities and pricing please refer to the IaaS providers post linked above.
- Easy deployment
- Wide selection of app platforms and deployment options
- Unified interface for management and monitoring
- Over 40 key metrics in the Health Dashboard
- Integrated with AWS X-Ray and Cloudwatch
- Automatic updates and notifications
- Auto scaling and load balancing
- Multiple availability zones
- Complete control over resources and customization
- ISO, SOC1/2/2 and PCI compliant
Microsoft is among the providers that bundle their IaaS and PaaS offerings, allowing users to choose what suits their requirements and workload. Microsoft’s PaaS offerings include servers, infrastructure, networking, storage, middleware, security, OS, runtime environments, databases, development tools and analytics.
Businesses that want to test-drive the services get $200 credit for 30 days to explore Azure, 12 months of free popular services and another 25+ services for free. They can upgrade the plan anytime by opting for a pay-as-you-go plan. The pricing tool is available for detailed pricing and helps users make an informed decision.
The free account can be used to test and deploy apps, create custom experiences and gain valuable insights. The products available for free for a 12-month period include:
- Linux and Windows Virtual Machines
- Managed Disks
- Blob and file storage
- SQL database
- Computer vision
- AI+ Machine Learning
- Anomaly Detector
- Text analytics
- Translator text and form recognizer
- Language understanding and Ink recognizer
Some products are free as follows (based on region and resource):
- Databases: DataAzure Cosmos DB, Data Factory
- Compute: Functions, App Service, AKS (Azure Kubernetes Service), Batch
- Developer tools: DevTest Labs, Azure DevOps, Visual Studio Code, Machine Learning Server, SQL Server 2017-Developer Edition
- Integration: Event Grid
- Identity: Active Directory B2C
- Containers: Service Fabric, Search, Notification Hubs
- Security: Security Center
- Management and Governance: Advisor, Automation
- Networking: Load Balancer, Virtual Network, Inter-VNET data transfer
- Analytics: Data Catalog
Red Hat OpenShift Container
OpenShift offers the security and reliability Red Hat Linux is known for and combines it with OpenStack IaaS. The platform allows developers to innovate and make their products available faster by automating installation, management and upgrades. The platform ensures security at all levels of the container stack and throughout the app lifecycle, including support. The platform can automatically select the most appropriate runtime environment after a user has selected the languages of their choice.
Red Hat OpenShift Dedicated empowers developers, business leaders as well as IT operations and includes different hosting options. OpenShift dedicated is private and hosted on Google Cloud and AWS and supported by RedHat.
Microsoft Azure hosted clusters are jointly operated, engineered and supported by Microsoft and Red Hat. The fully managed IBM public cloud offering is also jointly supported by IBM and Red Hat. The self-managed OpenShift container platform is based on Kubernetes and enables users to run it on their own infrastructure.
Products for mission-critical apps and enterprises include:
- Red Hat + Microsoft Azure: Virtual Network, unlimited projects, jointly supported
- Red Hat Hosted Dedicated: Virtual private cloud, unlimited projects, supported by Red Hat
- Self-hosted Container Platform: Runs on any infrastructure, complete admin control
- For individuals: Red Hat OpenShift online is offered as a Starter (Public cloud, one project, community support) and Pro (public cloud, 10 projects and basic support)
- Users can also opt for running OpenShift Online (for development/testing/production workloads), Container and Dedicated platforms together (for greater flexibility and resources)
- OpenShift Dedicated: Pricing starts from $16,000/year (bring-your-own-cloud)
- Fully-managed on Google/AWS cloud
- A variety of instance types including compute/memory optimized
- Option to bring own cloud
- Multi zone availability, multi infrastructure nodes and masters
- VPC peering and integration
- Premium support
- Flexible authentication, LDAP/GitHub/OpenID
- Integrated container registry
- Azure-RedHat: Pricing starts from $0.761 per hour
- Self-service deployment or CRDs
- Cluster node scaling to match demand
- Global availability
- PCI/DSS/HITRUST/FedRAMP High compliant
- Fully managed clusters-as-a-service
- Automated provisioning
- Automatic upgrades
- FIPS 140-2/Type 4 encryption
- Security patch management
- Enterprise isolation
- Metered billing
- Integration with RedHat middleware and other advanced services such as Watson
- Native OpenShift dashboards
- PCI/GDPR/HIPAA/SOC 1/SOC 2 Typ 2 compliance
- OpenShift Container
- Enterprise Kubernetes
- Automated operations including install and updates
- Hybrid cloud
- Centralized policy management
- CNCF Certified
Salesforce offers all the essential features businesses expect from a reliable provider, including infrastructure, storage, security, servers, networking, OS, middleware, runtime environments, databases, development tools and 3rd party integrations.
The aPaaS (application Platform-as-a-Service) runs on Heroku and the lightening platform, which allows developers to get started quickly and deploy, run and manage their apps. Real-time collaboration, customization options and integrated identity features make Salesforce among the best PaaS providers.
Heroku is designed to help businesses extend their CRM and build engaging customer experiences. Developers can program in a variety of open-source languages, including Java, Python, Node.js and Ruby and connect mobile and web apps to the CRM for instant delivery of sales/service insights.
One-click scalability allows users to instantly scale according to sudden surges and workload of demanding apps. Private spaces allow developers to build custom environments and compute runtimes for improved privacy and security.
Heroku allows developers to deploy, execute and manage their apps coded in open frameworks and languages including Java, PHP, Ruby, Python, Node.js, Scala, Go and Clojure. Code can be easily deployed using single command through developer tools like Github, Docker and Git. The container-based platform takes care of building and running apps and handles all the important aspects, including compilation, handling, asset and dependency management.
The lightening platform is designed to help developers build low-code apps more efficiently. Mobile-ready apps result in improved time-to-market and allow building apps for any department in less time, including marketing, legal and HR.
Salesforce PaaS might require a steep learning curve to master. But it seamlessly connects IT with business users through a comprehensive set of tools that make app development quicker and help automate different business processes.
- A consistent leader in the aPaaS Magic Quadrant
- Lightening platform
- Blockchain app/networks building
- Branded apps for different departments
- Easy app publishing on Google and Apple app stores
- Prebuilt templates and ready-to-use components
- Centralized app management
- Predictive insights
- AI-powered analytics
- Development sandbox
- Environmental data analysis and tracking
- Business process digitization
- Predictive capabilities
- Easy data integration from ERPs, databases and IoT
- Salesforce Heroku Platform
- Single-command code deployment
- App compilation and building
- Dependency and asset handling
- Vertical and horizontal app scaling
- Automated health checks
- Performance optimization and monitoring
- Heroku Elements for extending functionality of apps
- 30-minute SLA
- Private Spaces
Google App Engine
Google offers a wide range of cloud services, including computing and hosting (serverless, managed application, container tech, build-your-own infrastructure), databases (both SQL and NoSQL), storage, networking (networks, routes, firewalls, VPCs, load balancing, Cloud DNS), big data (data analysis, data processing, streaming, asynchronous messaging) and machine learning (video AI, speech-to-text, cloud translation, natural language).
App Engine allows users to build highly scalable apps using a server-less and fully-managed platform without having to worry about the underlying infrastructure. The ability to develop apps without having to configure, manage and deploy allows developers to focus on building better apps and be more productive. The platform supports a variety of tools and languages, including Java, Python, Node.js, C#, Ruby, .Net and Go and also allows developers to use their own language frameworks and runtimes.
Developers can use tools such as Cloud Source Reps, Cloud SDK, PowerShell, Visual Studio and IntelliJ IDEA to manage resources and run API backends. Automatic scaling, managed patching and server management means developers just have to add their code and leave everything else to the provider.
Businesses and individual developers only have to pay for what they use (per-second billing) without worrying about under/over provisioning. The platform scales automatically based on resource consumption or app traffic. There are no upfront costs and termination fees, while up to 30% discount is available on sustained use (Cloud SQL and Compute Engine).
- Server-less, fully managed
- No configuration deployment
- No server/infrastructure management
- Command-line resource management
- Source code debugging in production environment
- API backends
- Automatic scaling
- Managed patching
- IAM and firewall capabilities
- SSL/TLS certificates
- Per-second billing, consumption based
- Custom runtimes
- App diagnostics
- App versioning
- Traffic splitting
- Sustained use committed use discounts
- Rightsizing recommendations
- Google Cloud Platform integration (the same infrastructure as Google’s search engine)
Cloud computing has leveled the playing field and offers equal access to businesses of all sizes. PaaS provides SMBs with access to the same infrastructure which was reserved for fortune 500 brands just a few years ago.
PaaS can make a significant difference for developers who want to build and run their apps without worrying about the underlying infrastructure. The projected growth of the PaaS market from $0.7 bn in 2012 to $47.8 bn in 2026 clearly indicated where the industry is heading, allowing developers and businesses to build their next big app using established computing infrastructure.