DEV Community

Satoshi S. for Web Dev Path

Posted on

DevOps Practical Experience with Home Lab

A woman checking a server on her laptop

Intro

This summer I had an opportunity to learn DevOps skills through MLH Fellowship x Meta Production Engineering program. If you want to know about the program, please have a look at my LinkedIn post.

Before the program, I had some experience deploying web applications using Digital Ocean droplets(VPS). I'm hosting some of my work with them. However, I lacked a solid foundation in efficiently deploying applications through various technologies such as Docker, GitHub Actions, proxy servers, etc.

Throughout the program, I gained essential production engineering skills and had a chance to talk with many production engineers from Meta. One of the highlights was a mock interview with a production engineer manager. I received detailed feedback on my technical and system interview performance. The feedback said that I had a decent catalog of commands with a high level of knowledge of what they could do, and I would benefit from more hands-on experience with a Unix System. I felt reading multiple Linux books for the interview paid off and getting more interested in gaining practical experience as a production engineer.

My HomeLab

One of my mentors inspired me to explore a home server setup after showcasing his physical server projects during a session. I realized that building a home server could be a great way to gain practical Linux server experience.

After some research, I decided to buy a mini-computer (NucBox G3) and use CloudFlare to host websites from my home network.

So far & future

Completed:

  • Installed Ubuntu server on the mini-computer
  • Setup the network and integrated with Cloudflare
  • Build a CI/CD pipeline for my Flask portfolio project
  • Create a dataset for Kaggle with cronjob

Future Plan

  • Improve the Flask portfolio by enhancing the design and adding tests
  • Experiment with deploying applications built with other frameworks, such as React and Next.js

Conclusion

Although I've been using Linux for about 3 years, I've realized there's still so much to learn to maximize productivity as a developer. I'm sure I will improve my Linux skills with time and hands-on experience.

While I'm unsure of the exact role I'll take in the future, I'm certain DevOps skills will be invaluable even if I become a front-end developer.

Top comments (0)