Book Recommendations: Migrating to Cloud-Native Application Architectures
Complementing my last book recommendation on Migrating to microservices databases by Edson Yanaga now I present Migrating to Cloud-Native Application Architectures by Matt Stine.
I’m really digging this O’Reilly booklet style! They condense a good overview of a specific topic in one-sitting books. While at the same time provide enough links and resources to keep you digging for a few afternoons if interested.
Matt’s book is divided in 3 parts. The first bit ”The rise of cloud service” serves as an introduction to the topic. It defines cloud native architectures key characteristics and why you might consider using one. If you are already familiar with the subject you may want to skim through this first section.
The second part is the one I enjoyed the most. It talks about the changes needed to go cloud native. It covers areas that are sometimes forgotten or considered as an afterthought such as team collaboration, organizational changes (the Inverse Conway Maneuver) and the decentralization of decision making. The rest of the chapter touches on the technical challenges required. It was really nice to see a bit on how to use DDD to identify service boundaries when decomposing data models.
On the last chapter, called Migration Cookbook, Matt explores different strategies for decomposing the monolith (such as ”strangling the monolith”, ”new features as Micro-services”, ”anti-corruption layer”, etc.) and provides links to articles by companies that applied this strategies on their own systems. The book finishes with a section called Distributed system recipes where some of the more common “challenges” of a cloud-native architecture are explored and particular solutions are presented using Spring Cloud and Netflix OSS. Here you’ll find things like service discovery, versioned configuration, load balancing, etc. Each topic is presented with a brief description of the problem, a mention of the Netflix OSS solution (and it’s features) and a code snippet showing how to integrate it with Spring.
GO READ IT! It won’t take you more than an afternoon and chances are you’ll learn something new. You’ll walk away with a better understanding of the cloud-native landscape.