Embeddings of discrete metric spaces into Banach spaces recently became an important tool in computer science and topology. The purpose of the book is to present some of the most important techniques and results, mostly on bilipschitz and coarse embeddings. The topics include: (1) Embeddability of locally finite metric spaces into Banach spaces is finitely determined; (2) Constructions of embeddings; (3) Distortion in terms of Poincare inequalities; (4) Constructions of families of expanders and of families of graphs with unbounded girth and lower bounds on average degrees; (5) Banach spaces which do not admit coarse embeddings of expanders; (6) Structure of metric spaces which are not coarsely embeddable into a Hilbert space; (7) Applications of Markov chains to embeddability problems; (8) Metric characterizations of properties of Banach spaces; (9) Lipschitz free spaces. Substantial part of the book is devoted to a detailed presentation of relevant results of Banach space theory and graph theory. The final chapter contains a list of open problems. Extensive bibliography is also included. Each chapter, except the open problems chapter, contains exercises and a notes and remarks section containing references, discussion of related results, and suggestions for further reading. The book will help readers to enter and to work in a very rapidly developing area having many important connections with different parts of mathematics and computer science.