The Cloud Blog

Cloud Computing, Cloud Native & Kubernetes by Rahul

Background Jobs in Heroku with Azure Service Bus

Jan 14, 2021 · 11 min read

Web applications are optimized for throughput and latency to service a high number of HTTP requests as quickly as possible. For improved performance, web applications defer the CPU intensive, IO intensive, time-intensive, and scheduled processing workloads to background jobs that run independently of the user interface. These background jobs must function without intervention from the user interface and should not block a synchronous user and system interaction. Offloading slow and compute or memory-intensive activity to background jobs improves web applications' performance and throughput.

#azure#integration#heroku

Read more of Background Jobs in Heroku with Azure Service Bus

Implementing Multi Session Sequential Convoy Pattern with Azure Service Bus and Go

Jan 02, 2021 · 10 min read

In many event-driven applications, preserving the sequence of events is essential. For example, an event-driven eCommerce application might have the following states, transitions, and events. A user adds N items to the basket. This action generates the item added event. The user checks out the basket. This action generates the basket checked out event. The user pays for the items. This action generates the payment made event. Inventory decrements the count of available items by N.

#azure#integration#programming

Read more of Implementing Multi Session Sequential Convoy Pattern with Azure Service Bus and Go

Simplifying ARM Template Deployments with Ansible

Dec 10, 2020 · 6 min read

I discussed how you could use Ansible with Terraform to simplify configuration management in my previous post. If, instead of Terraform, you prefer using Azure Resource Manager (ARM) templates to define the infrastructure and configuration for your project, you can use Ansible for managing parameters that customize each environment by dynamically generating a Resource Manager parameters file. A great thing about using Ansible for your ARM configuration needs is that it includes a suite of modules for interacting with Azure Resource Manager.

#azure#devops

Read more of Simplifying ARM Template Deployments with Ansible

Lab: Tip or Code sample Lab: Tip/Code sample Serverless Visitor Counter Badge with Azure Functions

Nov 22, 2020 · 7 min read

We all love web badges. You might have spotted many of them in README of repositories, including the repository of my blog, The Cloud Blog. In general, web badges serve two purposes. They are visually appealing. They display key information instantly. If you scroll to my website’s footer section, you will find GitHub and Netlify badges that display the status of the latest build and deployment. I use them to quickly check whether everything is fine with the world without navigating to their dashboards.

#azure#compute

Read more of Serverless Visitor Counter Badge with Azure Functions

Simplifying Terraform Deployments with Ansible - Part 2

Nov 13, 2020 · 10 min read

In this series Motivation & Ansible 101 Terraform & Ansible I am happy to see that many people are enthusiastic about this series and wish to make their IaC applications better with Ansible. What I intend to do is very simple. I will write an Ansible playbook that uses the template module (see Templating with Jinja2) and a little magic of Jinja2 templates to load appropriate variables and configurations for each Terraform environment.

#devops

Read more of Simplifying Terraform Deployments with Ansible - Part 2

Simplifying Terraform Deployments with Ansible - Part 1

Nov 03, 2020 · 5 min read

In this series Motivation & Ansible 101 Terraform & Ansible Enterprise developers are responsible for deploying infrastructure to multiple environments, such as development, staging, and production. One core problem with configurations in Terraform is that with the number of environments and variables, the number of β€œ.tfvars” files used to manage configurations will increase. Several tools, such as Puppet, Chef, and Ansible, help simplify the management of configurations.

#devops

Read more of Simplifying Terraform Deployments with Ansible - Part 1

Monitoring Health of ASP.NET Core Background Services with TCP Probes on Kubernetes

Oct 24, 2020 · 9 min read

Many microservices applications require background tasks and scheduled jobs to process requests asynchronously. In the .NET Core ecosystem, background services are called Hosted services because a single host, such as a web host or a console host, can run several such services in the background while it is alive. In terms of implementation, a hosted service is required to implement the IHostedService interface. You can implement the IHostedService interface yourself, or even better, leverage the BackgroundService class that implements some common concerns such as cancellation token management and error propagation to the host for you.

#programming#kubernetes

Read more of Monitoring Health of ASP.NET Core Background Services with TCP Probes on Kubernetes

Lab: Tip or Code sample Lab: Tip/Code sample Generating Dynamic Open Graph Images with Azure Functions

Oct 08, 2020 · 6 min read

Open Graph (OG) tags allow you to control what content shows up when you share the webpage on major social media sites such as Facebook, Twitter, and Google. The essential Open Graph properties that you must configure in the <head> section of your webpage are the following. og:title: The title of your webpage. og:image: An image URL displayed as the thumbnail of your webpage when it is shared. The recommended dimension of this image is 1200px X 627 px.

#azure#compute

Read more of Generating Dynamic Open Graph Images with Azure Functions

Integration Tests for gRPC Services in ASP.NET Core

Oct 01, 2020 · 6 min read

The default implementation of the gRPC on .NET - Grpc.net is built on Grpc.Core which uses the protoc tool (see: ProtoCompilerOutput) to generate C# artifacts from .proto files. Also, it adds complexity to testing the services and sharing the contracts with clients. The proto files are artifacts/files shared between the clients and the server that need to be managed and kept synced between the two parties. It is important to note that protobuf is simply a serialization format, and it is not dependent on proto files.

#programming

Read more of Integration Tests for gRPC Services in ASP.NET Core

Lab: Tip or Code sample Lab: Tip/Code sample Enable TLS on HTTP Triggered Function App in Kubernetes Using KEDA and NGINX

Sep 26, 2020 · 4 min read

With KEDA (Kubernetes-based Event-Driven Autoscaling), you can host Azure Functions on Kubernetes. KEDA allows you to scale pods based on configurable rules that rely on metrics from data sources such as Azure Queue. The Microsoft documentation outlines how you can use the Prometheus scaler to scale HTTP triggered Azure functions. However, it does not discuss the the security of the transport channel in detail. This quick tip will demonstrate how you can expose your HTTP triggered Azure Functions over TLS/SSL (HTTPS endpoint).

#azure#kubernetes

Read more of Enable TLS on HTTP Triggered Function App in Kubernetes Using KEDA and NGINX