What criteria do you consider when choosing an ext...
# platform-toolbox
What criteria do you consider when choosing an external Platform (PAAS)? How do you build your shortlist considering the best solution?
Depends where a company is on their journey, if I was consulting and it was a startup, something simple like here is a dockerfile deploy it for me or the new hotness here is my code deploy and create the infra for me automagically, if their in a medium/enterprise stage then I would be looking to PAAS like platforms that have built in escape hatches ( ie: qovery, nullstone etc )
Things I look at • Pricing model and how does it scale vertically and horizontally • DevEx • Integrations beyond CI/CD (how do you plugin in databricks) • Observability support • Backups & DR • Ability to support your security and compliance program • Exit Strategy (aka: Hugo's Escape Hatch)
For me there are three main factors that decide on if it’s PaaS or something else - they also help sorting the PaaS options: • Technical compatibility -> Only makes sense to look at things that provide a working runtime environment for the software you want to run • Predictability -> If your workload and growth rate are really predictable, then it makes sense to take on more runtime responsibility to protect your margin. If the opposite is the case, then you want to outsource that responsibility to a PaaS/provider to be able to scale more freely. -> This might also be in close relation to the age/maturity of a company. • Exit Strategy -> If you need to leave for any reason, you should be able to do so -> Might also drive architecture decisions -> Is the weakest concern, as there might be actual cost savings hidden behind going all-in and then having a real migration project vs. building abstractions that incur continuous cost in resource consumption and maintenance and are possibly never used.
Thank you for feedback, appreciate it @Hugo Pinheiro @Nathan Hruby @Clemens Jütte. Exit strategy criteria is puzzling me. I expected it, but its suprisingly unanimous. I'm considering a platform that isn't based on functions, but use template language for abstraction layer (backend), making it rapid and very cost effective (vs functions approach), but concerning in terms of exit / excape hatches. What proof would you be looking for in that scenario to consider that type of platform as viable option for building web services & applications? Thank you in advance for all feedback and comments on this.
Having the right layered abstractions in place for the frontend and the backend is something that adds a lot of speed and also lowers the cognitive load significantly for many stakeholders. Without wanting to turn that into a sales-pitch, I guess you can get some inspiration/validation of your ideas from our IDP reference architectures here.