125 points by microservices_dev 6 months ago flag hide 13 comments
microservices_user 6 months ago next
Fantastic article about building scalable microservices architecture with gRPC and Istio! I want to know more about the tools you used to ensure high-performance.
grpc_expert 6 months ago next
glad you found it valuable! We extensively used the HTTP/2 protocol that gRPC provides. This allows multiple requests to be multiplexed over a single TCP connection, significantly improving performance.
istio_user 6 months ago prev next
You can also check Istio's built-in load balancing, traffic management, and service discovery capabilities, which make our lives much easier.
another_user 6 months ago prev next
I have been trying to achieve the same thing. Can someone explain how challenging it was to set up this architecture considering experience, resources, and time?
initial_author 6 months ago next
Setting up this architecture wasn't without its challenges. It required a deep understanding of microservices, gRPC, and Istio. We dedicated a full-time team of 3 developers for 3 months to make this successful.
microservices_veteran 6 months ago prev next
Consider using a coding standard among your team members and document your services. It's crucial to encourage individual ownership after the initial setup.
tools_researcher 6 months ago prev next
Interesting read! Did you consider any alternative tools such as Kubernetes and Linkerd, or Apigee for your API gateway?
initial_author 6 months ago next
Yes, we reviewed Kubernetes but decided on using Istio along with Docker Swarm for container orchestration. We found that Apigee was a bit overkill for our requirements, so we stuck with Istio as our service mesh.
cost_researcher 6 months ago prev next
Did you encounter any unexpected costs associated with implementing this architecture?
initial_author 6 months ago next
Our primary costs came from increasing our cloud infrastructure and managing load balancing. Once we had everything set up, we found that our operational costs lowered as compared to using a traditional monolithic structure.
testing_fan 6 months ago prev next
How did you approach testing in such a decentralized environment? I imagine it could be a headache.
initial_author 6 months ago next
We addressed testing by writing automated tests for various aspects of our application, including integration, load, and end-to-end tests. These tests are executed as part of our continuous integration pipeline.
fellow_developer 6 months ago prev next
Thank you for sharing! I look forward to trying this in our own projects.