The goal was simple. I wanted to spin up a few servers, a database, a Redis server, an elasticsearch server, and to make it so that it’s easier to maintain these resources in the future.
To set up each of these resources before, I would log in to the hosting companies UI and then onto the server and setup things. If I wanted to set up a new server after a month, I would repeat the same process all over again.
Something had to change, and I wanted to automate the process. I knew there were tools available that would help with the automation. I needed to carve out time to sit down and learn.
And learn I did. For Linode, Stack script. For DigitalOcean, Apps that came with their format on how to set up resources. AWS has CloudFormation, which helps setting up resources. You can also use Docker and containerise the deployment process. I slowly caught up with these tools to learn about Terraform, enabling you to write declarative configuration files to set up the infrastructure.
A collegue at work told me about how the company plans to move more services to Kubernetes. Every time I feel like I have caught up, there is one more thing to learn. Somedays, it is exhausting; other days, it’s fun. I don’t need to know and master all these tools. I need to pick one that I enjoy working with and continue improving my skills with that tool.