Skip to content

May 31, 2022

DevOps for Low Code Platforms

By Andrew Davis

This post is adapted from the paper “DevOps for Salesforce and Other Low-Code Platforms” by Andrew Davis from the Spring 2022 DevOps Enterprise Journal

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 (software as a service) 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 behind the scenes. Millions of people are now building their innovations on these platforms using little or no code. The mantra of the SaaS world is power and ease.

But there’s a problem with ease. Ease 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 configuration and code. Traditional DevOps tools and practices are generally designed for managing custom applications or infrastructure, not SaaS systems. And most SaaS applications were not originally designed to be able to externalize their configuration into a version control system or to follow a strict development life cycle.

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?

The Power of Enterprise Software

An important skill in running a business is figuring out what value you can provide that no one else can, focusing on that, and simplifying the common operations of your business (your non-differentiating work) as much as possible. The majority of problems a business experiences are faced by thousands of similar businesses: payroll, running a call center, managing identity and access, managing a sales team, etc. Choosing effective and affordable pre-built software to manage each of those functions allows teams to benefit from automation without having to build solutions from scratch.

Building software is risky and expensive. Software product companies can spread that risk and expense across multiple customers. Enterprises with processes that are common across multiple businesses can be served by third-party solutions in a better and more cost-effective way than building custom solutions.

A huge range of software solutions have emerged to equip businesses with the capabilities to manage common processes. At almost fifty years old, SAP is one of the oldest enterprise software companies. Their software underpins manufacturing operations around the world. Oracle was one of the earliest and most aggressive Silicon Valley companies, dominating the database market and gradually other spaces like CRM (customer relationship management).

Enterprise in the Cloud

Over the last two decades, the most prominent of these SaaS solutions have been built in the cloud. Workday provides capabilities to manage HR processes, ServiceNow was born from the need to manage IT departments, and NetSuite provides an ERP to manage supply chains.

Providing enterprise software in the cloud removes another layer of non-differentiating work from businesses. It’s taken some years for businesses to fully trust that they can delegate their critical infrastructure to someone else and ensure its security across the internet. But as infrastructure has become more extensive and complex, and security threats more pervasive, subtle, and menacing, the cost and risk of maintaining this on premise has grown higher and higher. Greenfield implementations overwhelmingly choose cloud solutions, and an increasing number of businesses have decided that the cost and risk of migrating legacy applications to the cloud is preferable to the status quo.

As an example, cloud software was essentially unaffected when the COVID-19 pandemic forced the world’s workers to rapidly shift to remote work. Cloud software means zero staff having to travel to offices under risky or challenging conditions. It means contributors can build and collaborate from wherever they are. Cloud software has been enabling mobile access and synchronization across regional departments for years and is now the default way to host software for most businesses.

The Power of Low Code

The limiting factor in almost any software project is the availability of skilled developers. Relative to many other roles in the enterprise, software developers are expensive, hard to find, and hard to retain. Learning to write software requires patience, strong concentration, and a clear mind. It also requires time to work through the learning process, expertise in all the basic aspects of computer use, and money to enroll in a bootcamp or degree program. Perhaps more significantly, it’s intimidating for many people; it requires confidence in our ability to learn, something that people may have lost if they didn’t thrive in school.

Low-code platforms reduce the barrier to entry for people seeking to learn software development. It requires less concentration to manipulate objects on screen than it does to hold the invisible logic of software in our working memory. This allows people who aren’t comfortable with coding to find jobs where they can earn a higher salary. And it creates a far bigger potential workforce for companies. Everyone wins.

The other huge factor in the power of low code is the reduction of complexity. The more options a system has, the more adaptable it is. But the more options something has, the more intelligence is required to select the right option. This creates a profound tension. Custom-coded software is infinitely configurable. But the cost of that flexibility is the intelligence required to drive it.

It’s challenging to build new software from scratch. But it’s arguably even harder to maintain it. As software systems grow in size and complexity, they require not only someone who is familiar with the language they’re written in, but also familiarity with the specific systems built for that project. Low-code systems create layers of abstraction that hide underlying complexity. Fewer moving parts means fewer things that can break, fewer things to maintain, fewer things to understand, and thus less dependence on the institutional knowledge of specific individuals.

Dealing with unnecessary complexity is another non-differentiating piece of work for businesses. While developers may take pride in being able to create something from scratch, if that same component is available in a pre-built form on a low-code platform, there is no value added by building it from scratch. Developers who take advantage of low-code capabilities can tackle more valuable challenges, helping move the business forward rather than recreating the wheel.

Gartner estimates that by 2025, 70% of new applications developed by enterprises will use low-code or no-code technologies, up from less than 25% in 2020. Gartner also predicts that 50% of all new low-code clients will come from business buyers outside of the IT organization. Sophisticated applications running outside the pale of the IT organization were once deemed “shadow IT.” But digital natives now pervade every department of every company, and low-code solutions provide them the ability to create powerful and flexible applications to serve their needs without having to wait in line for support from an overburdened IT team.

Low-Code Enterprise Software in the Cloud

Standard applications can be limiting. Adopting pre-built software forces companies to adapt their processes to the software itself. Sometimes adapting to an industry standard is helpful since it lets teams learn implicitly or explicitly from the rest of the industry. But sometimes those limitations also prevent teams from automating key capabilities or require too much retraining or change to processes.

Software products evolve, but often not fast enough. Customer requests and sales competition create constant pressure for enterprise software products to innovate on new features. But the most powerful capability these companies can enable is to allow customers to easily create their own innovation on their platform.

Providing a platform enables innovation. Salesforce is an example of a platform optimized for both simplicity and flexibility. It’s enterprise software that supports thousands of business processes out of the box. It’s born in the cloud, thus reducing operational risk and burden. And it’s gradually grown to provide a feature-rich, low-code platform for teams to build on.

To understand what it means to apply DevOps principles to a low-code application like Salesforce, it’s important to understand a bit about how the platform has evolved, the value it brings, and its unique characteristics.

Continue reading the full article for free in the Spring 2022 DevOps Enterprise Journal…

- About The Authors
Avatar photo

Andrew Davis

Senior Director of Methodology and Training at Copado, focused on the next generation of DevOps on the Salesforce platform. I'm also the author of the leading book on the Salesforce development lifecycle, Mastering Salesforce DevOps.

Follow Andrew on Social Media

No comments found

Leave a Comment

Your email address will not be published.



Jump to Section

    More Like This

    The Frictionless Dev Experience
    By David Anderson , Mark McCann , Michael O’Reilly

    This post is excerpted from The Value Flywheel Effect: Power the Future and Accelerate…

    Sustainability in Software
    By David Anderson , Mark McCann , Michael O’Reilly

    This post is excerpted from The Value Flywheel Effect: Power the Future and Accelerate…

    Serverless Espresso: A Case Study of Serverless Event-Driven Architecture
    By David Anderson , Mark McCann , Michael O’Reilly

    What is Serverless Espresso? Serverless Espresso is a pop-up coffee shop that allows you…

    Beyond Agile Auditing: An Introduction
    By Clarissa Lucas

    This post has been adapted from the Introduction to Beyond Agile Auditing: Three Practices…