Start here. Build with confidence.
Choose a cloud, prepare your computer, set guardrails, and follow a clear route to your first working infrastructure project.
1. Pick your first route
You do not need three cloud accounts. Choose one provider and finish one small project. The concepts travel: a network connects things, a firewall decides who may enter, and a server runs your software.
Unsure? Use AWS for this site's complete infrastructure capstone. Prefer the cloud your workplace uses? Start with its server guide, then study the shared Terraform and Ansible foundations. The capstone's AWS files are not interchangeable with Azure or GCP.
Time: allow 30–60 minutes to prepare, 3–4 hours for the first server, and another 2–3 hours for capstone extensions. Administrator and DNS setup may take longer.
2. Make a safe learning space
- Create a separate learning account/subscription/project; never experiment in your employer's production environment.
- Enable MFA and use short-lived administrator-approved access. Keep credentials, Terraform state and plans private.
- Review the provider's current offer and pricing before creating anything. Credits have eligibility rules and expiry dates.
- Set a budget alert with notifications you can receive. An alert is a smoke alarm, not a spending lock.
- Set a cleanup reminder for the end of today's session. A stopped VM can still leave disks and other billable resources.
3. Prepare Windows or Linux
Your laptop is the control desk; the cloud VM is a different computer. Commands marked laptop run locally. Commands marked server run only after connecting to your lab.
Windows: use Ubuntu through WSL
On a supported Windows version, open PowerShell as administrator. This installs a Linux environment and may require a restart. On a managed device, obtain your administrator's permission first.
wsl --install -d Ubuntu-24.04
# Restart if prompted, then open Ubuntu and create its Linux user.Run subsequent Bash and Ansible commands inside Ubuntu, not PowerShell. Follow Microsoft's WSL instructions if installation differs on your device.
Linux: use your Ubuntu terminal
The lab's control environment is Ubuntu 24.04. Other distributions can work but use different package commands. Check before copying:
cat /etc/os-release
python3 --version
git --versionInstall Git, Python with venv support, Terraform, and your provider CLI using their official instructions. Ansible runs in Linux/WSL; keep your project under your Linux home directory rather than relying on another person's Windows path.
terraform version
aws --version
python3 --version
git --versionA version check proves the tool is installed, not that your cloud login or permissions work. Use the selected guide's account check next.
4. Replace the examples, not your identity
Contoso is a fictional lab name. Sample domains are labels, not domains you can deploy into. Replace every REPLACE-WITH value with your own authorized resource. Never use Guidewell Cloud's domain or another person's cloud account for a lab.
SSH-based guides need a key you created. Do not assume the example path exists. Use the paths, keys and names guide to choose the actual file. The flagship uses SSM instead of SSH, so it needs no SSH key.
Keep a private notes file with your region, project folder, selected account, budget and cleanup time. Never commit credentials or publish account identifiers in screenshots.
5. Build in three passes
- Understand: complete the provider's server lab; explain its network and restricted firewall in your own words.
- Automate: practice plans and state and desired-state configuration.
- Operate: complete the reviewed pipeline, then the HTTPS, health and recovery capstone.
For each pass, write: what will change, how will I verify it, and how will I undo it? Run a second configuration pass to learn the difference between an intentional change and an unexpected one.
Stuck during a lab? Open the troubleshooting desk.
6. Prove it and remove it
- I can explain Terraform versus Ansible without reading the guide.
- I can identify the account, region, VM and firewall I created.
- I can show a passing application check and explain its limitations.
- I can repair a deliberate failure on my own disposable server.
- I reviewed destruction and verified resources are gone.
- I checked leftover storage, DNS, public addresses and delayed billing.
Build a redacted portfolio with the project evidence template. Passing these checks matters more than collecting screenshots of a cloud console.