Skip to main content

11 posts tagged with "BYOC"

View All Tags

· 3 min read

Defang Compose Update

Hi everyone,

We are a little late getting our monthly update out this time, but we did ship a number of important updates in October that we would like to inform you about. And more is coming… stay tuned for that!

  1. New CLI version 0.6.5: this was a big release with a number of improvements and bug fixes. You can find details in the release notes here, but to highlight a few:

    • defang --provider aws shows improved error message if unauthenticated
    • Added --wait and --wait-timeout flags
    • Improved generate menu: all samples shown (previously these were restricted by language), and we moved the "Generate with AI" option to now be shown in the search filter.
  2. AI Debug for BYOC: AI Debug feature is incredibly useful in helping users find and fix issues when something goes wrong. Our initial version only worked on Playground, but now we have extended this to BYOC environments. We hope this makes it even easier for you to deploy your apps to AWS, DigitalOcean, etc.

  3. A range of other improvements, including

    • Network aliases support
    • GDPR Delete Me: You can now delete your Defang account from the Defang Portal
    • 30min time-out for the deployments to avoid runaway tasks in your account
    • Allow Postgres major version upgrade, e.g. changing the image frompostgres:14 to postgres:16 in your Compose file (Currently, we only support this in --mode development, we will explore ways to support in other modes in the future.)
    • More feedback logs when containers exit, e.g. failing health-checks
    • Fixes for multiple BYOD domains in a single account

Events and Adoption

In October, the Defang team was actively involved in a range of exciting events. We participated in MLH Cloud Week, StormHacks, and hosted a DevTools Vancouver meetup, bringing together local DevTool founders, engineers, and enthusiasts. It was inspiring to see Defang in action, helping these hackers build their amazing projects.

DevToolsMeetup

When we shipped our Public Beta earlier in 2024, we had a goal to reach 1000 users by end of year. We are pleased to announce that we have already reached this milestone a couple of months in advance! We are excited to see the momentum behind the product and how our users are using Defang for developing and deploying a variety of different applications. Thank you for your support!

The Road Ahead

The team is now heads-down dotting the i’s and crossing the t’s so we can release Defang V1 before end of year. This will enable customers to use Defang for production workloads. We look forward to sharing more in our next monthly update.


CoffeeChat

Defang Coffee Chat ☕

If you're excited about what's coming next and want to hear more about our vision for the future, join us for our Coffee Chat on November 27th. We'll be sharing more about our roadmap and what we're working on next.

Register here!


As always, we appreciate your feedback and are committed to making Defang the easiest way to develop, deploy, and debug your cloud applications. Go build something awesome! 🚀

· 3 min read

Defang Compose Update

Hi everyone - you can feel the weather getting cooler, but things are heating up at Defang! Sep was another amazing month, with new features, new users, and new partners. Here is a quick summary:

  1. Bring-Your-Own-Cloud (BYOC) DigitalOcean in Preview! From the very beginning, it has been part of Defang’s vision to not only provide a simpler way to develop, deploy, and debug your cloud applications, but to be able to do so in a portable way. As developers, we all value the flexibility of knowing our application can be deployed to our chosen cloud, even if that choice changes over time. Today, we take a big step in providing that choice with the Preview of BYOC with DigitalOcean! This literally means the same application can be deployed to the Defang Playground, AWS, or DigitalOcean with no changes! Take a look at the docs, give it a try and share your feedback on our Discord.
  2. Managed Postgres: Postgres is one of the fundamental building blocks of many applications, and users wanted us to provide a way to add that to their application in a declarative way. So that’s exactly what we have done. You can now specify the Postgres image in your compose.yaml file and indicate that you want it managed by your cloud provider using x-defang-postgres: true in your service definition. Defang will automatically provision the appropriate managed Postgres in the target cloud (e.g. RDS on AWS) and do all the heavy lifting to configure and hook things up correctly. Check out the docs here, give it a try and let us know what you think.
  3. We continue to improve the quality and performance of existing features:
    1. We’ve made several improvements to our AI-assistant to increase the robustness of our Develop and Debug modules. For example, we updated generation to comply with latest Compose spec. We also addressed the top issues we saw people facing when deploying, such as out-of-memory errors when building containers.
    2. To cope with our growing user-base, we have made several scaling improvements to our Playground and Portal environments.
    3. We also made several updates to our documentation and samples to keep up with the changes and enhancements in the Defang product.

