Wednesday 14 August 2024

Using Resource Manager templates to create virtual networks

Here is a good tutorial that covers a lot of infrastructure-as-code concepts in the context of creating a virtual network with two subnets using Resource manager templates (also referred to as Azure Resource Manager, or ARM, templates).

Cloud Services on Snowflake

Snowflake has three layers of architecture: storage, compute and cloud services. While Snowflake is available on a number of clouds i.e. AWS, GCP and Azure, not all cloud services are available on all cloud platforms. For example, Azure Private link is not fully supported. However there are some interesting considerations here.

How does Snowflake store data?

There are many "big data" technologies out there one of them being Snowflake. Snowflake lets you run SQL queries on data which is stored in Snowflake's internal columnar format optimized for cloud storage.

Tuesday 13 August 2024

gRPC for .NET

The recommended library for using gRPC in .NET is grpc/grpc-dotnet under the Apache 2.0 license (The original implementation is now deprecated). gRPC is a (language agnostic) remote procedure call framework designed for high performance. Coding is structured around .proto files explained here. Common use cases include gRPC authentication (gRPC can converse with a variety of authentication systems), compression and other distributed communication scenarios. gRPC is often used with protobuf.

Monday 8 July 2024

Intel SGX based confidential computing VMs

Intel Software Guard Extensions (SGX) represent instruction codes implemented in some Intel CPUs to provide a "trusted execution environment". It does this by protecting private regions of memory called enclaves. How it works is SGX encrypts a portion of memory called the enclave. Data and code from the enclave are decrypted on the fly inside the CPU, preventing it being read by other code. This can be used for protecting proprietary algorithms and encryption keys. In 2021 this became deprecated for Intel Cores but still valid for Intel Xeon for cloud and enterprise use.

Microsoft Azure makes available confidential computing VMs based on SGX technology.

Thursday 20 June 2024

WSL1 versus WSL2

The Windows Subsystem for Linux currently comes in two varieties, WSL1 and WSL2. The latter has faster performance and "100% system call compatibility" (as opposed to intermediation through a translation layer in WSL1) so it should be the preferred option.

WSL1 may still be preferred in specific cases, for example, if project files need to be stored in the Windows file system. However it should be assessed whether these files can be mounted in Linux instead. There are also some specific networking scenarios to consider.

Building a VSCode Extension

It is important to know how to build a VSCode extension, not only in case you need one, but to know how one is built.  This guide will help you achieve this.  Note that it uses Yeoman, a "scaffolding tool for modern web apps", and a VSCode Extension Generator.