Blog | Linux Foundation

Learn KVM and Linux App Development with Linux Foundation Instructor Mike Day - Linux Foundation

Written by The Linux Foundation | Jun 17, 2015 7:00:00 AM

Linux Foundation instructor Mike Day is an expert in Linux hypervisors and led IBM’s work on the Xen and KVM hypervisors as a Distinguished Engineer. But he came upon his calling almost by accident, having been “thrown into the project with colleagues who had worked on hypervisors for more than a decade,” he said.

“It was a real challenge for me but not too long after that I became viewed as an expert on the subject,” said Day, who now teaches KVM and Linux developer courses for Linux Foundation Training.

Day has been coding on Linux since 1999, with development experience that includes network operating systems, internet protocols, systems management software and hardware, and security tools for companies including Intel and IBM.

Here he tells us more about how he learned Linux and software development, his career path to becoming an expert on hypervisors, and what to expect from his courses.

Linux.com: What courses do you teach at the Linux Foundation?

Mike Day: I teach Linux KVM Virtualization (LFS540),KVM for Developers (LFD541), Introduction to Linux for Developers (LFD211), and Developing Applications for Linux (LFD 312).

How long have you been teaching?

I earned money while in college writing about and presenting training on computer networking to a couple of local corporations. I’ve been teaching for the Linux Foundation since January 2015.

How did you get started with Linux?

In the late ‘90s I was writing an SNMP manager on Windows when I needed to use Lex and Yacc. I purchased Cygwin, and I wasn’t happy with it. I noticed that Linux had the complete toolset for programming, and it was free. I switched the project to Linux, and thereafter it supported both Windows and Linux. I have been developing on Linux without exception since then. That was the same year I starting using emacs, which was better than any of the expensive source code editors of that time (and still is).

How did you learn?

I am an independent student, I learn by reading and doing. I look at all the sources of information, which these days includes social media including Github, blogs, slides, and videos.

In the early 2000’s I heard a colleague complain to a Sr. Executive that there was no information available on Linux development. (These were the days of paying $500 a year to get access to MSDN.) I felt the complaint was ironic because my experience showed me there was more info on Linux development than for any other platform. Remember the Linux Documentation Project HOWTO’s? Access to source code provides ultimate documentation.

What is your area of expertise now?

I’ve been working on Linux virtualization since 2007. Before then I was into systems management and protocols.

How did you develop that? What has your career path been?

When I began working on hypervisors I knew very little. I was thrown into the project with colleagues who had worked on hypervisors for more than a decade. It was a real challenge for me but not too long after that I became viewed as an expert on the subject.

What projects are you involved in currently? What are you working on?

I am an occasional contributor to upstream QEMU. (Paulo Bonzini recently merged my patches to apply RCU to QEMU memory lists). I am at the very early stages of a project to give KVM Docker-like manageability. I also provide consulting and development to interested parties.

What are the hot button issues or latest trends in your area?

There is a wave of projects to incorporate KVM into infrastructure appliances. This was something I’ve been hoping would happen for years, but the hardware was not capable enough until very recently.

What technologies and skills do you see coming down the pike that Linux professionals should be prepared for?

The combination of Linux with tiny throw-away computers is just starting. Its a different mindset from developing a server platform. You see folks deploying Linux as a single-purpose kernel in different scenarios.

How do you address these in the courses you teach?

I stress that code efficiency and size are as important as they ever have been, despite the existence of multi-terrabyte file systems and gigabyte memory banks.

Learn more about Linux Foundation Training courses and certification at http://training.linuxfoundation.org/.

Meet more Linux Foundation instructors:

Learn OpenStack with Linux Foundation Instructor Tim Serewicz

Learn Cloud Administration With Linux Foundation Instructor Michael Clarkson

Learn Linux Performance and Scripting with Linux Foundation Instructor Frank Edwards

From Linux User, to Electrical Engineer, to Linux Foundation Instructor: Jan-Simon Möller