Deploy and Run FastAPI Application using Kloudbean.

Why Choose Kloudbean for Your FastAPI Application?

  • Deploy your FastAPI app in minutes with just a few clicks.
  • Kloudbean automatically adjusts resources to handle varying traffic loads, ensuring your app runs smoothly.
  • Built-in monitoring tools track app performance, health, and resource usage for easy troubleshooting.
  • Kloudbean secures your app with multi-layered security protocols, including application isolation and encryption.
  • Set up custom domains and enjoy free SSL certificates for secure connections.
  • Kloudbean offers optimized Uvicorn and Nginx configurations for efficient traffic handling and fast performance.
  • Track incoming traffic and responses to ensure smooth performance under load.
  • CICD and One-Click deployment.

With Kloudbean managing the complexities of deployment, scaling, and security, you can focus on what matters most—your code and business. Let’s dive into how to get your FastAPI app up and running on Kloudbean.

Running Your FastAPI Application on Kloudbean

Now that you understand the benefits, let's dive into how you can deploy your FastAPI application on Kloudbean.

Step 1: Creating FastAPI app on new server.

This step involves;

  • Choosing Cloud Provider
  • Choosing Application
  • Choosing Datacenter with nearest location
  • Adding Application Name
  • Adding Server Name
  • Selecting Server size depending on needs.
Demonstration on creating new FastAPI application on new server.
Demonstration on creating new FastAPI application on new server.

Once your application is created. You can access default application by using the Application URL from Application Administration .

Demonstration on accessing application administration.
Demonstration on accessing application administration.

Step 2: Deploying FastAPI app with Git.

In order to deploy your code through Git, Follow these steps:

  1. Go to Deploy Code section, Click on GENERATE SSH KEY, if not already generated. If your repo is private, then you can get SSH key by clicking on SHOW SSH KEY.
  2. Once SSH keys are added in your private repo (not required for public repo), Copy Git Address from your Github and paste it to Git Branch Address field.
  3. Select your branch that you wants to deploy from Branch field.
  4. Once above steps are done, Click on Clone Now Button to clone your repo.

Additionally you can see your code using kloudbean File Manager feature, by clicking on LAUNCH FILE MANAGER button.

Demonstration on deploying code with Git. 
Demonstration on deploying code with Git. 

From the File Manager, you will see code has been deploy in following directory.
/home/admin/hosted-sites/<app-system-name>/fastapi-src/

While in this example <app-system-name> is kb_d041nct8nn

If you to learn more how to clone Git repo, Read this

Step 3: Updating bean.conf file

In your code directory you will see a file named bean.conf is created automatically by kloudbean deployment process inside fastapi-src directory. This file is super important and it includes the information about the app_directory and app_name, along with number of workers.

Demonstration on accessing bean.conf file. 
Demonstration on accessing bean.conf file. 
  • APP_DIR is the directory after fastapi-src where your application main app file resides. Like in current case main.py file placed on the root, so APP_DIR=/
  • APP_NAME is the name of file colon app name that is the name of app in my main.py file. like in current case file name is main and app name is app so it is main:app.
  • WORKERS is the total number of workers uvicorn will have to handle incoming api requests. by default kloudbean assign number of workers depending on server and your application size, but you are allowed to change it as per demand.

Note that you can create this file in your code root path as well, if you have different APP_DIR, APP_NAME and WORKERS requirement.

APP_DIR=/
APP_NAME=main:app
WORKERS=4
Demonstration on updating bean.conf file (if require)
Demonstration on updating bean.conf file (if require)

Optional Step 4: Adding env file for environment variables

If application use env file in order to load app enviroment variables. we can easily create env file using File Manager.

  1. Access file manager by clicking on LAUNCH FILE MANAGER BUTTON
  2. In required directory Click on New file from side menu.
  3. Add file name (.env) and hit 
  1. Add file name (.env) and hit 
Demonstration on adding env file (if required)
Demonstration on adding env file (if required)

Your env file is created and opened in editor. you can copy paste or add variables manually in this file. If your application is reading database credentials from env, you can add them as well.

Demonstration on adding env variables 
Demonstration on adding env variables 

Step 5: Applying new configurational changes

Once all the required configurations are update. It's time to apply those changes. We can apply the changes either by Hitting Pull & Deploy button, or we can run sudo adm command from the shell or terminal.

Accessing the Application

As application has been deployed. You can access it using the default URL provided by kloudbean on Access Tab. In this example url is https://fastapi-232199536363147.kloudbeansite.com

Demonstration on accessing the application.
Demonstration on accessing the application.

Optional Step 4: Deployment through Shell/Terminal:

If you to want access your application server through shell in order to perform deployments, explore logs and errors or update/review code, Follow these steps.

  1. Access your server using ssh command on your terminal. Copy server IP address.
  2. Copy admin username.
  3. Copy admin user password.
Demonstration on getting server ssh/sftp credentials.
Demonstration on getting server ssh/sftp credentials.

 In your terminal write SSH command. ssh <admin-username>@<ip-address>

Like in this example ssh command is ssh [email protected]
After you paste password and hit Enter, You should be successfully into the server through secure shell.

If you to learn more about how to ssh server Read this

Demonstration on executing ssh command.
Demonstration on executing ssh command.

Optional Step 5: Deploying code using adm utility.

 Once you are ssh into the server, you can perform manual deployment using command sudo adm on the terminal. It will list you all the applications that are installed on this server, with its system-name. The application we just installed is the one with system-name kb_xmwcr8wa0s so we will type  3  and hit Enter. It will start deploying the application.

Demonstration on deploying new changes with adm.
Demonstration on deploying new changes with adm.

Once deployment process starts, It will perform following steps;

  1. Take a pull. If new commits are available on our branch, latest code will be pulled.
  2. System will attempt to install dependencies by installing in from requirements.txt file.
  3. It will update the service and restart the uvicorn automatically to make new changes effective.
Demonstration on deploying new changes with adm.
Demonstration on deploying new changes with adm.

Optional Step 6: View deployment and application logs

If you want to view application logs you can see api access and application logs from app-logs directory by executing following command;
tail  -100  /home/admin/hosted-sites/<app-system-name>/app-logs/service.log

Demonstration on accessing application from shell.
Demonstration on accessing application from shell.

Optionally you can review application and access logs from File Manager.

  1. Access File Manager by Clicking on LAUNCH FILE MANAGER from Deploy Code Tab.
  2. Click on app-system-name kb_d041nct8nn in top navigation bar.
  3. Click on Folder app-logs
  4. Double click on server.log to view application logs file.
Demonstration on accessing logs through File Manager.
Demonstration on accessing logs through File Manager.

Read how to enable auto deployment using CI/CD.

Conclusion

Kloudbean makes deploying FastAPI applications fast, easy, and secure, freeing you from the complexities of DevOps. With just a few clicks, your application is ready to handle production traffic with optimized performance. Start deploying with Kloudbean today and take your FastAPI application to the next level!

If you still face any trouble while making your Flask app live using kloudbean platform, Our DevOps support is available 24/7 to assist you.

Was this article helpful?

Deploy and Run Django Application using Kloudbean.
Deploy and Run Flask Application using Kloudbean.