DevOps for Salesforce and Other Low-code Platforms
The history of computer science has seen the development of higher and higher layers of abstraction. Software has evolved from machine code, to assembly language, to C, to Java, to Kotlin. Hardware has evolved from custom-built computers, to commodity servers, to virtual machines, to cloud servers, to containers. Every new layer of abstraction hides enough complexity that we feel, for a time, that building and managing these systems has become trivial.
Low code SaaS platforms are one of the next big layers of abstraction. Systems like Salesforce were born in the cloud, built for non-coders, and manage infrastructure for you behind the scenes. Millions of people are now building their innovation on these platforms using little or no code. The mantras of the SaaS world are power and ease.
But there's a problem with easy.
Easy means fast. And fast means more. And more means complex.
Salesforce, for example, has hundreds of thousands of corporate customers. The largest among them are managing millions of customizations in the form of source code and configuration. While some low-code SaaS systems have in-built methods for managing configuration, traditional "DevOps" tools and practices are generally designed for managing custom applications and aren't designed for SaaS systems.
The fast-growing world of low-code platforms desperately needs ways to manage the emerging complexity. What does it look like to apply DevOps practices and principles to this very different technology? What are the challenges and mitigations, and what does this move to low-code platforms tell us about the future of enterprise software development?
Andrew Davis
Author, Mastering Salesforce DevOps