4 Types of Linux Clusters

Linux cluster systems are a critical part of the infrastructure of many businesses and research institutions. Depending on the purpose and usage, they can be broadly classified into 4 types. Let’s have a look at the characteristics and real-world use cases for each of these types. What is a Cluster System? A cluster system is a group of computers connected through a network that act as a single system. It can be set up for various purposes such as high performance, high availability, and load balancing. ...

February 16, 2025 · 2 min · 305 words · In-Jun Hwang

Golang Package Conventions

This article was written in reference to the Go blog “Package Names” and several Go package convention resources. Key Tenets of Package Conventions Go’s package convention does not prescribe strict rules for directory structure or architecture instead, it presents the following key principles: 1. Organize Packages by Responsibility Avoid putting all types in a single package such as interfaces or models. Instead, organize packages based on the responsibility of their domain, following the “Organize by responsibility” principle. For example: ...

February 15, 2025 · 1 min · 205 words · In-Jun Hwang

GitOps Deployment Strategies: A Comprehensive Comparison of Push vs Pull

What is GitOps? GitOps, a concept first introduced by Weaveworks in 2017, focuses on continuous deployment (CD) in cloud-native environments, particularly in Kubernetes-based systems. It involves managing all infrastructure configurations and application settings as code and versioning them through a Git repository. Push-Based Deployment Strategy The push-based approach operates similarly to traditional CI/CD pipelines, with the following key features and processes: Build and Deployment Process Build Phase A CI pipeline is triggered by a developer’s code push The CI server builds and tests the code Container images are built and uploaded to a registry Deployment Phase ...

February 14, 2025 · 3 min · 438 words · In-Jun Hwang

Run and Connect to SSH Server on Ubuntu

Introduction SSH (Secure Shell) is a network protocol that allows you to log in to another computer over a network and execute commands on a remote system or transfer files. In this article, we will go through the step-by-step process of installing an SSH server on an Ubuntu system, configuring it to start automatically, and connecting to the SSH server. Installing the SSH Server First, open a terminal and update the list of packages: ...

August 14, 2024 · 3 min · 551 words · In-Jun Hwang

Setting Up a Static IP on Ubuntu 24.04 LTS

Introduction In this article, we will discuss how to configure a static IP on Ubuntu 24.04 LTS. Static IP addresses are helpful for streamlining network management and ensuring reliable connections to your servers. We will cover the steps for configuring an IP address using netplan. Additionally, we will discuss the TUI (nmtui) and CLI (nmcli) methods for setting up a static IP address using NetworkManager. Benefits of a Static IP Consistency: Static IP addresses ensure stability by always using the same IP for network configurations. Remote Access: They simplify connecting to your server externally since the IP address remains consistent. Hosting Services: Static IPs are crucial for running services such as web servers and mail servers. Firewall Configuration: IP-based firewall rules are easier to manage with static IPs. Network Troubleshooting: Static IPs simplify diagnosing and resolving network issues. Methods 1. Configure a Static IP Using netplan (CLI) Open the Network Configuration File Ubuntu 24.04 LTS uses netplan to manage network configurations. Open a terminal window and run the following command to open your network configuration file: ...

August 10, 2024 · 5 min · 925 words · In-Jun Hwang