Azure Machine Learning, Microsoft’s managed machine leaning service, has multiple mechanisms to pull data for processing. One of those mechanisms is downloading a file from a remote URL, which we will be using in this article by creating a simple Azure Function that accepts a block number and returns a JSON lines file with a list of the transactions in that block.

Prerequisites

We will be creating an Azure Function, so Azure Functions Core Tools should be installed on the workstation. …


EthSigner, an Ethereum transaction signer which separates private key management from transaction validation, can be used to sign transactions by using keys protected in a variety of storage mechanisms. One of those supported mechanisms is Azure Key Vault and its software and hardware security module (HSM) based key protection offerings.

In this article we will be deploying a serverless EthSigner container using Azure Container Instances and an Azure Key Vault with an HSM based key (which is the more secure option). …


Azure Blockchain Service, Microsoft Azure’s managed blockchain offering, delivers a simple deployment of a multi-node blockchain solution, without the hustle of defining and managing the underlying virtual machines, storage and network.

As the service is still in preview, at least at the moment, some scenarios that are common with cloud resources that are already in general availability, are not available for the Azure Blockchain Service. …


Azure Batch service, a job scheduling and computing power allocation managed solution, allows running jobs on pools of virtual machines of our choice. Meaning, if certain jobs require high memory or GPU processing for example, the instance type used by the pool that will be running that type of job can be adjusted to fit our needs.

The available instance types, are the same offered for virtual machines on Azure, divided into different series, each with resources and underlying hardware that match specific task types (such as machine learning for example).

To optimize consumption of resources in the cloud, it…


The most important piece of information for every Ethereum wallet owner, is the private key. It is the most important because loss of that private key will result in the owner not being able to access the tokens associated to that wallet, without any possibility of recovery.

In some blockchain based scenarios, a centralized and secured wallets management solution is required, usually to allow users to use a dedicated wallet inside the boundaries of the system, without risking their private wallets.

Azure Key Vault, and even more so, its hardware security modules (HSM) offering, allows management and usage of cryptographic…


Azure Container Instances are a very convenient and easy-to-use but do have limitations that, sometimes, make them unsuitable for some scenarios. One of those limitations, at least at the writing of this article, is the inability to use an Azure Load Balancer with containers deployed to a private network (public containers can be load distributed with an Azure Traffic Manager).

The Alternative — Envoy

To overcome the Azure Load Balancer’s limitation work with Azure Container Instances, an additional container running Envoy can be used to distribute the load between the other backend containers, and this is exactly what this article will be showing.

The Example

The…


Occasionally, some scenarios require non-orthodox deployments, whether it’s due to a temporary state of a system such as moving from an on-prem deployment to the cloud, or as convenient way of testing and validating a deployment with all of its moving parts.
Such is the case of the example in this article, which deploys a MongoDB, a database that needs no introduction, replica set on Azure, but, and this is the not-so-orthodox area of this deployment, exposes it to the external world in addition to being available on an internal private virtual network.

What’s non-orthodox about it? Well, usually a…


GitHub Actions allow us to automate software workflows, such as continuous integration and deployment (CI and CD), directly from our GitHub repositories. A GitHub action is a step inside a workflow that performs a specific task, which in our case, will enable generating an Ethereum address inside a workflow, using an arbitrary string as input (usually a public key).

Such action can be useful for a scenario such as a genesis.json file that is being generated as part as a workflow (that is later copied to a Docker image), which includes pre-population of a compiled smart contract, or an account…


Pulumi, an open source cloud development platform that supports multiple languages and platforms, allows programming and managing cloud environments using a consistent model and the power of full programing languages.

One of those supported languages is C#, which we will be using to deploy a geo-redundant serverless cluster of the well-known messaging solution RabbitMQ. To run the cluster, we will be using three regions, in which we will be deploying:

  • Two peered virtual networks, one internal for the containers, and one external for connecting to the other regions. Two networks are required because (at least at the writing of this…


etcd, a distributed reliable key value store, is the mechanism used by Kubernetes to maintain the cluster’s configuration, but we don’t have to deploy a Kubernetes cluster to use etcd in our infrastructure.

Configuration management is a very common requirement in distributed systems and having something like etcd deployed as part of a solution, can greatly increase the simplicity of maintaining a reliable, consistent and redundant source of configuration information. …

Itay Podhajcer

Microsoft Azure MVP | Highly experienced software development & technology professional; consultant, architect & project manager

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store