Back to articles
Technology Insight

Scaling Infrastructure: Automating Configuration Management for 100 VPS Instances Simultaneously with SaltStack

May 30, 2026

The Challenge of Modern Infrastructure Scale

In the contemporary digital landscape, agility and reliability are the cornerstones of business continuity. As enterprises grow, their underlying infrastructure must scale in tandem. Managing a handful of Virtual Private Servers (VPS) manually via SSH is a manageable task; however, when that number scales to 100 simultaneous VPS instances, manual configuration becomes an operational bottleneck. It introduces human error, creates configuration drift, and severely compromises security compliance.

To maintain peak operational efficiency, modern IT departments must transition from manual intervention to Infrastructure as Code (IaC) and automated configuration management. Among the myriad of tools available in the DevOps ecosystem, SaltStack (Salt) stands out as an exceptionally powerful, speed-driven, and scalable solution capable of managing thousands of servers from a single, centralized control point.

---

Understanding SaltStack’s Architecture

Before deploying automation across 100 VPS instances, it is crucial to understand the architectural topology that allows SaltStack to perform tasks in parallel within seconds. SaltStack operates on a Master-Minion architecture:

  • Salt Master: The centralized server that acts as the brain of the infrastructure. It issues commands, stores configuration baselines (States), and manages cryptographic keys.
  • Salt Minions: The target VPS instances being managed. These minions run a lightweight agent that maintains a persistent connection back to the Master, waiting for execution instructions.

Unlike traditional configuration management tools that rely on slow, sequential SSH connections, SaltStack utilizes the ZeroMQ message bus. This asynchronous communication protocol allows the Salt Master to broadcast commands to all 100 VPS instances simultaneously, executing updates in parallel and returning real-time data back to the centralized dashboard within seconds.

---

Prerequisites for a 100-VPS Deployment

Executing a mass deployment requires careful planning to ensure network security and optimal performance. Ensure the following prerequisites are met before beginning the installation:

  1. Central Control Server: A dedicated VPS or physical server with at least 4 vCPUs and 8GB of RAM to act as the Salt Master.
  2. Target Nodes: 100 VPS instances running a clean distribution of a Linux operating system (e.g., Ubuntu 22.04 LTS or RHEL 9).
  3. Network Connectivity: Open firewall ports 4505 and 4506 on the Salt Master to allow incoming traffic from the Salt Minions.
  4. DNS/Hosts Resolution: Proper hostname configuration across all nodes to ensure clear identification during key registration.
---

Step-by-Step Implementation Guide

Step 1: Installing and Configuring the Salt Master

Begin by setting up the central control repository. Connect to your designated Master server via SSH and execute the following commands to import the official SaltStack repository and install the master package:

Note: Always use the official repository to ensure you receive the latest security patches and stable feature updates.

Configure the Master by editing the /etc/salt/master file. Ensure the bind interface is correctly mapped to your server's public or private IP address, and define the file roots where your state configurations will reside:

file_roots:
  base:
    - /srv/salt

Restart the Salt Master service to apply the configuration changes: systemctl restart salt-master.

Step 2: Automating Minion Installation Across 100 VPS Instances

Manually installing the Salt Minion agent on 100 separate servers defeats the purpose of automation. Instead, leverage a lightweight bootstrap script combined with your cloud provider’s provisioning API (such as custom data or cloud-init) to automate the deployment.

The bootstrap script should point directly to the Salt Master’s IP address. During the initial boot phase of each of the 100 VPS nodes, the script installs the minion service and updates the /etc/salt/minion configuration file with the Master’s identity:

master: master.yourdomain.com

Step 3: Centralized Key Management and Authentication

Security is paramount when managing a large server fleet. SaltStack utilizes AES encryption for all communications. When a Minion boots up for the first time, it automatically generates a cryptographic key pair and sends its public key to the Master.

To view all pending authentication requests from your 100 VPS instances, execute the following command on the Master:

salt-key -L

Once you verify that all 100 unique hostnames are present in the unaccepted keys list, accept them simultaneously using the wild-card flag:

salt-key -A -y

Your centralized control loop is now fully closed. The Salt Master has total, authenticated control over the entire fleet.

---

Writing and Executing Automation States

With communication established, you can define your infrastructure's desired state using SaltStack's SLS (Salt State) files, written in readable YAML formatting. Let us create a baseline configuration that ensures all 100 servers are updated, secured, and running a standard Nginx web server.

Create a file named /srv/salt/init_server.sls on the Master:

update_system:
  pkg.uptodate:
    - refresh: True

install_nginx:
  pkg.installed:
    - name: nginx

nginx_service_running:
  service.running:
    - name: nginx
    - enable: True
    - require:
      - pkg: install_nginx

To deploy this configuration to all 100 VPS nodes simultaneously, trigger the state execution from the Master using the global targeting mechanism:

salt '*' state.apply init_server

Within moments, SaltStack compiles the state, pushes the instructions across the ZeroMQ bus, executes the commands locally on each target machine, and returns a detailed status report for every single server.

---

Best Practices for Large-Scale VPS Orchestration

Managing three-digit server environments requires adherence to strict operational workflows to maintain system stability:

  • Leverage Grains and Pillars: Use Grains to target servers based on static system properties (like OS type or CPU architecture) and Pillars to securely inject sensitive data like database passwords and API keys to specific minions.
  • Implement Dry Runs: Always use the test=True flag (e.g., salt '*' state.apply init_server test=True) to simulate changes before applying them to production environments.
  • Continuous Monitoring: Integrate SaltStack with centralized logging tools to continuously monitor execution status and immediately catch failed state changes.
---

Conclusion

Automating the configuration management of 100 VPS instances with SaltStack transitions your infrastructure operational model from reactive troubleshooting to proactive compliance. By leveraging a centralized Master-Minion topology, businesses can deploy software, mitigate security vulnerabilities, and scale resources rapidly without expanding operational headcount. Embracing this level of automation is no longer a luxury; it is a foundational requirement for modern, scalable enterprise infrastructure.

Scaling Infrastructure: Automating Configuration Management for 100 VPS Instances Simultaneously with SaltStack | DPTCloud