Core Concepts in Kubernetes

CKAD Reference - Kubernetes: Core Concepts

I’m studying for my CKAD exam, so this article is serving as a reference for me to cover the core concepts in that exam. This article will cover Pods, Namespaces, the kubectl CLI tool, and how we can use it to create objects in Kubernetes. Kubernetes Primitives These are the basic building blocks in Kubernetes for building and operating applications that you host on it. These could include Pod, Deployments, Services etc...

February 23, 2024 · 8 min · Will Velida
Planning AKS Deployments

Planning AKS Deployments

Kubernetes provides reliable scheduling of fault-tolerant application workloads, and is ideal for container orchestration. AKS is a managed Kubernetes platform on Azure, which makes this simpler for us manage our container workloads. In this blog post, I’ll talk about the main components of Azure Kubernetes, such as control plane nodes, node pools, pods, deployments etc. I’ll also talk about how we can configure network access in AKS, and how we can monitor our AKS clusters....

February 21, 2024 · 11 min · Will Velida
Building our first Radius application on Azure Kubernetes Service

Building your first Radius application on Azure Kubernetes Service

Earlier on this week, I gave a presentation to two user groups on the Radius project. If you want to check them out you can view them here: This one is from Coding Nights NZ, run by Microsoft MVP Marcel Medina: The other is from the Azure Community Enthusiasts User Group, run by Microsoft MVP Nicholas Chang: Following these two talks, I wanted to write a blog post on setting up a basic Radius application on a Azure Kubernetes Service cluster, which is what we’ll go through now 🙂...

February 7, 2024 · 12 min · Will Velida
An expansive 3D rendering of a futuristic and sophisticated business workflow, depicted in a 100:42 ratio. The scene is filled with numerous high-tech computers, servers, and data centers, all bustling with activity. Each piece of technology is represented by advanced, futuristic machines and holographic interfaces, interconnected by a complex web of glowing data streams and electrical connections. The network operates in a decentralized fashion, emphasizing a collaborative decision-making process without a central hub. Overhead, dynamic beams of light and energy swirl in orchestrated patterns, adding to the sense of an awe-inspiring, orchestrated complexity that characterizes advanced technological systems.

Decentralized workflow coordination using the Choreography pattern

In a microservices architecture, services are divided into smaller ones to work together to process business transactions. This gives us the advantage of being able to develop services quicker and scale them independently. However, designing a distributed workflow is challenging and communication between the services is complex. One approach we could take is to implement a centralized orchestrator that acknowledges all incoming requests and delegates them to the relevant services. The orchestrator manages the entire workflow of the transaction....

January 30, 2024 · 4 min · Will Velida
3D rendering of the Saga design pattern in a vast, futuristic digital universe. The image shows a network of microservices visualized as advanced, intricate nodes, resembling miniaturized, glowing cities with complex pathways. These nodes are connected by robust, multi-layered streams of light in vivid colors and intricate patterns, representing the flow of transactions in a saga. Surrounding the nodes are floating holographic interfaces displaying complex algorithms, code snippets, and real-time transaction data. Above this network, a colossal hologram of a digital globe is central, with beams of light emanating from it, signifying global data consistency management. The scene is set against a cosmic background filled with stars, emphasizing the grand scale and high-tech nature of the Saga design pattern.

Managing Distributed Transactions with the Saga Pattern

In a microservices architecture, we may adopt a database-per-microservice approach to let each domain service us a data store that best serves the type of data that microservices uses. With a database-per-microservice approach, we can scale out our data stores independently, and should our data store fail, that failure will be isolated from other services. However, this approach gets complicated when we need to perform operations in a transactional manner. Transactions must be ACID (atomic, consistent, isolated and durable)....

January 29, 2024 · 6 min · Will Velida