Chapters 7
Designing computers
Technologies offer enormous variability at every stage of creating a system.
7.1. Choosing a computer
It is determined which device (or combination of devices) best matches the user’s task.
One powerful computer vs several specialized ones: sometimes it is more appropriate to distribute the task among several simpler devices than to seek one universal device.
Criteria for choice:
- component performance;
- form factor (stationary / portable);
- energy consumption and power source;
- compatibility with devices the user already has;
- ability to install modular components;
- cost of deployment and subsequent maintenance.
7.2. Strategies for organization and network access
It is determined how the system’s elements will be connected to one another and to the global network.
- Network topology — whether all devices are on one local network, or the network needs to be segmented (for example, a separate subnet for peripherals, a separate one for main work devices).
- Access type — access only within the LAN, or also remote access from outside (via VPN, port forwarding, or a cloud relay service).
- Physical connection — Ethernet (stability), fiber optics, Wi-Fi, and others, depending on task requirements.
- Fault tolerance — whether a backup connection is needed (for example, a second Internet provider or a mobile modem) in case the main link is lost.
7.3. Access management
It is determined how the system will distinguish and control user access to computers and third-party services.
- Accounts — local (access to the computer’s OS) or third-party services (for example, Gmail or corporate portals).
- Authentication — password, access key (passkey), biometrics, or multi-factor authentication (MFA), depending on data sensitivity and tasks.
- Access rights distribution — defining roles (administrator / ordinary user) and restrictions by the principle of least privilege.
- Access synchronization — a single account for all devices (cloud account or domain network), or independent logins on each device.
- Storing authentication means — password managers (local or reliable cloud encryption); physical protection of hardware keys (for example, YubiKey); reliable storage of backup recovery codes.
- Effective use of access — SSO to reduce the number of authorizations; secure password autofill; device biometric sensors (Touch ID, Windows Hello) for fast unlocking.
7.4. Designing the necessary programs
It is determined where and how software will be deployed before actual system operation begins.
- Placement level — locally on the device, on a dedicated server within the LAN (self-hosted), or remotely in the cloud (SaaS/cloud). The choice depends on performance, data confidentiality, and the need for offline operation.
- Runtime compatibility check — match to processor architecture (x86_64, ARM) and OS; emulators or compatibility layers if needed.
- Licensing model — Open Source or proprietary software; alignment with budget and tasks (one-time purchase, subscription, or free alternatives).
- Templating and deployment automation — preconfigured images (VMs, Docker) or automatic installation scripts to speed up and standardize putting the system into operation.