Workshop

September Events

In Sep, the Defang team participated in a number of events including HacktheNorth, LangaraHacks, MLH Global Hack Week and other MLH hackathons. It’s great to see Defang being put to use by these hackers to build their amazing projects. And we get useful insights from these events that help us improve the product. We will continue to do more of these events in the future - watch our LinkedIn page for announcements.


Google for Startups Accelerator Canada

Also in Sep, Defang was included in the Google for Startups Accelerator Canada. This is a great recognition of the value Defang is providing to cloud developers. Through our collaboration with Google, we hope to add GCP as another target cloud for Defang in the coming months - stay tuned!


TownHall

Defang Coffee Chat

Mark your calendars! If you’re eager to learn more about what’s coming next, join us for our Defang Coffee Chat on Oct 23rd. We’ll be sharing our future roadmap, answering your questions, and gathering your feedback.

Register here!


As always, we appreciate your feedback and are committed to making Defang the easiest way to develop, deploy, and debug your cloud applications. Go build something awesome! 🚀

· 3 min read

Defang Compose Update

Wow - what a month of August it has been! We made some big strides of progress on our vision of providing a radically simpler way to Develop, Deploy, and Debug portable cloud applications.

Ask Defang

We've just rolled out an initial version of Ask Defang, our AI-driven documentation assistant that can help you navigate the Defang docs and get deploying faster. It's deployed with Defang and using a combination of embeddings run on a GPU-powered service, Defang managed Redis, and OpenAI APIs.

Check it out here or head to ask.defang.io to get started!

Enhanced Platform Symmetry

We've been hard at work improving the symmetry between our Playground and BYOC environments as well as docker compose up vs defang compose up to provide a more seamless experience. You can now use multiple compose files and in BYOC the CLI will subscribe to events to monitor service health during deployments.

AI Features and Debugging Improvements

We've been working on several AI-driven enhancements to make your development process even more efficient. We've addressed key issues, such as file generation failures due to parsing errors and invalid compose files. Also, our Debug Assistant is now more robust, handling context size limits better than before.


Workshop

August Events

This month, we hosted an in-person workshop to get more developers acquainted with Defang and simplify their cloud app journey. You can view the presentation here. We also held the first-ever DevTools Vancouver meetup, bringing together local DevTool founders, engineers, and enthusiasts.

Looking ahead, we’re excited to collaborate with MLH, Hack the North, LangaraHacks, and more in September. If you'd like to attend any of these events, be sure to sign up!


TownHall

Townhall

Mark your calendars! If you’re eager to learn more about what’s coming next, join us for our Townhall on September 25th. We’ll be sharing our future roadmap, answering your questions, and gathering your feedback.

Register here!


Roadmap

We're working on a number of new features to make Defang even better. Here are some of the most exciting ones:

  • Managed Postgres: We're working on getting Defang to provision managed Postgres services for you, so you can easily store and query data in your applications.
  • Digital Ocean BYOC: We're working on adding Digital Ocean BYOC to give you even more choice over where you deploy your applications.

We’re excited to keep enhancing Defang to make it the easiest way for you to Develop, Deploy, and Debug cloud applications. Stay tuned for more updates next month! 🚀

· 3 min read

Defang Compose Update

