This article is also available in Indonesian (Bahasa Indonesia)

Photo by Bruno Kelzer on Unsplash

A while back, I was working on a project for a client. Day to day, I'm a backend engineer, but in this project the scope expanded. I had to dip into the server side as well. The client wanted to migrate their Laravel application from AWS Elastic Beanstalk to AWS Lightsail, aiming to cut infrastructure costs and gain more control over the server.

As someone who enjoys learning, this was actually an exciting moment. I'd been comfortable in the backend zone, and now I had the chance to get my hands on infrastructure and DevOps work directly.

Beanstalk had been incredibly convenient, the entire deployment process was automated. Push code, done. But once we moved to Lightsail, everything changed. Suddenly I had to set up the server from scratch, configure Docker, and the most frustrating part: a completely manual deployment process.