Deploy and Run Flask Application using Kloudbean.

Why Choose Kloudbean for Your Flask Application?

  • Deploy your Flask 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 Gunicorn 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 Flask app up and running on Kloudbean.

Running Your Flask Application on Kloudbean

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

Step 1: Creating Flask 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 Flask application on new server.
Demonstration on creating new Flask application on new server.

Once your application is created. You can access default application by using the Application URL from Application Administration . This section include following access panels.

  1. Application default access url (managed by kloudbean).
  2. Database access url using phpmyadmin.
Demonstration on accessing application administration.
Demonstration on accessing application administration.

Read this to learn more about connecting Git repo.

Step 2: Deploying Flask app with Git.

To deploy your code from GitHub repo, you will copy repository address.

Demonstration on getting Git repository address
Demonstration on getting Git repository address

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.

As an example we are going to deploy an open source app helloflask.

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

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 flask-src directory. This file is super important and it includes the information about the app_directory and app_name, along with number of workers.

Note that you will see app source code is present at following directory

Demonstration on accessing bean.conf file. 
Demonstration on accessing bean.conf file. 
  • APP_DIR is the directory after flask-src where your application main app file resides. Like in current example app.py file placed in form, so APP_DIR=form
  • APP_NAME is the name of file colon app name. In this example app is the file name where app.py and app name is app app: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=app:app
WORKERS=6
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 CREATE Button.
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.

Demonstration on applying new configuration 
Demonstration on applying new configuration 

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:/flask-232199543363147.kloudbeansite.com

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

Optional Step 6: 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.

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

Read this to learn more about how to ssh a server.

Optional Step 5: Deploying code using sudo adm command

 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_lwok8mnc2h so we will type  7  and hit Enter. It will start deploying the application.

Demonstration on deploying new changes using adm.
Demonstration on deploying new changes using 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 it from requirements.txt file.
  3. It will update the service and restart the gunicorn automatically to make new changes effective.
Demonstration on deploying new changes using adm.
Demonstration on deploying new changes using 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 this to learn how to enable auto deployment using CI/CD.

Conclusion

Kloudbean makes deploying Flask 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 Flask 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 FastAPI Application using Kloudbean.
Deploy and host a Node.js app with multiple processes.