Hey folks! We can’t believe a month has gone by already, time flies when you’re having fun! We continued to make progress on our vision of providing a radically simpler way to Develop, Deploy, and Debug cloud applications. In July, we spent time on a couple of key areas:

  1. As our user-base grows, we wanted to make sure we’re able to scale our Playground environment to be able to handle the load. This involved being able to shard the workload across multiple ALBs and being able to dynamically move some workloads across shards where possible. With these changes, we are now able handle a large number of concurrent users comfortably. The only noticeable change in behavior you would see is that Defang will now ask you to “compose down” your previous project before you are able to deploy a new project on Playground.

  2. The major news this month was the introduction of our “debug” functionality. The motivation for this feature was that while the Defang experience is amazing when everything goes smoothly, we saw users (including our own interns who are helping write all those samples) struggle when they hit an error. The underlying reason for the error could come from a variety of sources: an error in the developer’s application (including in their Dockerfile or Compose file), an issue in the way Defang is processing the application, or an issue in the underlying cloud platform (currently, AWS). To the developer, it is often not obvious what the issue is or how to fix it. That got us thinking how we could make this debugging experience “radically simpler” and thus the idea for defang debug was born.

    Now (with CLI v0.5.37 if your application encounters an error that leads to a failed deployment, a failed health-check, or a run-time error, Defang will automatically detect the issue. It will then offer to help you debug it by running the defang debug command. If you choose to proceed, Defang will apply an LLM model to try to determine the precise cause of the error, with the context of your application source, logs, error code etc. And it will try to come up with one or more actionable insights on how to fix the error. For an example, see the case below:

    Behind the scenes, Defang is having a conversation on your behalf with the LLM to narrow down to the cause of the error. We would love for you to try the debug feature and give us your feedback so we can improve it further. One future improvement already on our list is the ability to, with user consent, automatically apply a chosen fix and re-try. We are also looking for way to improve the range of failures we are able to diagnose successfully.

Townhall

If you're excited about what's coming next and want to hear more about our vision for the future, join us for our Townhall on August 21st. We'll be sharing more about our roadmap and what we're working on next. We'll also be making sure to take time to answer any questions you have, hear your feedback, and learn more about what you want from Defang!

Register here


We’re excited to keep improving Defang to make it the easiest way for you to Develop, Deploy, and Debug cloud application. Stay tuned for more updates next month.

· 3 min read

Defang Compose Update

Hey folks! We've got another batch of updates to share with you about what the Defang team has been working on over the past month. We're committed to improving your deployment experience, so let's take a look at what's new.

Windows Experience Improvements

For our Windows users out there, we've made some changes to make your Defang experience even smoother:

  • You can now install Defang using winget, the Windows Package Manager, for a streamlined setup
  • We've introduced a signed binary for added security and peace of mind

Deploying your apps from Windows just got a little bit nicer.

One-click Deploy

We've added a new feature that will make it even easier to get started with Defang. We've created a flow where each sample provides a button that allows you to immediately deploy a template with a GitHub action which will automatically deploy the sample to the Defang Playground. That means you can easily make changes by committing them to your brand new repo, and everything automatically updates in the Playground. It's a great way to get started with Defang and start experimenting with your own projects.

Try it now from our portal!

screenshot of 1-click deploy UI in portal

Managed Redis Updates

We first introduced this last month, but we've since rolled it out to everyone. We also added a sample that showcases the power of managed Redis: BullMQ with Redis. It demonstrates how you can use BullMQ and BullBoard with a managed Redis instance to create a powerful job queue system so you can easily build robust, scalable applications in AWS with Defang.

Updated Samples

We've updated our sample projects to showcase how to use them with Defang, including:

Check them out if you're looking for some inspiration or a starting point for your own projects.

CLI Updates

We're always looking for ways to enhance the CLI experience. Here's what's new:

  • npx defang automatically checks to always have the latest version of the CLI
  • The output during defang compose up has been streamlined to focus on the most important information
  • defang tail now supports listening to specific services, making it easier to troubleshoot issues
  • We've improved hints and error messages to better guide you when something goes wrong
  • The CLI now has improved color support for light theme terminals, making it easier on the eyes

It's the small refinements that can make a big difference in your workflow.

Other Updates

Here are a few more things that didn't quite fit with the rest:

  • Visibility into ECS deployment events in BYOC tail logs
  • Improvements to ACME certificate generation

Keep an eye out for these updates in the near future.


As always, we'd love your help shaping the future of Defang, so let us know what you'd like to see next. Happy deploying! 🚀

· 4 min read

Defang Compose Update

Hey folks! We’re back with another exciting update about Defang. Our team has been working hard to bring you new features and improvements so you can get deploying faster. Here’s a rundown of what we’ve been up to this month:

Samples, samples, samples!

We've been cranking out samples like there's no tomorrow. We've published samples to get you up and running with FastAPI, Elysia, Angular, React, Svelte, Sveltekit, Sails.js, Phoenix, and more. You can filter through them on the Defang homepage. Check out our video about all the new samples and functionality.

Start from a sample in seconds

With all this work we've been putting into samples, we realized it would be pretty awesome if you could clone a sample faster. So we updated the CLI. Now, if you run defang generate you'll be able to filter through the samples and choose one. You can also filter through the samples on the Defang homepage and clone any of them with a simple command like defang new sveltekit.

Sample templates

If you look through our GitHub organization, you'll start seeing loads of repos with the structure sample-<sample_name>-template. If you open them, you can create a new repo by clicking this button:

screenshot of github UI pointing towards template button

Not only will that create a new repo based on the sample in your account, but if you've used Defang before (and accepted the Terms and Conditions) it will automatically deploy it to the playground so you can start playing with Defang immediately.

ACME for BYOD

We’re excited to announce that ACME support is now available for Bring Your Own Domain (BYOD) in both Bring Your Own Cloud (BYOC) and Playground. This means you can easily add Let's Encrypt certificates to your custom domains, regardless of where your DNS is hosted. Defang will handle the certificate generation and automatic renewal for you. Nice and easy.

Warnings for Stateful Services

To help you avoid potential pitfalls, we’ve added warnings against deploying stateful services with Defang, since you shouldn't actually be deploying anything stateful with Defang. For example, we'll warn you if you try to deploy services with images like postgres:<version>, redis:<version>, minio:<version>, etc.

In the near future we will be offering ways to run some stateful services using cloud providers' managed offerings. For example Redis, Postgres, and S3. Speaking of which...

Managed Redis!

Redis is such a versatile tool that can help with so many different use cases. So we've introduced Managed Redis! You can now specify the Redis image in your compose.yaml file and indicate that you want it managed by your cloud provider using x-defang-redis: true in your service definition.

Load Testing

To make sure Defang is ready for loads of new users, we've been doing a lot of load testing. This is going to help us identify and address potential bottlenecks so we can make sure that Defang scales efficiently and handles all you new users smoothly.

Upgraded Kaniko

We’ve upgraded our Kaniko integration to version 1.23.0 to improve your container build experience. The new version comes with several bug fixes that enhance stability and performance. This means faster and more reliable builds for your applications.

Upcoming Features

We’re not stopping here! Here’s a sneak peek at what’s coming soon:

Managed Postgres

Building on the momentum of Managed Redis, we’re introducing Managed Postgres. Soon you’ll be able to easily integrate a managed Postgres database into your deployment!

BYOC ECS Lifecycle Events

Defang runs your services with ECS, and we're working on making it clearer what's happening under the hood.


Stay tuned for more updates and improvements. As always, we appreciate your feedback and are committed to making Defang the easiest way to deploy your applications to the cloud. Go deploy something awesome! 🚀

· 2 min read

Defang Compose Update

Hey folks! There is a lot going on at Defang and we're excited to share our latest product updates with you. Over the last month, we've been working hard to improve the Defang system and make it even easier for you to deploy your applications. Here's a quick overview of what we've been up to:

npx defang

We know a lot of you are using Defang for the first time. To make it easier to get started, we've added a new way to install the Defang CLI. Now you can use npx to run the CLI without installing it globally. Just run:

npx defang@latest

This will download the latest version of the Defang CLI and run it for you. No need to worry about installing or updating the CLI manually!

(coming soon) Bring Your Own Domain with Let's Encrypt

Previously you could bring your own domain with Defang BYOC... but you had to host the DNS records with AWS Route 53 in the AWS account you were deploying to. Now you can point domains hosted anywhere to your Defang deployment and we'll take care of the rest. We'll help generate a Let's Encrypt certificate for your domain and automatically renew it for you.

Windows Support

Some of you use Defang from a Windows PC and previously a few features didn't work correctly on Windows. Some stuff we've fixed:

  • ansi color codes in logs
  • handle ctrl-c when tailing logs

Improved CLI

We've made a variety of small tweaks and improvements to the CLI which should make things a little bit cleaner and more stable.

  • log messages have been made more clear
  • adding more progress information during compose up

Stability and Reliability

Defang is still in Beta and we know we've got to be rock solid by the time we release V1, so we've been working hard to improve the stability and reliability of the Defang architecture. We've been battle-testing different technologies to see how they hold up and have mad a few changes that should make things even better:

  • capacity improvements in build queues
  • improvements in log availability

· 3 min read

Hey folks! Today, I'm going to share one of our code samples that will show you how to deploy a simple Slack bot. If you're looking to connect a cloud service to Slack to publish status updates, or something else like that, this should help you get started. We'll walk through a step-by-step process of writing a Go program using the github.com/slack-go/slack library to interact with the Slack API and easily deploy it using Defang.

Prerequisites

Before we dive into the details, let's make sure you have everything you need to get started:

  1. Install Defang CLI: Simplify your deployment process by installing the Defang CLI tool. Follow the instructions here to get it up and running quickly.

  2. Slack API Token: Create a Slack App at https://api.slack.com/apps, granting it the necessary permissions, including the bot chat:write scope. screenshot of the slack admin UI showing the bot scopes

  3. Install the app in your workspace: You'll need to install the app in your workspace for it to work. Click the "Install to Workspace" button in the Slack admin UI to do this. Mine says "Reinstall" because I've already installed it. screenshot of the slack admin UI showing the install button

  4. Copy the Bot User OAuth Access Token: This token will authenticate your Slackbot with the Slack API. screenshot of the slack admin UI showing the auth token field

  5. Invite the Bot to a Channel: To enable your Slackbot, invite it to the desired channel using the @<botname> command. In the screenshot below, my bot's name actually starts with the word invite, but if your bot is called mycoolbot you would invite it with @mycoolbot. This ensures your Slackbot has the required permissions to interact with the channel. screenshot of the slack chat UI showing me inviting my bot

  6. Clone the Sample Code: Clone the Defang repository and navigate to the samples/golang/slackbot directory. This directory contains the sample code for the Slackbot.

git clone https://github.com/DefangLabs/defang
cd defang/samples/golang/slackbot

Deployment Steps

Now that we have everything set up, let's dive into the deployment process. Follow these steps to deploy your Slackbot effortlessly:

  1. Set Up Secrets: Prioritize security by configuring environment variables as sensitive config. Use the Defang CLI's defang config set command to set the SLACK_TOKEN and SLACK_CHANNEL_ID configs. Replace your_slack_token and your_slack_channel_id with the respective values:

    defang config set --name SLACK_TOKEN --value your_slack_token
    defang config set --name SLACK_CHANNEL_ID --value your_slack_channel_id
  2. Deploy the Slackbot: Use the Defang CLI's defang compose up command to deploy.

Usage

With your Slackbot up and running, let's explore how to make the most of it. Simply send a POST request to the / endpoint with a JSON body containing the message you want to post to the Slack channel. Popular tools like cURL or Postman can help you send the request:

curl 'https://raphaeltm-bot--8080.prod1.defang.dev/' \
-H 'content-type: application/json' \
--data-raw $'{"message":"This is your bot speaking. We\'ll be landing in 10 minutes. Please fasten your seatbelts."}'

Takeaways

Congratulations! You've successfully deployed a Slackbot using Defang. If you deployed this as an internal service, you could use it to send status updates, alerts, or other important messages to your team. The possibilities are endless!

· 2 min read

Defang is aiming to reduce the barriers to entry to cloud application development. With our tooling, we make it really easy to deploy multi-service containerized applications to your own cloud with a single command.

We want it to be easy for you to try Defang with as little friction as possible, though, so we have done the work so you can easily get started in a GitHub Codespaces environment, a GitPod Workspace, or even a local Dev Container.

Codespaces

If you want to get started with Codespaces, you can just fork this repo. It comes with the Defang CLI pre-installed so you can start playing with it immediately. It's setup using the Defang CLI Dev Container Feature.

Dev Containers

Dev Containers are a cool way to provision and configure development environments and share that configuration with other people you are working with. It's a spec that is supported by VS Code, Visual Studio, the JetBrains IDEs like IntelliJ and PyCharm, DevPod and others.

GitPod

GitPod is another Cloud IDE, a bit like GitHub Codespaces. If prefer GitPod, you can try Defang in a GitPod environment by using this repo.

· 4 min read
About the author: Aaron Yu is currently an intern at Defang Software Labs with a keen interest in the area of web development. He wrote this blog post after trying to deploy an application by himself directly on AWS first, and then using Defang.

As a student at University of British Columbia, new to the area of web development, I needed to develop and deploy a web application as a course project. It was already a huge challenge to complete the coding part. I could not believe that an even bigger challenge awaited. Picking the right platform and services is tough to start with. Do you know that AWS offers 200 different services? Lucky for me my professors’ instructed us to use ECS. Otherwise, I would have been totally lost.

Starting my project, honestly, it felt like I was hitting a brick wall. Diving into AWS with little to no clue was tough. Terms like "ECS clusters," "task definitions," and "IAM roles" were flying over my head. I was scared of messing something up, especially when it came to setting up things like ECR and load balancers.

It was overwhelming when all these unfamiliar concepts came at me at once. I searched them up on the internet and went straight to a top-rated YouTube tutorial. I spent an hour and a half going through the whole video series. Those tutorials, as helpful as they were, couldn't fully prepare me for the hands-on challenges of real-life implementation. It's one thing to follow along with a guide when everything goes right; it's another to adapt when things don't quite match up to the tutorial’s scenarios.

Example banner
It could be confusing if you are new to this area

I ran into so many problems with configuring services. Sometimes it is caused by carelessly selecting the wrong options; sometimes it is due to the fact that I have no idea what the buttons mean; sometimes it is just a bug with my code. Those errors triple the time it took to deploy my project. It was indeed extremely frustrating.

error-AWS
I have this scary screen when trying to delete the service I created; this is merely one of the many errors I faced

Then I found Defang (www.defang.io), and it was like someone flipped a switch. Suddenly, all that complicated stuff became way easier. All I needed to do is to install Defang, build a compose.yaml file to describe my application, and run a single command - defang compose up. And Defang even has a Gen-AI assistant to help you write the code and compose file for your application. Defang automatically does all the heavy-lifting behind the scenes - configuring all the necessary services in a secure and optimal way, and automatically building and deploying my application components. No more late nights trying to figure out AWS docs or stressing about getting everything right. Deploying my Django Restaurant Homepage went from being my biggest worry to one of the smoothest parts of my project.

defang-compose-up
with just a single command in the CLI

With Defang, I could chill a bit and actually enjoy working on my project, focusing on the cool parts without getting bogged down by all the technical stuff. It made cloud deployment feel doable and fun, even for someone like me who was pretty much a beginner. Give it a try yourself - go to www.defang.io to get started.

sample-result
It is deployed to the internet! (arorschach is my username)

Try it yourself!

Sample Code: Restaurant Homepage

Defang Docs: Docs