- Published on
Getting started with DevOps
- Authors
- Name
- Vincenzo Campagnano
The best DevOps project for a beginner
After graduating and realizing that the next steps in the world of work would be in the Cloud & DevOps, I started looking for home-made projects that would help me brush up on those areas. After many homelabs virtualizing the entire world on my poor workstation, fortunately, I came across this post by a good samaritan. I must say, I'm glad I did it.

So here’s a quick summary of what I built and what I learned.
🧠 Why I Did This
Because building a static site is fast, highly educational, and an awesome excuse to finally buy the domain YourName.com. Seems to do DevOps for real 😜
🧰 Tech Stack
- Cloud provider: Microsoft Azure
- IaC: Terraform
- Configuration Management: Ansible
- CI/CD: GitLab CI
- Static Site Generator: Next.js (Tailwind Starter Blog)
- Web server: NGINX
🚀 What I Did (Step-by-Step)
Bought a domain on Porkbun
Myname.com was finally mine.Created two Git repositories on GitLab
One for the static site, one for Infrastructure as Code.
Git hygiene is important, folks.Provisioned a VM on Azure using Terraform
The VM runs Ubuntu Server 22.04, deployed with clean, modular Terraform code. This includes:- Resource Group: A container for all resources.
- Virtual Network and Subnet: To create an isolated network.
- Public IP Address: For public access to the VM.
- Network Security Group (NSG): To open only the necessary ports (SSH 22, HTTP 80, HTTPS 443).
- Network Interface (NIC): Connecting the VM to the network.
- Linux Virtual Machine: A minimal Ubuntu 22.04 LTS Gen2 using a low-cost SKU (
Standard_B1s
).
Wrote Ansible playbooks to configure the VM
Installed NGINX, set up the folder permissions, copied SSL certs, and deployed my custom NGINX config. I even split tasksweb
andssl
into roles because I’m fancy like that.Configured SSL with Porkbun certs
Yes, you can (and you should) bring your own certificate! Through Ansible I placed the certs in/etc/nginx/ssl
, updated the NGINX site config, and reloaded the service.Set up CI/CD with GitLab CI
My pipeline builds the site, caches dependencies, and deploys to my server via SSH + rsync. Now everytime someone push tomain
branch the changes are live.
💸 Cost Breakdown
Item | Yearly Cost |
---|---|
Domain (Porkbun) | ~$10 |
Azure VM (B1s) | ~$50 |
SSL Cert (Porkbun) | Free bundle |
GitLab CI | Free |
Basically some coffee money ☕
📌 Final Thoughts
If you’re like me, fresh out of uni and ready to jump into Cloud & DevOps, build yourself a static site with full automation. You’ll gain confidence, skills, and a domain name to brag about.
✨ Want to see the code?
Head over to the GitHub repo for this article.
Happy hacking,
vinzcamp8