DevOps Onboarding: Your First Environment Setup Guide
This guide walks you through setting up a local development environment for DevOps engineering. By the end, you’ll have a fully configured workstation ready for cloud infrastructure work, backend development, and CI/CD pipelines.
Who this is for: New DevOps engineers, backend developers, or anyone setting up a fresh development environment on Windows.
Time to complete: 30-45 minutes
Table of Contents
- Hardware Requirements
- Operating System Setup
- WSL (Windows Subsystem for Linux)
- Visual Studio Code
- Docker Desktop
- Git Setup and SSH Keys
- AWS CLI
- Python (via pyenv)
- Node.js and npm
- Serverless Framework
- Verification Checklist
1. Hardware Requirements
DevOps tooling runs multiple services simultaneously (Docker containers, local servers, IDE, browser). A capable machine makes a real difference.
Recommended Specs:
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 16 GB | 32 GB |
| Storage | 500 GB SSD | 1 TB SSD |
| Processor | Intel i5 / AMD Ryzen 5 | Intel i7 / AMD Ryzen 7 |
| OS | Windows 11 | Windows 11 (latest updates) |
SSD storage is required — Docker and WSL perform poorly on HDD.
2. Operating System Setup
Install Windows 11 with the latest updates applied.
Open Settings > Windows Update and install all available updates before proceeding. Some tools (especially WSL 2 and Docker) depend on recent Windows components.
3. Install WSL (Windows Subsystem for Linux)
WSL lets you run a full Linux environment inside Windows. Most DevOps tools are Linux-native, so this is your primary workspace.
Open PowerShell as Administrator and run:
wsl --install
Then install Ubuntu 24.04 LTS from the Microsoft Store.
After installation, launch Ubuntu from the Start menu. It will ask you to create a username and password — this is your Linux user account.
Update system packages:
sudo apt update && sudo apt upgrade -y
4. Install Visual Studio Code
VS Code is the primary code editor. It connects directly to your WSL environment so you can edit Linux files from Windows.
- Download and install from code.visualstudio.com
- Open VS Code and install these extensions:
- WSL (by Microsoft) — enables editing files inside WSL
- GitHub Copilot or Claude Code (optional) — AI-assisted coding
To open a WSL project in VS Code, run this from your Ubuntu terminal:
code .
VS Code will automatically connect to your WSL instance.
5. Install Docker Desktop
Docker lets you run containerized applications locally — the same way they run in production (ECS, Fargate, etc.).
- Download from docker.com/products/docker-desktop
- During installation, enable WSL 2 integration
- After install, open Docker Desktop > Settings > Resources > WSL Integration
- Make sure Ubuntu is toggled on
Verify Docker is working from your Ubuntu terminal:
docker --version docker run hello-world
6. Git Setup and SSH Keys
Git is used for version control. Every code change, infrastructure update, and deployment pipeline starts here.
Install Git inside Ubuntu WSL:
sudo apt update sudo apt install git -y
Configure your identity:
git config --global user.name "Your Name" git config --global user.email "your@email.com"
Generate an SSH key for passwordless authentication:
ssh-keygen -t ed25519 -C "your@email.com"
Press Enter to accept the default file location. Then copy your public key:
cat ~/.ssh/id_ed25519.pub
Add this key to your Git provider:
- GitHub: Settings > SSH and GPG keys > New SSH key
- GitLab: Preferences > SSH Keys
Test the connection:
# For GitHub ssh -T git@github.com # For GitLab ssh -T git@gitlab.com
Clone a repository:
git clone git@github.com:yourusername/yourrepo.git cd yourrepo
7. Install AWS CLI
The AWS CLI is used to interact with AWS services from the command line — managing infrastructure, deploying services, and debugging production issues.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install rm -rf awscliv2.zip aws/
Verify installation:
aws --version
Configure your credentials (get these from your team lead or AWS admin):
aws configure
You’ll be prompted for:
- AWS Access Key ID
- AWS Secret Access Key
- Default region (e.g.,
us-east-1) - Default output format (use
json)
8. Install Python (via pyenv)
Python is used for automation scripts, Lambda functions, and backend services. pyenv lets you manage multiple Python versions without conflicts.
Install pyenv:
# Install dependencies first sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ libffi-dev liblzma-dev # Install pyenv curl https://pyenv.run | bash
Add to your shell profile (~/.bashrc or ~/.zshrc):
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"
Reload your shell:
source ~/.bashrc
Install and set Python version:
pyenv install 3.12.0 pyenv global 3.12.0
Verify:
python --version pip --version
9. Install Node.js and npm
Node.js is required for tools like the Serverless Framework, frontend build tools, and various CLI utilities.
Install Node.js 20.x LTS:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs
Verify:
node -v npm -v
10. Install the Serverless Framework
The Serverless Framework is used to build and deploy AWS Lambda functions and related infrastructure.
npm install -g serverless
Verify:
sls --version
For Python-based Lambda projects, add the requirements plugin:
npm install --save-dev serverless-python-requirements
Deploy a project (run from inside a Serverless project directory):
sls deploy
11. Verification Checklist
Run these commands to confirm everything is installed correctly:
wsl --version git --version docker --version aws --version python --version node -v npm -v sls --version
All commands should return version numbers without errors.
What’s Next
Your local environment is ready. From here you can:
- Clone your team’s repositories and start reviewing code
- Run Docker containers locally to test services
- Deploy Lambda functions with the Serverless Framework
- Explore AWS resources using the CLI
More guides on cloud infrastructure, CI/CD pipelines, and monitoring are available on the blog.