By Bassam Chaptini, CTO, Unqork
Quick Question: What’s the make and model of the servers your applications are stored on? Don’t know the answer? Most enterprise leaders don’t these days. And that’s a fantastic thing! You have a million other things that need your attention.
Today, organizations use the cloud without seeing or even thinking about physical servers. It’s routine. It’s everyday business. It’s what you do. We can take the cloud for granted thanks to an approach known as Serverless Architecture (or sometimes “Serverless Computing”). In this approach, server management is outsourced to a cloud service provider (CSP) such as AWS, Microsoft Azure, or Google Cloud.
Serverless Architecture doesn’t mean there aren’t any servers. It’s just a business-speak way to talk about abstraction. Serverless Architecture abstracts cloud functionality, so developers are separated from the need to purchase, manage, or upgrade physical servers. To the modern enterprise developer, the cloud has nothing to do with server farms; it’s all been simplified to a virtual dashboard on their desktop.
Serverless Architecture was arguably the biggest shift in enterprise development of the past decade. And now, we’re seeing a new evolution in abstraction that will be just as transformative: Codeless Architecture.
With Codeless Architecture, developers build applications without ever thinking about — or even seeing — a line of code. Soon, technology leaders won’t be expected to know every part of their application technology stack. It’ll all be abstracted away to something much simpler.
Sound unbelievable? Well, guess what? It’s already happening.
Why would you even want to build without code?
Before we jump into how companies are going Codeless right now, let’s define exactly what it means.
To start, just as Serverless Architecture doesn’t actually eliminate servers, Codeless Architecture doesn’t eliminate code. Codeless Architecture masks the complexity of code by abstracting it into reusable, simplified elements (some use the term “composing” to describe how workflows are built and iterated with this new approach).
…just as Serverless Architecture doesn’t actually eliminate servers, Codeless Architecture doesn’t eliminate code. Codeless Architecture masks the complexity of code by abstracting it into reusable, simplified elements
Just as all the cloud management is outsourced to a CSP, the writing, managing, and updating of code are outsourced to a no-code provider (NCP). With Codeless, developers define their application’s look and behavior through declarative assertions such as:
- Capture user data in form X
- Validate the data using third-party service Y
- Store the validated information in database Z
There’s no longer a need to write out each procedural step, line by line. Depending on the NCP you use, your assertions might be defined using a simple, visual drag-and-drop interface. The NCP automatically renders your declarative commands into an application that end-users can access from any browser.
Even better, NCPs address evolving technologies, programming languages, and standards without impacting the applications using them. This isn’t such a wild idea when you think about it. Did you lose sleep when your CSP replaced one of its servers? Did you even know about it? Probably not. Similarly, when taking the Codeless approach, upgrades, replacements, and changes can be handled by the NCP and your application doesn’t miss a beat.
Business reality, not science fiction
Going Codeless isn’t a fantasy future state, it’s actually happening right now. Recently my company, Unqork, began the process of migrating our platform from Angular to React. It’s an ongoing effort, but one that is relevant to our discussion because we’re an NCP that other companies use to build and power their applications.
How would you like to always be on the technological cutting-edge, but leave the heavy-lifting migration-work to someone else?
When we built our platform four years ago, Angular was a great choice of framework. And because we’re an application platform, all the software our customers built on our platform used Angular as well. Last year, we initiated the move from Angular to React because it’s lighter, more performant, and has more libraries and support, among other advantages. We’re handling the majority of the work on the back-end. Once the process is complete, our customers’ applications will all be updated to the latest-and-greatest framework. How would you like to always be on the technological cutting-edge, but leave the heavy-lifting migration-work to someone else?
Why now?
As I mentioned above, when you boil down the phrases “Serverless” and “Codeless,” they’re really referring to abstraction. Abstraction is an important throughline of computer science. It’s what’s guided the evolution from binary to programming languages to GUIs to development platforms of various kinds. Each abstraction evolution makes it easier for humans to talk to machines on our terms, not 0s and 1s. With enough progress, we eventually arrive at purely declarative development.
People have been talking about truly declarative development for decades. You’ve surely heard some ideas about it before. But that vision has finally become a reality. Why? As I see it, it’s due to a critical mass of two key trends:
- Cloud Ubiquity. The cloud had to come first. Now that the cloud has become the status quo, we’re able to move up the stack in terms of the next level of abstraction. You couldn’t go Codeless without strong, ubiquitous cloud functionality as the foundation.
- Standardization. The past few decades have seen a communal push to standardize web protocols around front-end frameworks, security, and APIs. Wide adoption of common standards makes it possible for application functions to be abstracted into simplified, reusable components (i.e., representations of declarative commands that all machines can understand).
A new era
Why is Codeless important? It’s all about focusing on end goals, not all the steps it will take to get there. Imagine if, in addition to all your other responsibilities, you were responsible for building and managing all the server farms your applications rely on. It wasn’t so long ago that enterprise leaders were compelled to invest a lot of resources into such matters. If you’re old enough to remember the before times, you surely appreciate how much more productive you and your team are today.
Now, imagine what you could accomplish if you could outsource coding and continuous code management off your plate? How much more would you and your team be able to accomplish?
To me, the ascent of Codeless Architecture feels very similar to a decade ago when Serverless broke wide. In short order, there was a sharp divide between organizations that embraced Serverless and those that didn’t. Which side of the new technological divide do you want to be on?