45 days of DevOps
Learning DevOps properly can take years. I am not claiming to learn DevOps in 45 days.
And what is DevOps? I listened to a wide range of folks in the industry. It differs from place to place.
What most people think DevOps is that it means working with servers. Basically we think they are sysadmin+CI/CD.
But that is not the end of DevOps.
If you are working in a small shop, then DevOps could include network engineering, network administration, database administration, and support engineering (alongside sysadmin+CI/CD work).
Success
The success of the series for me will be measured as
- some projects
- a sense of confidence (very subjective thing) and fluency in DevOps
Baseline
I want to talk about my starting point. For some, what I have will be too much. Whereas for others, what I have would be too little. I am an ex-support engineer. I worked for 2 years and a few months as a support engineer before quitting my job to prepare for the Loksewa Computer Engineer and IT Officer exams.
I already have:
- Intermediate Linux skills
- intermediate web server administration skills
- beginner bash scripting skills
- exposure to Docker, Kubernetes, Vagrant, Jenkins
I can operate kubernetes. I can operate servers. I can find network issues in production at the OS level and fix them. I can troubleshoot Linux servers in production. But at this point, I clearly know (not just feel) that it is not going to be enough, even if it is enough today.
I feel I am weak on:
- containerization concepts
- CICD concepts
Now that I have considered some other stuffs like DBA, netadmin etc., as required for DevOps, I will integrate them in my study plan. Except the complete basic understanding of networking from Computer Networks and TCP/IP Protocol suite course, and some Operating System level networking, I really know nothing practical about firewalls, IPS, IDS etc.
And honestly, who can miss Artificial Intelligence? I am no expert at AI, but after talking to people in the industry, I think a book named “AI Engineering” by Chip Huyen would be a good way to startup my AI learning journey.
If you are wondering where to buy tech books and foreign writer’s textbooks in Kathmandu, then National Book Center located at Bagbazar bridge is the only place. Earlier, there used to be Ekta bookshop at Thapathali as well(for textbooks at least). But even Ekta books have stopped stocking up. Completely forget about bringing new books.
Problems
Since I am also preparing for Loksewa computer engineer and IT officer, now again with a full time job, time is a huge constraint for me. It has almost trapped me. I know I can get training once I enter reputed corporations like NTC, NEA in the field I would like to get training on. But my concern is deciding between giving my all for Loksewa till I am eligible for it? Or maybe set a deadline for myself to crack it? Or maybe balance all three(learning new skills+loksewa preparation+job)? I would love some suggestions on this topic. I am always listening to you on my e-mail. Contact me here:
https://berojgarengineer.com/contact/
Another problem is the lack of powerful enough computer. I currently do not have a powerful machine. Because of this reason, I am unable to even write Spring boot code. Forget about tasks that require a fat machine.
How I am learning?
I will be using resources on demand. Udemy courses will be my goto source. Along with youtube and articles available online. I will use almost everything available for free.
University slides are also helpful if they exist for the topic I am looking to study.
Chip Huyen’s “AI Engineering” book is something that I will be buying.
I have picked two udemy courses. One is on LEMP on Rocky Linux 10 and another is about Jenkins CI/CD.
I have started the LEMP udemy course and at this point, I find it too command copy-paste type. No knowledge about how stuffs work behind the scene or some architectural viewpoint is being provided. Simply commands are listed and we are asked to enter them on our server.
The Jenkins CI/CD course is going well.
The roadmap that I will be following will be:
- network administration
I will learn to use some open source firewalls like pfSense or OPNsense. Since nepali ISPs do not allow port forwarding on residential IPs, I think learning firewall is going to come hard by. The udemy courses that exist in this field are pretty bland.
- database administration
I have Ahmed Baraka’s Oracle SQL course on Udemy, I will get through it. If I ever finish it(more than 60% completion), I will make a review of that course. It is very technically demanding course from what I have seen so far.
- CI CD
I will continue the Jenkins CI/CD course. My goal is to pick the fundamentals. Not the tooling. Jenkins is probably being phasesd out by gitlab CI/CD. Applications keep changing but the core mechanisms behind the technology never changes. My goal is to learn the core technology.
- AI
Read the Chip Huyen’s book on AI. Once I get confused on it and feel like I need more resources, buy/seek those resources and start learning from them.
- Containerization
I currently do not know how I will learn it, but I guess I will do it while learning LLMOps or stuffs like that. Patience is a virtue because in the future some good courses might arrive in this field or my brain might be technologically matured enough to grasp these concepts.