Posts

Showing posts with the label gcp

Deploying a Python Flask Server to Google Kubernetes Engine

Image
Introduction In this article, I will guide you through deploying a Python Flask Server to Google Kubernetes Engine (GKE) . Previously, I wrote an article about deploying a NodeJS Application to GKE , which you can refer to for some basic information before continuing. Steps to Follow The process is quite similar to deploying a NodeJS Application and includes the following steps: Create a Python Flask Server Build a Docker image Push the Docker image Deploy the Docker image to GKE You will notice that when working with Kubernetes , the main difference is in the step where you build the Docker image . Depending on the application you need to deploy, there are different ways to build the Docker image . However, the common point is that once you build the Docker image , you have completed almost half of the process. This is because the subsequent steps involving Kubernetes are entirely the same. Detailed Process 1. Create a Python Flask Server In this step, you can either use an exist...

Integrating NodeJS with Google Cloud Pub/Sub

Image
Introduction Google Cloud Pub/Sub is a fully-managed, real-time messaging service that enables you to send and receive messages between independent applications. This article will guide you through integrating NodeJS with Google Cloud Pub/Sub for simple message sending and receiving. Additionally, I've written an article on using Kafka , a distributed event streaming platform, to demonstrate message sending and receiving through NodeJS and Golang . Prerequisites Before proceeding with the following steps, make sure you have: A Google Cloud account with Pub/Sub enabled. Basic knowledge of NodeJS . In this article, I'm using a NodeJS TypeScript project. You can find setup instructions here . Implementing the Code After setting up your NodeJS TypeScript project , install the following package: yarn add @google-cloud/pubsub Next, update the ` main.ts ` file with the following content: import { PubSub , Topic , Subscription } from '@google-cloud/pubsub' export c...

Deploying the Go Function to Google Cloud Function

Image
Introduction Previously, I wrote a guide on deploying a NodeJS TypeScript Function to Google Cloud Functions (GCF) and provided some basic information about GCF , which you can check out here. In this article, I'll walk you through a simple way to deploy a Go Function to GCF . Prerequisites Before we dive in, make sure you: Have a Google Cloud account and have enabled Cloud Functions . Have a basic understanding of Go . You can refer to this guide to set up the Go project used in this article. Implement Cloud Function After setting up your Go project , rename the module in the ` go.mod ` file to follow this format: ` example.com/moduleName `. This is required to deploy a Go Function . Next, update the content of the ` main.go ` file as follows: package packageName import ( "encoding/json" "fmt" "net/http" "strings" "time" ) // get method func GoCloudFunction1 ( w http . ResponseWriter , r * http . Request ) { f...

Deploying a Golang Application to Google Kubernetes Engine

Image
Introduction In this article, I will guide you through deploying a Golang Application to Google Kubernetes Engine ( GKE ). Previously, I wrote an article about deploying a NodeJS Application to GKE , which you can refer to for some basic information before continuing. Steps to Follow The process is quite similar to deploying a NodeJS Application and includes the following steps: Create a Golang Application Build a Docker image Push the Docker image Deploy the Docker image to GKE You will notice that when working with Kubernetes , the main difference is in the step where you build the Docker image. Depending on the application you need to deploy, there are different ways to build the Docker image . However, the common point is that once you build the Docker image , you have completed almost half of the process. This is because the subsequent steps involving Kubernetes are entirely the same. Detailed Process 1. Create a Golang Application In this step, you can either use an existin...

NodeJS Secure Environment Variables with Google Key Management Service

Image
Introduction When developing applications, using environment variables is essential. They help configure values for different environments like development, staging, and production. Some environment variables, such as API keys , database connections , or passwords , are sensitive and need to be kept secure. If you're using Google Cloud , their Key Management Service (KMS) can help you manage keys, and allows you to encrypt and decrypt values using those keys. Prerequisites Before we proceed, make sure you have: A Google Cloud account with permissions to use KMS . Google Cloud CLI installed . Basic knowledge of NodeJS . You can refer to this guide to set up a NodeJS TypeScript project , which will be used in this tutorial. Key Management Service KMS works with key rings, which hold multiple keys. You use these keys to encrypt and decrypt string values or file data. Be cautious: if a key is deleted, any data encrypted with it can't be decrypted anymore. To create a key ring,...