Combining the Power of DevOps and Low-Code with Appsmith

Kevin Blanco
Posted by Kevin BlancoPublished on Dec 01, 2024
7 min read
0291 Combining the power of DevOps and Low-code with Appsmith

Creating internal tools to streamline and improve operations is easier said than done. Most who try quickly run into a tradeoff, asking themselves whether they should build all internal tools in-house with traditional development or rely on out-of-the-box automations from a low-code platform that doesn’t fit well within their normal CI/CD processes.

With Appsmith, you no longer have to choose. Developers have full flexibility and can work with the industry-standard tools and practices they are already familiar with, including version control, CI/CD, and self-hosting. This allows developers to follow DevOps best practices and ensures the long-term viability of your tools.

Defining the build vs. buy problem for developers

Building internal tools from scratch allows you to have complete control, customization, and governance over your applications and data. Unfortunately, it comes at the cost of time-consuming development processes and ongoing maintenance — overheads that discourage many businesses from taking this route.

Enterprise low-code platforms address some of these issues by allowing you to quickly build internal tools with a streamlined toolset, professional support, and managed hosting with SLAs. However, they come at the cost of vendor lock-in, as critical business infrastructure is on somebody else’s platform with proprietary scripting languages and limited exporting options. They also provide limited customization, as they usually only allow you to do 80%–90% of what you really want with your tools.

