Podman Basics 03: Installing Podman

Containerization has changed the way we deploy and manage applications. Podman is a powerful container management tool that provides a seamless experience for running containers in production, development, and testing environments. We will walk through the steps to install Podman on three popular Linux distributions: Debian, Ubuntu, and Rocky Linux. This lesson will equip you with the knowledge to enjoy the power of Podman on your preferred platform.

Continue reading “Podman Basics 03: Installing Podman”

Podman Basics 02: Introduction to Podman

Podman, also known as the POD manager, is an open-source tool for developing, managing, and running containers on Linux systems. It was originally developed by Red Hat engineers along with the open-source community. Podman is designed to make it easy to find, run, build, share, and deploy applications using Open Containers Initiative (OCI) Containers and Container Images.

Continue reading “Podman Basics 02: Introduction to Podman”

Podman Basics 01: Introduction to Containerization

In today’s fast-paced world of IT, there’s this game-changing idea called containerization that’s shaking things up. It’s basically transforming how we build, launch, and handle applications. Two key players in this field are Docker and Podman, each offering unique benefits to developers and system administrators alike. In this beginner level course you will get an insight into working with Podman.

Continue reading “Podman Basics 01: Introduction to Containerization”

Ansible Basics 11: Blocks

In Ansible, blocks are a powerful feature that allows users to group tasks logically within a playbook, enabling the execution of multiple tasks as a single unit. This functionality significantly enhances the manageability of complex playbooks by breaking them down into smaller, more manageable parts. Blocks not only create logical groups of tasks but also provide a structured approach to handle errors, similar to exception handling in programming languages.

Continue reading “Ansible Basics 11: Blocks”

Ansible Basics 10: Ansible Galaxy

One of the key features that contributes to Ansible’s popularity is its extensive ecosystem of community-contributed content, known as Ansible Galaxy. Ansible Galaxy is a hub for discovering and sharing Ansible roles, which are reusable automation components that encapsulate tasks, variables, and other Ansible functionality. These roles are created and shared by the Ansible community, allowing users to quickly find and incorporate pre-built automation into their own projects.

Continue reading “Ansible Basics 10: Ansible Galaxy”

Ansible Basics 09: Ansible Roles

Ansible roles are a powerful organizational mechanism that allows you to structure your Ansible content in a modular and reusable way. They provide a structured approach to managing tasks, variables, files, and other artifacts within your playbooks. You can push your Ansible roles in SCM and follow the changes and different versions. Ansible roles are the industry standard way to distribute and share Ansible code with the community.

Continue reading “Ansible Basics 09: Ansible Roles”

Ansible Basics 07: Templates and Jinja2

In configuration management and automation, templates play a very important role. They allow you to create dynamic, reusable file content by using variables and other expressions in text files. In the context of Ansible, the template engine of choice is Jinja2. You will create mostly configuration templates in Jinja2 format, and address them in your playbooks with the ansible.builtin.template module. In this lesson you will also learn how can you use expressions in the template files.

Continue reading “Ansible Basics 07: Templates and Jinja2”

Ansible Basics 05: Playbooks

Ansible playbooks are the core components of Ansible. Playbooks are written in YAML format and describe a set of tasks that need to be executed on the managed systems. A playbook consists of one or more plays, and each play defines a set of tasks to be performed on a group of hosts. Tasks are the individual actions or commands that Ansible should execute, such as installing packages, copying files, or restarting services. Tasks call out to the programmed code units called modules.

Continue reading “Ansible Basics 05: Playbooks”

Ansible Basics 04: The Inventories

An Ansible inventory is a structured list of hosts or nodes that Ansible can manage, providing a foundation for orchestrating automation tasks across a network. This inventory file typically contains information about the hosts’ IP addresses, connection details, and grouping, allowing users to organize and categorize systems based on their roles, functions, or other criteria.

Continue reading “Ansible Basics 04: The Inventories”

Ansible Basics 03: Running Ad-Hoc Commands

Ansible consists of several key components that collectively build a robust automation and configuration management. Ad-hoc commands are the easiest and fastest way to run some commands remotely or on a host. You have to understand the basic terminology to do this, so here is a quick start, and later we are going to go into the details in the upcoming articles.

Continue reading “Ansible Basics 03: Running Ad-Hoc Commands”

Ansible Basics 02: Installing Ansible

Ansible can be installed on a large variety of systems, but most people and companies run it on Linux hosts. Small companies and startups (with only a few administrators) do not dedicate a server for it, rather they use the admin workstations or notebooks. When a company grows and more people work on the environment they dedicate a server to these operations, and Ansible can scale well. In this article we go through the different alternative methods to install Ansible.

Continue reading “Ansible Basics 02: Installing Ansible”

Ansible Basics 01: Automation, Configuration Management, Infrastructure as Code

The Ansible Basics course is a new, free series from Tom’s IT Cafe for those who want to learn the foundations of automation, configuration management and infrastructure as code. The structure of the course is simple, starting with the installation of Ansible, through its configuration, to some examples of the usage. You have to understand some computer basics to fully understand this topic. This article series will not go into the details of networking, identity and access management nor security hardening. It will help you start working with Ansible, and initiate your automation journey. New articles on Tuesdays and Thursdays at 5PM CET.

Continue reading “Ansible Basics 01: Automation, Configuration Management, Infrastructure as Code”

How to configure an SSL reverse proxy with Nginx?

reverse proxy is a server that sits in front of web servers and forwards client requests to those web servers. It acts as an intermediary, intercepting and inspecting incoming client requests before forwarding them to the web server. Reverse proxies can provide additional levels of abstraction, control, security, and performance optimization. They are commonly used for load balancing, web acceleration, and to hide implementation details about the web servers.

Continue reading “How to configure an SSL reverse proxy with Nginx?”