M/G/1-type processes are commonly encountered when modeling modern complex computer and communication systems. In this tutorial, we present a detailed survey of existing solution methods for M/G/1-type processes, focusing on the matrix-analytic methodology. From first principles and using simple examples, we derive the fundamental matrix-analytic results and lay out recent advances. Finally, we give an overview of an existing, state-of-the-art software tool for the analysis of M/G/1-type processes.