Skip to main content

Five Years in PaaS at Scale: 5 Lessons Learned

·331 words·2 mins
PaaS
Table of Contents

I spent nearly five years at SAP working in PaaS, and now that this chapter has come to a close, I find myself reflecting on the journey. It was an incredible experience, filled with remarkable people and countless learning opportunities. I want to capture and share some of my present thoughts and the key lessons I’ve learned during this time.

Services are key
#

You can have the best PaaS offering, but without essential services like databases, caches, and message queues, it won’t be as attractive to users. High-quality, integrated services are vital for a compelling PaaS experience. Users expect more than just basic services; they want fully managed, scalable solutions that seamlessly integrate with the platform.

Everything that can break will break
#

In the world of PaaS Murphy’s Law also applies: Anything that can go wrong will go wrong. Be prepared – unexpected failures are inevitable. Ensure you have proper monitoring and self-healing mechanisms in place at different levels of the stack. Additionally, develop robust disaster recovery playbooks for catastrophic failures and make sure to test them regularly.

Rate limit everything
#

You would be surprised at what app developers might do, intentionally or accidentally, when given unlimited resources. To protect your infrastructure and maintain stability, add rate limiting for all resources at the source.

Automate everything
#

While this lesson may seem self-explanatory, it’s essential to emphasize its importance. Treat configuration management and infrastructure provisioning as code. Investing in automation will pay off significantly over time.

PaaS is inherently hard
#

PaaS, especially at scale, is inherently difficult. It comes with a multitude of technical and non-technical challenges. Here are a few topics that come to mind, which often have no easy answers:

  • Balancing Innovation and Stability: In an era of rapidly changing application development, how do you balance embracing new paradigms with providing a stable experience that also safeguards your customers’ investments?
  • Pricing
  • Sensible Defaults: What are sensible defaults for shared infrastructure components in a general-purpose PaaS?
Amin Chawki
Author
Amin Chawki
Senior Software Engineer