It is almost 2 years since I started to develop professionally and really understand the challenges that it comes with building and maintaining services up and running 24/7 without breaks. Since then, I became fascinated to the concept of microservices. It looks so simple, the old divide and conquer, but brilliant. However, it comes with a lot of challenges as well and many tools to tackle these challenges. That's where my question is born. What are the tools you use to build your microservices architecture?
It seems a question that I could easily Google it and get some answers. I did it sometimes, even listening to other companies infrastructure. A lot of them talk about Kubernetes as a mean to deploy microservices. Others deal with communication, which seems a real challenge in microservices, like Kafka and other messaging or data streaming tools. Service discovery and circuit breaker are some names I read as well. On the Java world, where I live most of my time, there are Netflix OSS with Eureka, Feign, and others. It is a myriad of tools and begs the question about what do you use and your stories with those tools.
Furthermore, all stories we hear about microservices deployments is from big companies where the infrastructure is massive and it sounds impossible to practice with those tools unless you are already in a company with such a massive infrastructure. Am I wrong? How do you practice with those tools to understand them well?
I understand that most of the tools used depends on the user case, but that's why I asking here! I hope we can gather a lot of different stories of all shapes and sizes! So, let the talks begin! :D