To PAAS or not to PAAS, that is the question!
Setting the stage
Today’s modern developer is mesmerized by all the shiny service offerings by the cloud providers like AWS, Azure, and GCP. Most of these services, except the VM services, are PAAS (Platform-As-A-Service) services. Due to their sophistication and promise to involve minimal service management, the developer sees them as an ideal choice for cloud implementation. Since the era of middleware and application servers, the same old lure of allowing to focus on the code has been sold to developers.
It is natural for developers and architects to fall for the PAAS services and include those in their architectural designs. The availability, high durability, and scalability of these services make it easy for architects to sell these to senior management.
The question is whether PAAS is the right choice for cloud development. The skeptic will ask, does it not result in vendor lock-in? Well, if tomorrow, for any reason, the implementation needs to be moved to another cloud vendor or on-premises, it will result in significant reengineering work. So, it makes sense to enter the PAAS option carefully, if at all. This article will explore whether the PAAS strategy is suitable for all kinds of software implementation.
PAAS Advantages
To start with, let us first look at the positive side of PAAS. Let us see what it brings to the table. Listed below are some of the few advantages of PAAS.
- PAAS allows the programmers to focus on code and development activities – and not to worry about the infrastructure.
- There is no need for upfront investment in hardware and software.
- The features of load balancers and auto-scaling provisions allow for easy scalability. It is cumbersome to build these features on-premises or using virtual machines in the cloud.
- PAAS allows companies to do their IT spending in a pay-as-you-go model as an op-ex rather than a cap-ex.
These are significant advantages that make PAAS a good strategy. An example of this could be – companies building their own systems for their business and leveraging all the benefits. The major vendors like AWS and Azure, who provide public cloud services, are stable, and you can be sure that they will be in business for many years to come and that your systems and data are safe. Nowadays, many companies are going for a cloud-first strategy with an emphasis on PAAS services. These organizations hire both IAAS (Infrastructure-As-A-Service) experts and PAAS (Platform-As-A-Service) experts. A good strategy would be to have the IAAS experts in a central team who will build the infrastructure for the projects within the organization while having separate PAAS experts for individual projects as per the requirement.
PAAS Disadvantages
Now that we have seen how the advantages of PAAS services can help software development and organizations PAAS is suitable for, let us see some of the disadvantages of PAAS services and check on the organizations that should avoid PAAS implementation. Below are two major drawbacks of PAAS services.
- Vendor lock-in is a major disadvantage of the PAAS services. Any system deployed with a PAAS service that needs to be implemented on a PAAS service of a different vendor (think AWS vs. Azure) or on-premises will require some level of rewriting. However, it will not be a complete rewrite as the programming code can be reused. But setting up and deploying the system components in a similar PAAS service of another cloud vendor will need us to understand and configure the different nuts and bolts of the new PAAS service again. On-premises implementation will also require changes.
- Another disadvantage is the lack of complete configuration control. We would have access to only the configurations provided by the PAAS vendor. The PASS vendor puts a layer over the actual software, for example, databases like Oracle, Postgres, etc., hiding the underlying complexity and giving you easy-to-use web-based controls, but it works both ways. While we have the convenience, we will be at the mercy of the PAAS vendor for the available configurations.
The vendor lock-in can be the most detrimental for certain types of organizations. The organizations that the PAAS implementation can affect negatively are the software product companies that need to implement their products on the client side.
For example, suppose a software product company has developed its product on a public cloud platform and has chosen PAAS services for implementation. The client may also have a public cloud available for implementation, but it could have a different cloud vendor. We would need to reconfigure our services for the other public cloud vendor.
If the client wants the implementation to be done on-premises, then the same re-configuration problem will occur in a slightly different form. In such a case, our best bet will be to have the product developed on-premises, and even if you wish to use the public cloud, use IAAS (Infrastructure-As-A-Service) services only, not PAAS services. It will allow us to do a lift and shift-like (rehosting) implementation using VMs (virtual machines) when the client’s available environment is a different public cloud or on-premise.
The caveat here is it seems like PAAS cloud services should be a big no-no for the software product companies, but things will be a little different for companies that only offer their products as SAAS (Software-As-A-Service) platform. If the client is consuming their services only through the browser, it does not matter how the required systems are implemented on the backend. It also does not matter for COTS (Commercial Off the Shelf) product companies.
However, a SAAS product seller may come across a major client who says they are not ready to have their data on someone else’s system and can pay millions if the seller agrees to set up the system on the client’s side. Then either you will have to let go of the millions or face and solve the same PAAS services problem.
Conclusion
PAAS services are the best breed that are born out of the cloud computing revolution. It has many advantages and can prove to be an excellent tool for your software development work. However, it is a powerful solution that has to be used carefully. You need to wear your thinking hat to evaluate if it is a suitable solution for your requirement. In general, it would be safe to say that the conventional products companies (apart from COTS product companies) should be cautious in choosing PAAS services as a tool in their solution repertoire. So, if our thinking is correct, it should not be as difficult to decide ‘to PAAS or not to PAAS’ for us as it was to decide ‘to be or not to be’ for Shakespeare’s Hamlet.
For more such insights visit: Canvas by LTIMindtree.
Latest Blogs
Introduction to RAG To truly understand Graph RAG implementation, it’s essential to first…
Welcome to our discussion on responsible AI —a transformative subject that is reshaping technology’s…
Introduction In today’s evolving technological landscape, Generative AI (GenAI) is revolutionizing…
At our recent roundtable event in Copenhagen, we hosted engaging discussions on accelerating…