In response to Ryan Budney's comment, let me try to say something about topological data analysis, and other recent applications of algebraic topology outside of traditional mathematics. In my previous answer, I interpreted "modern" to mean "abstract", but Ryan is absolutely right that this is a modern form of algebraic topology that is gaining huge amounts of steam. Disclaimer: I don't do research in this area (yet), and what I know is mostly from talks I've seen over the years, workshops I've attended, and my own random thoughts on the field.
Persistent homology works by considering all possible covers of your dataset by balls of radius r drawn around the data points, as r varies. It's best to imagine 2 dimensional data where you roughly see the shape of a circle. When r is very small, the cover is entirely disconnected. When r is very large, you're probably looking at a bunch of intersecting balls, with way too many overlaps to tell you much. But for some value of r in the middle, you get a connected shape that looks roughly like $S^1$. The balls form a simplicial complex, and that's how the computations are done. When the balls form many disconnected components, $H_0$ has large dimension. Once they coalesce into a connected component, $H_0$ is $\mathbb{Z}$ and (in the circle example) $H_1$ is also $\mathbb{Z}$. It remains $\mathbb{Z}$ as $r$ gets larger and larger, till r becomes so large that the union of the covering balls forms a disc rather than a circle (up to homotopy). The word "till" in the last paragraph is why it's called "persistent" homology. One way to visualize how the homology groups change with r is to write them as barcodes, where the left-to-right axis is r and the number of bars is the dimension. When you see a long barcode, that's telling you a feature of your data that is persistent even as r varies, e.g. a hole.
There are also applications of topological data analysis (TDA) to Machine Learning, Clustering, and Classification. A simple example is barycentric clustering, which is something like a souped-up, topological version of k-means clustering. Gunnar's group has more complicated examples that have been useful in identifying previously unknown associations, that were later backed up with theory. A common problem is dividing a dataset into distinct pieces, e.g. via Support Vector Machines. Basically: if your dataset can be separated by a hyperplane then you do so. If not, you transform to a higher dimensional space where it can be and then separate it there (equivalently, you find a separating sheet or surface). I am hopeful that the methods of TDA can be used to provide improved separation algorithms.