Sidecar Pattern to SIMPLIFY services or just more COMPLEXITY?

preview_player
Показать описание
What is the sidecar pattern? Applications and services often have generic concerns such as health checks, configuration, metrics, as well as how they communicate with each other either directly or through messaging. Services usually implement these using libraries or SDKs to handle these concerns. How can you share these concerns across all these services so you're not implementing them in every service? The sidecar pattern and ambassador pattern might be a good fit to solve this problem.

🔗 Solace

💥 Join this channel to get access to source code & demos!

🔥 Don't have the JOIN button? Support me on Patreon!

0:00 Intro
0:47 Common Concerns
1:38 Sidecar
2:47 Ambassador
5:27 Dapr Example

#softwarearchitecture #softwaredesgin #dapr
Рекомендации по теме
Комментарии
Автор

I forgot, but wanted to mention latency. If you're using the sidecar for inbound or outbound communication, you're going to be adding latency because of proxying through the sidecar. Just another consideration.

CodeOpinion
Автор

Wow, mind blowing.. Finally, got a grasp on Sidecar and Ambassador and wonder how I may need to apply it to our current system I am working on that will requiring strangling a monolith into more autonomous microservice bounded contexts and eventually a complete migration to full on microservices.

yonatandaniyel
Автор

I'm so glad you set things straight at the end of the video: if you don't have many services with different stacks, don't use sidecars.

If you have different services and different languages, I would add: question that first.

FlaviusAspra
Автор

Heyo my man! You are just the teacher I was searching for.. Thanks for doing this ❤️

Have a great day and keep on making these. Love your website too, packed with knowledge!

Tebralicious
Автор

great video. What is disappointing about dapr is that it has to many pre requisites for services and sidecars that are on different machines.

bizoton
Автор

I think you should have explained Dapr better. Sidecar pattern for only pub/sub may not be that practical. Still, if you consider that you get with Dapr: actors, state management, secrets, pub/sub, service discovery, etc., it looks like a much better proposition.

Also, even junior devs can work with REST. It can be easier for new developers to work with simpler abstractions.

Maybe a separate video about Dapr only?

coolYk
Автор

Getting hooked on Dapr, I lament that I can't use it to proxy my own services as well. Given that Dapr exists for cloud services, why can't I add my own services so that Dapr proxies everything consistently?

joebowbeer
Автор

I might have missed something, but where is the code for side car? Do you have any github repo with example which you mentioned?

raghavbuz
Автор

Hi Derek, can you recommend a book where I can find these patterns?

AdamTheBen
Автор

Why do you think that setting up env with libraries and SDKs for only one language is easier than doing it with dapr? Why not use dapr as a default "framework"?

nvrde
Автор

I don't get it, even if there are polyglot containers running in the microservice system, they will talk with Rest or Grpc with each other which already provide the abstractions, why do i need this additional level of abstraction?

bretzel
Автор

Could this sidebar approach be used to implement the Outbox pattern?

greenpulp.
Автор

In the usecase of message broker(MB), instead of directly using message broker's sdk you are using dapr sidecar sdk. What's the real benefit in this scenario?

tharun
Автор

you said nothing about the part of the cli "dapr run..." thing you did. I was trying to recreate... I was getting:

=) "Error starting gRPC call. HttpRequestException: An HTTP/2 connection could not be established because the server did not complete the HTTP/2 handshake.", An HTTP/2 connection could not be established because the server did not complete the HTTP/2 handshake.

What do I need to do in the cli??

damilola_adegunwa
Автор

#request
Hi
please compare, design and implement the best way for Interprocess Communication in C#, WCF, Named pipes, shared memory or what ?
Thank you.

ShayanFiroozi
Автор

Lol to say sidecar adds complexity is ridiculous 🤣🤣🤣

andrewcolleen