Compute

Operating Systems

Every modern, general-purpose computer system needs an Operating System (OS) to run application programs. An operating system is system software that manages computer hardware, governs access to software resources and acts as an interface between computer hardware components and the user. It provides common services and functionalities that allow computer programs to run on the underlying machine. The main purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently. It manages the allocation of resources (CPU, memory, storage, etc.), ensuring that each process and application receives enough resources to function properly. It controls the policy of the system, by enforcing rules that regulate the behavior of different processes and security mechanisms to prevent misuse of the computer.

Read More

Virtualization

Hardware Virtualization is technology that enables the creation of multiple simulated environments from a single, physical hardware system. With virtualization, a single computer system (machine) can run numerous operating systems simultaneously, each with potentially different applications and libraries inside. It is based on the creation of virtual machines that act like real computers with operating systems. Software executed on these virtual machines is separated from the underlying hardware resources.

Read More

Basic Computer Architecture

A computer is a digital electronic machine that can be programmed to carry out sequences of arithmetic or logical operations, known as programs. Computers control a wide range of devices, such as servers, personal computers, mobile phones, Smart TVs, Wearable and IoT devices. These devices have different architectures but the basic compute hardware shares some common components. The von Neumann computer architecture that was described in 1945 (also known as the stored-program architecture), includes the following components that are still valid in modern computers:

  • A processing unit with both an arithmetic logic unit and processor registers
  • A control unit that includes an instruction register and a program counter
  • (Main) memory that stores data and instructions
  • External mass (secondary) storage
  • Input and output mechanisms

Read More

Container Orchestration

Container orchestration tools manage and automate the complete lifecycle of containers, including provisioning, deployment, networking, scaling and availability. In small numbers, containers are easy enough to deploy and manage manually. But in large scale systems the number of containerized services is growing rapidly, and managing them at scale is impossible without automation. Container orchestrators typically apply their own methodologies and offer varying capabilities, but they all enable organizations to automatically coordinate, manage, and monitor containerized applications. They make it easier to deploy and run containerized applications and microservices at scale, especially as part of a continuous integration/continuous delivery (CI/CD) or DevOps pipeline.

Read More