My first foray into distributed systems was by reading Designing Data Intensive Applications. It's a tough read, especially the middle parts, if you're not coming from a distributed systems background already, but eye opening and really shines a light on many areas you can continue learning about afterwards. It's also one of those books you read multiple times and get a bit more out of it each time.
Most modern software systems are distributed systems, but designing a distributed system isn’t easy. Here are six best practices to get you started.