Linux knowledge gap on KodeKloud

Hi there, I recently got certified as a Linux systems administrator (LFCS).
To pass this certification I relied heavily on the various courses KodeKloud
offers. However, they were incomplete and at best introductory.

It’s left me in a gray area, where I know a little bit but missing the depth
of subject matter understanding that I expected to have after passing the LFCS.

Below are Linux and DevOps topics I feel is not covered adequately at KodeKloud:

- **Iptables** ( There's an introduction in Learning Linux Basics course)
  but not adequately covered for mastery. Would appreciate a deep dive course on this.
  As this is a broad topic that I believe should not be deprecated in future,
  no matter what people say i.e. I've seen no course covering nftables, any where.

- **Firewalld and ufw**
  There's basic coverage of Firewalld on the "Red Hat Certified System Administrator(RHCSA)"
  course but hardly much on ufw else where.
  Generally speaking, a deep dive course on these would be much appreciated.

- **SELinux and Apparmor** - There is little bit of introduction on offer with respect to
  SELinux in the "Red Hat Certified System Administrator(RHCSA)" course
  but not enough to build confidence working with SELinux.
  There's next to nothing on AppArmor.

  Would appreciate a dedicated deep dive course on these topics.

- **KVM/QEMU/Libvirt and virsh** - This is mentioned briefly in the LFCS course
  and an example question on one of the labs or mock exams but there's nothing
  else on this topic. Disappointingly such a question appeared on the exam
  and I was ill prepared to tackle it.

  This is another very important tool in a DevOps engineer/ systems administrator's
  box of tools.

- **SystemD** - The modern day init system and its subsystem
  sockets, Unit, service, target/Run levels, processes, Cgroups etc. There is
  basic introduction of Unit and service files and sockets may have been mentioned
  but nothing on Cgroups. Overall, only the basic foundations is covered thus far
  on KodeKloud.

- **Linux kernel** - There's the basics on loading kernel modules and bits and bobs
  covered in the "Certified Kubernetes Security Specialist (CKS)" course
  but there's nothing substantial.

  It would be great to get a dedicated course on the Linux kernel.
  A gentle introductory course followed by a deep dive / more advanced
  coverage of popular topics.

- **Package management/repositories, upgrades/downgrades** - Again a key feature of an administrator role
  yet only the basics have been covered in dribs and drabs.
  This is an area I think should be covered extensively, rather than just mentioned.

- **Networking** - One of the biggest gaps is in this "key" area. The basics are covered
  then quite often I'll see commands used that are not previously covered. It seems as
  if it is assumed that I should already know it.

  Many of the DevOps roles that I've been looking at require working knowledge and or
  experience with Networking topics: ip, ifconfig, arp, ip-neigh, route, interfaces,
  Network Manager /nmcli, Bonds, Bridges, network connectivity, other networking commands,
  etc.

  At some point I switched to PluralSight seeking better understanding on Linux and networking
  although I learned some basics, their labs and content delivery were also lacking.

- **System Security Hardening** - This is the lifeline of any one working with Linux.
  An essential skill area. Although the "Certified Kubernetes Security Specialist (CKS)"
  looks into this area with Kubernetes in mind,(I haven't completed this course yet),
  there isn't a focused course on Linux server security hardening. I had a look at
  "CompTIA Security+ Certification" by Mathew Burch but this was too basic
  and the content delivery also needs improving, so I switched to something else to
  save time.

  A dedicated course covering security for both RHEL and Debian distros would be great.

- **DNS server** - There is an introductory course on this but the labs weren't working
  and, sadly, the content delivery needs improving: I got half way through this
  course and thought it was better to switch to ansible, to save time.

- **NTP servers** - This is briefly touched on in the LFCS course but not enough coverage
  to exude confidence in this subject matter. A simple question came up on the LFCS
  exam on this, and I struggled to find a backdoor to accomplishing the task. Although
  a simpler way to have accomplished the task is out there, I just didn't know it.

- Logs and Log rotations etc
  Another crucially important Linux organ system. There's not enough coverage of this topic.
  So far, the only real exposure to logging has been troubleshooting via Kubernetes series of courses.

- **LDAP/Open LDAP** - There's no coverage on this, perhaps there's a mention on the LFCS, vaguely.
  Would be great to get a course on this.

- **Storage and filesystems: NFS/RAID/iSCSI** - I've not seen anything on iSCSI but RAID and NFS
  have basic coverage on "Red Hat Certified System Administrator(RHCSA)".
  Again a deep dive course onto these pillars of Linux would be great.

- **Helm**
  Although there's an introductory course on helm, which is useful.
  It is not sufficient, having completed the course, I don't feel confident
  that I know the subject.

- **Ansible** -Again having completed the course, I don't feel confident that
  I know the subject. Also many of the Labs don't seem to work as they should.

- **Jenkins** - There are a few courses on offer here but I found the following were
  useful: "Jenkins by Michael Levan" despite being short it was clear and concise; 
  "Jenkins Project: Building CI/CD Pipeline for Scalable Web Applications"
   by Sanjeev Thiyagarajan, this had a little bit more depth but still too short
   and not enough labs and practice questions in the labs.

   The other courses I had an issue digesting the contents, the content delivery
   needs improving. In most of them I got part way and thought to switch to alternatives
   to save time.

- **Review of labs** -  Not enough task completion orientated questions on Labs.
  Like many of the exam prep courses on Kodekloud there's a number of issues:

	- Labs are too short, should be more questions per lab,
	  I feel a minimum of 20 to 30 tasks based questions would justify a lab.
	  That way, one lab ensures that a specific topic is learned and understood.
	  More time should also be allocated to longer labs.

	- There are too many lab questions where the student is asked to select the
	  correct answer. Although these are alternative methods of learning
	  to me it would be better to have more questions that requires
	  some task to be completed than to select an answer, which feels like
	  a waste of time.

	- Not enough variation and or approaching the problem from multiple angles
	  is employed to boost learning i.e. asking slightly different questions giving the
	  student more challenging opportunities to learn.

	  The Kubernetes mock exam series by Vijin Palazhi and the "Learn-By-Doing Kubernetes Network Policies",
	  (although too short) are excellent examples where this is done right. After completing these, I felt more
	  confident with respect to the topics covered from a practical stance.

	  It also shows that the tutor has subject matter expertise and knows how to deliver
	  the contents in a digestible way. 

	- It's difficult not to develop a view and expectation regarding a tutor
	  on the basis of previous courses they have delivered. Being time conscious
              means I'm reluctant to start a course by a specific tutor, if my previous
              experience was not rewarding.

For someone trying to learn DevOps in a hurry, I have found KodeKloud to be a wonderful learning platform.
However, there is much that can be done to aid the learner experience, in particular, when they are in a hurry:

It took me merely 3.5 months to learn Kubernetes from KodeKloud and to sit the CKA and pass. I attribute this to the excellent Kubernetes resource available i.e. they are the flagship program on KodeKloud. Although, I did know a little bit of Linux before hand.

It took me 10 months to cover the Linux material and feel prepared enough to sit the LFCS exam. The difference between LFCS and CKA preparation from my perspective is that the content organisation and delivery is better for the Kubernetes series of courses than it is for LFCS courses. Thus I felt I wasn’t learning enough fast enough and I switched to Pluralsight, for a while.

I’m passionate about learning DevOps.
KodeKloud is awsome.
I hope you can help people like me get up to speed quickly.

Warm regards

Elvy Manun’Ebo