DEV Community

Prakash Sundaresan
Prakash Sundaresan

Posted on

Introducing Defang: The Easiest way to Develop, Deploy, and Debug Portable Cloud Apps

Over the past 15+ years, cloud computing has become the dominant paradigm to run the back-end of almost every application, whether it be web, mobile, line-of-business, AI/ML, or any other. The benefits of cloud computing are well-known and compelling for a wide range of use cases and customers. However, over this same time, cloud platforms have become ever more complex, offering a bewildering array of services that confound even experienced dev teams, not to mention students, hobbyists, or early-in-career pros. Just take a look at this “simplified” view of AWS offerings (courtesy ByteByeGo) and you get the idea. And while there have been prior attempts to provide a simplified cloud dev experience, they do so by either abstracting the underlying platform completely and/or by locking you into a specific cloud’s walled garden. We do not believe either of these is the right approach for customers.

Image description

Defang provides a radically simpler way for developers to Develop, Deploy, and Debug cloud applications. Our vision is to help you go from an idea to a deployed application in literally less than 5 minutes, and to do so while using your own cloud account and avoiding vendor lock-in.

Develop: The first thing a developer wants when they start a new project is to get an outline of their application. Defang provides over 50 containerized samples in a variety of languages (Go, Node.js, Python) and using some of the most popular frameworks (Django, FastAPI, Flask, Next.js, Ruby on Rails, Svelte, etc.). You can clone any of these samples to your own GitHub account and deploy it with a single click. Or, you can use the Defang’s AI assistant (with the defang generate command) to rapidly go from a natural language prompt to a project outline, complete with source code for your application as well as industry-standard Dockerfile and Compose files. This enables you to build and run the containerized application in a portable way across platforms. For example, to run the application locally, all you do is run docker compose up. While the generate command currently works for simple prompts, we are constantly improving it to handle more complex cases over time.

Deploy: Once you are happy with your application, you are ready to deploy to the cloud. This is where a lot of developers really hit a wall - they just don’t know where to start with a platform like AWS. Defang makes this very simple - you can deploy to the cloud with a single command: defang compose up. By default, the app is deployed to Defang’s “Playground” environment where you can test it further - the app is accessible on the Internet and you can even attach your custom domain to it. Defang also provides a read-only Portal where you can inspect your application and monitor its status and logs. When you are ready to deploy your app to “production”, it’s just as simple: run defang compose up again, this time with a –-provider option to specify your cloud provider and account. We call this BYOC (bring-your-own-cloud). Defang takes care of all the heavy lifting, such as building your project, configuring networking, certificates, load balancing, compute (including GPUs and Spot instances), storage, security groups, access management, logging, and more. And all this while allowing you to utilize your cloud credits, maintain your own login credentials and security roles, and manage all your applications using the tools of your choice. We currently support AWS, with other platforms such as Digital Ocean, GCP, and Azure on our roadmap.

Debug: If your app runs into an issue, whether during the build, configuration, or run-time phases, the Defang AI assistant detects the issue and analyzes it, using the relevant source code, logs, health-check data etc. and suggests corrective actions. We’re still building out this feature, but early results are amazing and we are eager to improve it going forward.

Image description

We would love for you to give the Defang Beta a try. It’s really quite simple to get started - go to defang.io, download the CLI for your client OS, register with your GitHub account, and off you go! Give it a whirl and let us know your feedback on our Discord. You can also find our docs here, several how-to videos on our Youtube channel, and our latest news and announcements on LinkedIn and X. We’re excited to be building Defang and grateful for the positive feedback and validation from our early adopters. We can’t wait to see what you will build with Defang!

Top comments (0)