This blog discusses how Google Cloud Functions can be used for processing data in a three-tier architecture and automated deployments using GitHub Actions.
The solution uses tools like Google Cloud Platform (GCP), Cloud Storage, Cloud Functions, Google Composer, and GitHub Actions.
The solution architecture diagram helps in understanding the flow of the solution followed by the deployment process.
This solution demonstrates how to leverage Google Cloud Functions, Composer, and BigQuery to create a robust three-tier data processing pipeline.
The automation using GitHub Actions ensures a smooth, reproducible deployment process, making it easier to manage cloud-based data pipelines at scale.
After the deployment process is complete, multiple resources like Cloud Storage Buckets, Cloud Functions, Service Account for Composer, BigQuery Dataset and Tables, Google Composer Environment, and Composer DAG are created.
In order to use GitHub Actions, certain prerequisites must be fulfilled, like GCP account, Service Account for DevOps, Secured Access to GCP service account credentials, project ID, and bucket name as secrets using GitHub Actions.
The GitHub Actions Pipeline includes jobs like enabling services, deploying Cloud Function, Cloud Composer Service Account, and Big Query Dataset, creating Composer Environments, HTTP Connection, and DAGs.
Setting up the DevOps service account is one of the crucial steps in this process that includes creating a service account with necessary permissions to deploy resources in GCP. Related Roles, Big Query Dataset tables, and suitable permissions must be granted during the service account provisioning.
This solution uses a Composer DAG that manages the workflow that invokes Cloud Functions and processes data.