Future AI backend processing : Leveraging Flask Python on Firebase Cloud Features | by Surahutomo Aziz Pradana


Welcome, Firebase fanatics!

As we speak, we’re venturing into the realm of serverless computing that may be built-in with AI utilizing Python language to discover the wonders of cloud features with Python, particularly with Firebase Cloud Features. These features supply a seamless method to execute code in response to numerous triggers, all with out the trouble of managing servers.

However earlier than we dive deep into serverless territory, let’s briefly evaluate this method with one other fashionable architectural sample: microservices.

Serverless cloud features and microservices are each architectural patterns used to construct scalable and versatile purposes. Nonetheless, they differ in a number of key points:

1. Useful resource Administration:

  • Serverless Cloud Features: With serverless features, cloud suppliers deal with infrastructure administration, together with server provisioning, scaling, and upkeep. Builders focus solely on writing code with out worrying about underlying infrastructure.
  • Microservices: Microservices require builders to handle their very own infrastructure, together with servers, containers, and orchestration instruments like Kubernetes. Whereas this provides extra management over assets, it additionally provides complexity and overhead.

2. Scaling:

  • Serverless Cloud Features: Cloud features routinely scale up or down based mostly on demand. Suppliers allocate assets dynamically, making certain optimum efficiency and price effectivity.
  • Microservices: Scaling microservices includes guide or automated administration of assets. Builders should anticipate site visitors patterns and alter useful resource allocation accordingly, which could be difficult to implement and keep at scale.

3. Price:

  • Serverless Cloud Features: Serverless features supply a pay-as-you-go pricing mannequin, the place you’re charged just for the assets used throughout execution. This may be cost-effective for sporadic workloads with unpredictable site visitors.
  • Microservices: Microservices require fixed useful resource allocation, no matter workload fluctuations. Whereas this offers extra predictable prices, it could result in overprovisioning and wasted assets during times of low exercise.

4. Growth and Deployment:

  • Serverless Cloud Features: Growing and deploying serverless features is easy and requires minimal setup. Builders deal with writing code, and deployment is dealt with by way of easy CLI instructions or CI/CD pipelines.
  • Microservices: Growing and deploying microservices includes extra upfront setup, together with infrastructure provisioning, containerization, and repair discovery. Managing dependencies and versioning throughout a number of providers provides complexity to the event and deployment course of.

Now that we’ve outlined the variations between serverless cloud features and microservices, let’s delve into the specifics of constructing and deploying cloud features with Python utilizing Firebase Cloud Features.

With out additional ado, let’s get began by establishing our Firebase challenge.

Guarantee you’ve gotten Python put in in your system. If you happen to haven’t already, set up the Firebase CLI globally utilizing npm:

npm set up -g firebase-tools

Subsequent, log in to your Google account and initialize a Firebase challenge in your required listing. In the course of the initialization course of.

firebase login
firebase init features

you’ll be prompted to decide on both JavaScript or TypeScript as your default language. Choose Python if prompted.

After that, you’ll be given this challenge construction to get began with!

Now, earlier than we proceed to the code, don’t forget so as to add Flask into the necessities.txt to combine Flask into our Cloud Features, on the time of writing I do advocate utilizing model 2.1.2 for the supported model with Cloud Features.

Then let’s set up all obligatory dependencies with

python -m venv features/venv
supply features/venv/bin/activate && python -m pip set up -r features/necessities.txt

Now, let’s write some Python code for our cloud operate. For this instance, let’s create a easy operate that responds to HTTP requests with a pleasant greeting.

Navigate to the features listing created by the Firebase CLI and open the important.py file. Exchange the contents with the next Python code:

from firebase_functions import https_fn
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hi there, Firebase Cloud Features with Python'

@https_fn.on_request(max_instances=1)
def articles(req: https_fn.Request) -> https_fn.Response:
with app.request_context(req.environ):
return app.full_dispatch_request()

The code above will wrap your Flask python framework contained in the Firebase Cloud Features. which suggests

“ 1 Cloud Operate can wrap a number of Flask API Endpoints”

For an instance, now we have a cloud features named “articles” the place we are able to have a number of API endpoints similar to
– /contents
– /pictures
– /mills and many others.
I different phrases, you can even deal with a Cloud Features stand as a Microservice, the place they’d their very own duty for the scope and contents.

With our operate prepared, it’s time to deploy it to Firebase. Run the next command out of your challenge listing to deploy your operate

firebase deploy --only features

As soon as deployed, you may check your cloud operate by sending an HTTP request to its set off URL. You’ll find the URL within the Firebase console underneath the “Features” tab.

Now, open your favourite browser or use a device like cURL to ship a GET request to the set off URL. You must obtain a pleasant greeting in response!

curl https://YOUR_CLOUD_FUNCTION_ID.run.app/YOUR_API_NAME

Congratulations! You’ve efficiently constructed and deployed your first cloud operate with Python utilizing Firebase Cloud Features.

Now you may hit your deployed cloud features by way of Postman as properly which in my case I’ve a POST API referred to as /generate to generate articles with Generative AI. I’ll share extra about this in one other article!

So, In abstract, now we have realized :
– Perceive the good thing about utilizing serverless over microservice
– Setup Firebase Cloud Features utilizing Python
– Combine Flask into our Python Firebase Cloud Features.
– Deploy our Flask Firebase Cloud Features

If you happen to want the supply code be happy to fork it from right here : https://github.com/retzd-tech/genai-openai-firebase-function-sample

That’s it!

In case you are up for subsequent degree, you may implement a extra clever AI LLM Mannequin, be happy to learn it right here!

whether or not you’re constructing a Generative AI Software, internet utility, processing knowledge, or automating duties, Firebase Cloud Features with Python have gotten you coated. Blissful coding within the cloud!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *