The rank metric measures the distance between two matrices by the rank of their difference. Codes designed for the rank metric have attracted considerable attention in recent years, reinforced by network coding and further motivated by a variety of applications. In code-based cryptography, the hardness of the corresponding generic decoding problem can lead to systems with reduced public-key size. In distributed data storage, codes in the rank metric have been used repeatedly to construct codes with locality, and in coded caching, they have been employed for the placement of coded symbols. This survey gives a general introduction to rank-metric codes, explains their most important applications, and highlights their relevance to these areas of research.Codes in the rank metric have drawn increasing interest in recent years due to their application to cryptography, distributed storage and network coding. The survey by Gorla and Ravagnani (2018) mainly focuses on combinatorial properties of rank-metric codes, while the one by Sheekey (2019a) considers MRD codes and their properties. In particular, Gorla and Ravagnani (2018) and Gorla ( 2019) treat (amongst others): isometries, anticodes, duality, MacWilliams identities, generalized weights in the rank metric. We will therefore not considers these topics in this survey. An English version of the textbook by Gabidulin (2021) has been published recently which contains a collection of Gabidulin's results in the area of rank-metric codes. Our survey deals shortly with properties of rank-metric codes, but the main focus is on their decoding and their applications to code-based cryptography, storage, and network coding.In this chapter, we give an introduction to rank-metric codes, their properties and decoding. In Section 2.1, we provide the basic notation used in this survey. Section 2.2 defines linearized polynomials and recalls some basic properties. In Section 2.3, we define the rank metric and state bounds on the cardinality of rank-metric codes, i.e., spherepacking, Gilbert-Varshamov, and Singleton-like bounds. Section 2.4, 2.5 and 2.6 provide the weight distribution of rank metric codes, constant-rank codes and covering property of rank-metric codes, respectively. Section 2.7 defines Gabidulin codes, proves their minimum rank distance and gives generator and parity-check matrices. In Section 2.8, we describe syndrome-based decoding of Gabidulin codes, i.e., we prove the key equation, show how to solve it and how to reconstruct the final error. We also outline error-erasure decoding and summarize known fast decoders. In Section 2.9, we discuss results on list decoding of Gabidulin codes. Further, we introduce interleaved Gabidulin codes (Section 2.10), folded Gabidulin codes (Section 2.11) and summarize further classes of MRD codes (Section 2.13).