While developers will be drawn to building from scratch (they're developers, after all!), this may not appeal to other stakeholders who want to prioritize delivery time and costs and would prefer to use off-the-shelf tools or to expedite development by using an app platform. You need a best-of-both-worlds solution that allows you to easily integrate with internal systems without rebuilding everything from scratch while still giving you complete control over your tools.

Self-hosting puts you in full control of low-code deployment

Appsmith offers a best-of-both-worlds solution: Our developer-focused app platform rapidly speeds up developing, testing, and deploying internal apps. It allows you to write your own code, queries, and components for full flexibility, all while being open-source and self-hosted. We also have security certifications that meet the requirements of SOC2, HIPAA, and GDPR, which are game changers for highly regulated industries like finance and healthcare where data privacy and security are paramount.

Security that meets international and industry standards

When building Appsmith, we closely followed the 12-factor app methodology for building portabile and resilient apps. That means our low-code open-source platform can be securely hosted on your own infrastructure, no matter what it is.

We’ve built Appsmith to streamline onboarding and minimize configuration errors that can lead to data leaks and breaches. Appsmith typically runs in a single Docker container, which makes it easy to install on your on-prem servers (or even your laptop!). We followed a monolithic architecture, but it can be detached to run on stateless and serverless architectures as well.

Host Appsmith anywhere and everywhere

We also support deployment to all major cloud providers with pre-built images:

Cloud Provider

Service

Description

AWS

AMI

Appsmith can be installed using an AWS AMI (Amazon Machine Image) at this link.

AWS

ECS on EC2

Appsmith ships as a single Docker container, so run it using AWS ECS (Elastic Container Service) using an EC2 instance.

AWS

ECS on Fargate

Appsmith ships as a single Docker container, so run it using AWS ECS (Elastic Container Service) using Fargate.

AWS

EKS

Appsmith supports deployment through EKS (Elastic Kubernetes Service).

Google Cloud

Google Cloud Run

You can deploy Appsmith directly to Google Cloud Run.

Google Cloud

GKE

You can deploy Appsmith with GKE (Google Kubernetes Engine) as well. In fact, we even provide our own Helm Chart, which makes Kubernetes deployments a breeze.

Azure

ACI

Appsmith supports deployment on an ACI (Azure Container Instance).

DigitalOcean

Droplet

You can install Appsmith onto DigitalOcean using a Droplet in the DigitalOcean one-click apps marketplace.

An image that shows Appsmith cloud providers services to self-host Appsmith apps.

Appsmith also supports more advanced deployment options as well, including multi or hybrid cloud deployments for scalability and data protection.

Infrastructure as Code with Terraform

If you want to adopt Infrastructure as Code, Appsmith supports deploying to AWS and Google Cloud using Terraformthrough our Terraform modules. In your Terraform configuration files, you can provision all cloud infrastructure like storage, file servers, cloud run services, network configurations, and more.

Unlike other low-code platforms, Appsmith doesn't hold you back with infrastructure constraints. If you have an architecture, we fit in. Also, feel free to chat with our engineers on Discord to discuss your exact requirements and receive deployment advice for your scenario.

Low-code that integrates into your DevOps processes, SDLC, and CI/CD Pipelines

One major issue we see with most low-code platforms is that they’re often treated as separate SaaS tools because the apps you build with them can’t be added to repositories or have automated tests and code verification processes. These tools are often lacking the basics of a CI/CD process which makes them very difficult to integrate into your SDLC.

Low-code tools don’t have to be that way. With Appsmith, your low-code platform isn't just another SaaS tool but a full-fledged member of your development team. Every change, every improvement, and every deployment can be as seamless as pushing a commit. This allows you to maintain code quality and deploy rapidly, just like with your full-code applications, while also maintaining the benefits offered by low-code.

With Appsmith's native Git integration, each low-code application that you build can be linked to a Git repository and integrated into your existing workflows. That way, you can develop your low-code apps just like the other apps you develop by integrating your tried-and-true SDLC and CI/CD tools.

Appsmith outputs code that's friendly with version control

In Appsmith, your front-end code is plain JavaScript — there's no proprietary scripting languages! User interface widgets and back-end queries are all stored in JSON form format that can be easily saved in source control (so there are no serialized blobs that are difficult to understand!). Combined with our Git implementation, code is easy to review, test, and deploy.

What does CI/CD look like with Appsmith?

We’ve explained how Appsmith recognizes DevOps best practices and doesn't limit how and where you deploy your code. Now we can show it to you in action. To start, you need to choose the right branching strategy for your project, just like you normally would. In Appsmith, you can create branches (like a feature branch, for example) with a few clicks and add branch protections so that you don’t accidentally commit to master without a PR.

Image showing branch protections for specific branches in Appsmith.

After creating a branch locally, you can make changes to your low-code app, implement new features or fix bugs just as you normally would, then commit your changes to Git right from the Appsmith interface. Appsmith also shows which components of your application changed (low-code git diff functionality) before committing. git push operations will happen automatically after every commit to keep your local and remote repositories synced.

Image showing the Appsmith commit screen with low-code git diff functionality.

After pushing your changes to a private branch, you can open a PR from your internal or external Git repository just as you already do in your traditional software development workflows. From there, CI tests can be run automatically on all commits to branches with open PRs.

Finally, Appsmith allows you to generate delivery pipelines from your Git repository to your Appsmith application on the Continuous delivery tab in Appsmith’s Git settings. This automates deployment and ensures that the users of your low-code application always have the latest and greatest versions of your apps.

Screenshot showing Appsmith’s Continuous delivery tab that allows you to configure any delivery pipelines to your Appsmith application.
Diagram showing how each Appsmith feature comes together for a full CI/CD pipeline.

The recording below shows how these components come together to create a standard Git workflow with Appsmith using one feature branch with GitLab hosting the remote repository.

Appsmith Self-Hosting, CI/CD, DevOps and Terraform

Developer-first low-code that doesn't hinder innovation

You can host Appsmith wherever and however you want, and you can use it to rapidly develop low-code applications with all of the standard DevOps processes that developers expect, including versioning, parallel development, and CI/CD.

It has all of the benefits of low-code, including out-of-the-box integrations and far more efficient UI builders, without the limitations that usually preclude traditional app platforms from being added to developers' toolchains.

There’s no reason to let self-hosting or DevOps concerns stop you from bringing low-code into your tech stack, especially given that Appsmith is open-source. Self-host Appsmith today and discover the true power of owning your tools!