Azure Logic Apps Anywhere: Host your logic app in Google cloud (GCP)

Vinnarason James
5 min readJun 6, 2021

Run your logic apps on Google Kubernetes Engine

With the new capabilities introduced, Azure Logic Apps has become even more powerful. It can be hosted on any containerized platforms that strengthens Azure Integration Services position in the market.

This is third part of the series of 4 part article, where we are hosting logic apps on various container platforms. In this part we are going to host our workflow in Google Kubernetes Engine on GCP

If you need to refer the previous parts, please go to the previous articles

Now the fun part begins. We have proven logic apps can be containerized and run on a local docker container, that means it can be deployed on any container platforms as well. I have chosen to run the same logic app on Google Kubernetes Engine on GCP first.

Pre-requisites:

· Google cloud account — Free Trial and Free Tier | Google Cloud

· GCloud command line tool — gcloud command-line tool overview | Cloud SDK Documentation (google.com)

I have found google cloud console very helpful in providing intuitive commands and guidelines on the browser to help to complete the creation of the cluster. Alternatively, as a side tutorial, there was popup that provides cloud shell command lines to achieve the same.

· Added a container registry to the project and push the container image from Part 2 to the registry

Pushing and pulling images | Container Registry documentation (google.com)

· Once you have valid image tagged and pushed to the registry, we are ready to create workloads.

You can see the list of previously deployed workloads and its statuses.

· Click on Deploy to create a new deployment using an existing image from GCR.

· When clicking on select from the image path, you will be presented with the list of images from your GCR

· On continue, configure the following page, and click Deploy

· If the workload is successfully created, the logs under workloads would look very familiar

· once the workload is deployed okay, we are now ready to create Services and Ingress to expose the logic apps as a service externally or internally.

Exposing applications using services | Kubernetes Engine Documentation (google.com)

Create a Service to expose your Deployment

  • On the Deployment details page, click list Actions > Expose.
  • In the Expose dialog, under Port mapping, set the following values:
  • Port: 443
  • Target port: 8080
  • Protocol: TCP
  • Since we didn’t explicitly specify any ports, deployment would have been created with default port 80
  • From the Service type drop-down list, select Load balancer.
  • Click Expose.
  • When your Service is ready, the Service details page opens, and you can see details about your Service. Under Load Balancer, make a note of the load balancer’s external IP address.

· Create an ingress rule for the service so that it is accessible externally

· Select the service that needs to have ingress and click create ingress and complete the form below

Once it is all completed click create, once the ingress is created, it creates an endpoint.

· Clicking on the frontend should take us to a very familiar page on the browser

· Verify the Azure storage account, it should have a secret file and a lock created.

· Use postman to make the call to retrieve the callback url with the right workflow name and masterkey

· Use the callback url value returned and invoke the logic apps workflow

· Voila, Logic app is deployed in to GCP and successfully invoked.

Couldn’t believe how easy it is! With proper planning on the container platform, it would be a breeze to have powerful logic apps workflows deployed and moved to another cloud without any changes at all!

--

--

Vinnarason James

An Azure Enthusiast, looking to share my learning about Azure Services I use as part of my job