Posts

Showing posts with the label Cloud

How to Create a VM on Ubuntu with Terraform, Libvirt, and QEMU: Solving Real-World Issues

Image
Creating virtual machines (VMs) on Linux using Terraform and Libvirt is an excellent way to automate infrastructure, but the process can come with its fair share of challenges. In this article, I’ll walk you through how to set up a VM on Ubuntu using Terraform, Libvirt, and QEMU, and explain all the real-world issues I faced and solved along the way. Table of Contents Introduction Prerequisites Installing Required Packages Setting Up the Libvirt Pool Preparing the QCOW2 Image Writing the Terraform Configuration Common Errors and How to Fix Them Managing AppArmor Final Working Script Introduction Virtualization is a key component of modern infrastructure. With tools like Libvirt and QEMU, you can run lightweight VMs on a local or remote Linux host. Terraform adds the power of Infrastructure as Code to define and deploy VMs automatically. But things rarely work the first time. Prerequisites Ubuntu Linux (20.04 or later) A user with sudo privileges Terraform installed ( sudo apt install t...

Monolithic Nightmare: How a Monolithic App Hinders Development

Image
  Working for years developing on a monolithic architecture can cause one or more of the following consequences: Low productivity: a monolithic application slows down the development of application services because the modules are tightly coupled, making parallel development difficult. Security concerns: monolithic applications are often built on outdated frameworks. Instability. Long time to market. Even minor changes require releasing the entire product. Less suitable for use in CI/CD pipelines. Tightly coupled application services. Lower performance. Low scalability. Application framework not easily upgradable: migration involves an excessive amount of work with a high probability of compromising application functionality. The inability to update frameworks necessitates the use of obsolete and unmaintained libraries, posing further security risks. Complexity. Single point of failure. Obsolescence of the technical knowledge of the working group. As a result, the time comes to hav...