Get Started

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

  1. Hardware Requirements
  2. Operating System Setup
  3. WSL (Windows Subsystem for Linux)
  4. Visual Studio Code
  5. Docker Desktop
  6. Git Setup and SSH Keys
  7. AWS CLI
  8. Python (via pyenv)
  9. Node.js and npm
  10. Serverless Framework
  11. 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:

ComponentMinimumRecommended
RAM16 GB32 GB
Storage500 GB SSD1 TB SSD
ProcessorIntel i5 / AMD Ryzen 5Intel i7 / AMD Ryzen 7
OSWindows 11Windows 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.

  1. Download and install from code.visualstudio.com
  2. 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.).

  1. Download from docker.com/products/docker-desktop
  2. During installation, enable WSL 2 integration
  3. After install, open Docker Desktop > Settings > Resources > WSL Integration
  4. 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.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.