Platform-as-a-Service is a subscription-based technology that provides a cloud environment for web application hosting, building, and deployment. Feel free to check out this article if you’d like a more in-depth explanation of the PaaS model. There are several advantages to using a PaaS, including cost efficiency, increased agility, scalability, and productivity. However, the feasibility of using a PaaS all depends on your business’ use case, but it may make sense for smaller organizations, and startups especially.
Advantages of Platform-as-a-Service
There are several advantages to utilizing PaaS services, including faster deployment of web applications, easier scalability, and being able to focus on building great products with increased agility and cost saving.
Using cloud PaaS products is generally cheaper than hiring an engineer solely focused on cloud infrastructure (the average salary for one being $128,757 in New York City), or even at scale, building out a full-fledged infrastructure team. Once a company has a more complex infrastructure, it certainly may make sense to bring on a full-time Infrastructure Engineer to manage their cloud services, but for most companies, their needs will be met for quite a while using a PaaS, and in a much more cost-efficient manner. For more on using a PaaS to manage an IaaS, read here.
PaaS solutions deliver an automated DevOps platform that is convenient to use and results in increased agility. The methodology behind DevOps is to deploy faster by removing any bottlenecks related to the software development life cycle (development, testing, and monitoring) through automation. A PaaS provider does this automatically, so engineering teams are able to deploy as quickly and efficiently as possible, allowing for increased productivity.
To meet user traffic needs, scalability is a must when it comes to your infrastructure. On a PaaS like Heroku, this entails choosing the dyno type you want your application to run on, and enabling autoscaling so Heroku spins up more dynos based on application response time. On Porter, autoscaling is more granular and accurate as it is based on the utilization of computing resources. A user just sets target utilization for computing resources for each application and a maximum and minimum number of replicas and Porter does the rest, allowing for more granular scalability.
Ability to Focus on Core Business
The most valuable resource for many companies is time. They don’t have enough of it, and it should, especially for early-stage companies with small engineering teams, be devoted solely to improving their product. With a platform as a service, engineers don’t have to spend time learning about cloud infrastructure in order to build and deploy their web applications. Rather, they can leave the management of their infra to the PaaS, and can focus solely on application development (with any infrastructure configuration made through the user interface of their PaaS provider); they can deploy by themselves, without an infrastructure team guiding them on application management, helping the development team move with increased agility.
Disadvantages of using a Platform-as-a-Service
Vendor lock-in can definitely be a large disadvantage when it comes to Platform-as-a-Service products. When a company is ready to move off of a PaaS, navigating through the migration process can be quite difficult and time-consuming. Heroku, for example, uses buildpacks to build applications. If a company wanted to move to Amazon Web Services (AWS), one of several cloud computing services, they would not be able to use build packs and would have to essentially write their own build files.
Cloud Service Provider Lock-In
Another form of vendor lock-in comes in the form of cloud provider lock-in. This is because it can be costly to switch cloud providers, not to mention having to manage the technical incompatibilities of moving from using one cloud provider’s ecosystem of offerings to another. Some popular IaaS solutions are Amazon Web Services, Google Cloud Platform, and Microsoft Azure, all of which offer many different services, such as database management systems and managed cache services; these are only inter-compatible within each cloud provider’s ecosystem of offerings, so if an engineering team realized they preferred one cloud service provider’s offerings to another, it would require a lengthy and difficult migration process.
As businesses begin to grow and scale, they often feel they are ready for more control over their cloud infrastructure; being able to configure their own infrastructure may now be something they want to have more control over. Some PaaS services, in an attempt to be as convenient as possible, don’t allow for this level of control.
Security and Compliance
If your startup hosts sensitive user data, or is in a vertical such as healthcare or financial payments and has to abide by HIPAA or PCI/DSS, hosting on a managed PaaS may be an issue since the underlying infrastructure may be multi-tenant and often can be accessed through the public internet. For proper data security, you’d want to move into your own VPC; PaaS solutions like Heroku charge a hefty premium to use their private cloud service, which results in greater concerns of vendor lock-in.
Porter: all of the advantages of a PaaS
Porter is a PaaS that provides all of the benefits associated with Platform-as-a-Service products: cost efficiency, faster deployment of web applications and resulting increased agility, easier scalability, and allowing developers to focus completely on app development without having to worry about DevOps, meaning increased productivity.
With none of the drawbacks
Flexibility, security, and business resiliency
However, there are no concerns of vendor lock-in with public cloud platforms like Heroku as Porter runs on your private cloud, whether that be Amazon Web Services, Google Cloud Platform, or Microsoft Azure. Switching from one cloud provider to another is simple on Porter - check out this article about one of our clients who moved cloud providers, from Google Cloud to Amazon Web Services. Furthermore, ejecting from Porter is simple; all that happens is the cloud PaaS stop managing users’ cluster and the onus of DevOps is on them.
Furthermore, Porter does not constrain users in terms of flexibility. Even once your company has scaled and your cloud infrastructure requires a greater degree of configuration, there is always the ability to go under the hood and configure the underlying infrastructure. In terms of security and compliance, Porter manages users’ infrastructure in their own private cloud, so any security or compliance configurations can be made by users with ease. Porter also doesn’t manage databases, with most users linking their VPC to a managed database provider such as Aurora or RDS, so data security is not an issue. You can read about how one of Porter's users goes under the hood to configure their cloud infrastructure for compliance reasons here.
The perfect middle ground
In essence, Porter provides its users with all of the advantages of a Platform-as-a-Service and with none of the drawbacks.