In theory, this article makes a lot of sense. But in practice, I can't see at all how a product manager or development team would ever be able to ship anything using this mindset of keeping applications cloud-neutral, modular and portable.
Building applications and elements to be modular adds hours – even days, weeks, or more – of extra developer time up-front to code, pushing your time to market way out into the future. And after all of that extra work, the only thing you have to show for it is that you're prepared for the possibility of your company or product being sold, in which case you'll be prepared to more easily integrate or remove pieces of an application.
Even then, with all that prep work and additional dev effort, there is no guarantee that any of that extra up-front work would even pay off at the end. Developers should be focused on the minimum viable product, and not on the what-ifs of the future.
One point from the article that I do think is beneficial and sound advice: Avoid reliance on third-party services and vendor lock-in as much as possible. This strategy makes it easier to pivot when business requirements change, or when vendors end-of-life or change the services you rely on for your app's core functionality.