Great explanation. I'd just like to add that a "single point of failure", in my opinion, is not really a drawback. Because if a monolithic application crashes, it's also a single point of failure. With microservices, there's a chance that only a service crashes and everything else keeps running.
Nice idea of presenting information with that glass board and luminescent markers, but for this kind of scenes Manual Focus mode on your camera would work much better - just set it once and don't touch =).
Man you are awesome and your studio style and lighting is awesome. It got me concentrating for the longest period. The only thing I would recommend is to turn off autofocus and manually adjust it once.
Explained really well. Only thing that's disturbing is the camera focus going haywire. If you are using DSLR, then adjust the camera to focus on a single plane, or if you are using phones to record, there's also an option to lock your focus. Videos are really helpful.. thank you :)
you earned a new follower, it was the first video that I watched in your channel but it was an amazing time, it helped me to implement an API gateway at my job. I proposed use one to create a scalable architecture but I was finding some problems to implement it using nodejs, so now it's more clear how to solve this challange. Thanks guy
Became a fan of your presentation, very clear and basic explanation. Just like someone has read whole chapter of an interesting book and giving concise gist of the content. Looking forward for more videos on this. Would you be able to get an tutorial on api gateway end to end.
Great video that explains very easily the API Gateway purpose. However, I would strongly advise against implementing the Orchestration/Business Logic (BL) in the API Gateway, how much tempted you might be. Create a BL layer between the API GW and the different Microservices, in that way you cleanly encapsulate that functionality in a separate module (microservice) and let the GW strictly do GW stuff. It will also make the load balancing, and future maintenance, easier since that functionality resides elsewhere. Clean and neat separation of concerns and responsibilities; future proof solution. Trust me, thank me later. Keep up the good work 👍🏼👏🏼
i was also thinking the same, by having the api gateway implementing the aggregation logic it will make the system brittle and would require frequent changes at gw, and all in all it will result in resistance for the future of the application
Hello friend. Excellent video, the concepts were very well explained. I have a question. You mentioned, at some time, that API gateway help you to eliminate the circuit break pattern from microservices. But, (maybe is my misunderstanding) circuit breaks were supposed to be applied on client level. Am i right? If so, thus the circuit break pattern was removed from your Web App, rather than microservices themselves.
good explanation Houssem. I wanted to have your suggestions on the API gateway. when it comes to optimising the gateway, normally there are several back and forth request and response transactions that tend to increase latency. instead if we did something like creating a lookup table at the the gateway and tokenised the IPs and stored them in the lookup table, just like how credit card tokenisation works in credit cards in eommcerce applications, that addresses both the security as well as the latency problem. do you think that is an advisable optimisation? and yes, ditch the autofocus next time? lol :):)
Thanks a lot, awesome content. I would like to recommend you to turn autofocus off on the recording device. I also have a question; what is the lifetime option in API Gateway, I guess it's scoped.
Thanks for sharing the knowledge on how API Gateway works at a high level. My question is how the actual implementation of API Gateway happens, between client webapp and API Gateway.? There will be only on url call between client and API Gateway, and APIG will call the different microservices, then how the API gateway will understand to call different MS .? who is responsible to configure it and how the request and response objects will be configured in the API gateway.?
This is an example of "just add another box or layer" without clearly understand or explain why. As other commenter said, it has the same "single point of failure" the mono application, then why do we need this? What happen if you combine the API Gateway with your Web application? it provides the same benefits, in this case you only expose the IP of your web, why do you need to expose the IPs of your services? One key element for microservices design is to provide partial operation, meaning if one service down, the app is still running, by your implementation, I see if 1 service down, the whole app down. It is a different story if you have a mobile application when the app is running on a "external" device. The the API Gateway makes sense, but normally, you can't reuse the same gateway you build for web.
Hi Anil :) Yes that is possible. What is recommended is to implement AuthN in the API Gateway to not replicate code and AuthZ in each microservice to have more granular role management.
@@HoussemDellai How will each microservice know the roles of an identity ? Isn't it better than the api gateway itself will check authorisation and the microservices can execute without needing to check?
I am looking to deploy apim in the standard tier. I don’t want any public access therefore going to put an appgw infront of it for external access. Can I use a private endpoint for apim and then remove all public access? Then connect to the other components e.g dev portal through the PE?
@ 8:12 - I believe the API Gateway doesn't necessarily have to have a public IP address. Since the API Gateway should ONLY be accessible by the Web app. The Web App since it's public-facing, should have a Public IP, and contact securely using a Private IP to the API Gateway to access all of the microservices and dependencies therein.
Sometimes a service response is dependent on other service e.g. order is dependent over inventory so do u suggest to put all such business logic in gateway or do you advocate svc to svc internal connection as well ....If so authn &authz to delegate at bkend svc as well
Hmmm does the idea of such a service break the SRP? It looks like a service with a massive array of responsibilities and it also looks like it has to know a bunch of stuff about all the other microservices. I'm not sure cos I have no experience with the MSA, I'm just learning about it, but seems like maintenance of this API gateway may well turn into a sheer nightmare. Also, what if this service breaks, then the whole thing will stop functioning...
Nice explanation and what ever you have explained is sync flow of API so can you please explain Async flow(message broker system) it will be helpful for audience and followers And one more small request , please explain those authentication and authorization over API ,it's token based authentication over API and TLS between Web GUI and API gateway , finally I'm appreciating your technical knowledge sharing attitude
Thank you Houssem for the great video. In term of security, would you please explain more why API gateway improves security? To me, if the the single IP address of the gateway is exposed, the hacker can explore all microservices. W/o the Gateway, the hacker has to know the IP addresses of all the microservices to do the same.
Whole point of services is you want to allow them to consume but in a secured fashion.If all these services you want to expose w/o gateway, then you will need them to have public ips and each service will need to implement Auth. With gateways, you just need to implement Auth at gateways level and allow/reject at gateway level based on Auth flow
I am also an tutor, can you please help to let me know from where you bought this screen, please share the link. I am interested to explain on similar screen.
Hi. Nice explanation, but the latency in my opinion will not improve with an API Gateway. Even if the gateway will do as in your example multiple calls, you have at least one additional call. The call to the API Gateway. So the network latency will increase. With the rest I can agree.
Can the single point of failure problem be solved by having multiple API gateways and have traffic redirected through DNS load balancing? This way, if one gateway goes down, you still have other instances.
Wow, one proper video about API gateway without beating the bush !! hard to find such clear explanation on this topic .
Great explanation. I'd just like to add that a "single point of failure", in my opinion, is not really a drawback. Because if a monolithic application crashes, it's also a single point of failure. With microservices, there's a chance that only a service crashes and everything else keeps running.
Nice idea of presenting information with that glass board and luminescent markers, but for this kind of scenes Manual Focus mode on your camera would work much better - just set it once and don't touch =).
Man you are awesome and your studio style and lighting is awesome. It got me concentrating for the longest period. The only thing I would recommend is to turn off autofocus and manually adjust it once.
I really liked the content and the way you presented. Great Work!
But you need to fix this auto-focus thing.
Explained really well.
Only thing that's disturbing is the camera focus going haywire.
If you are using DSLR, then adjust the camera to focus on a single plane, or if you are using phones to record, there's also an option to lock your focus.
Videos are really helpful.. thank you :)
Dude these videos are awesome. No beating around the bush. I like it
you earned a new follower, it was the first video that I watched in your channel but it was an amazing time, it helped me to implement an API gateway at my job. I proposed use one to create a scalable architecture but I was finding some problems to implement it using nodejs, so now it's more clear how to solve this challange. Thanks guy
Wonderful explanation of Api Gateway Concept
Became a fan of your presentation, very clear and basic explanation. Just like someone has read whole chapter of an interesting book and giving concise gist of the content. Looking forward for more videos on this. Would you be able to get an tutorial on api gateway end to end.
Great video man, future videos perhaps consider turning the auto-focus off.
Wonderful and amazing explained with specific details. Thanks for sharing your knowledge.
Thanks for your explanation. 'Request/Response Transformation' seems better naming instead of 'Query Transformation'
Great video that explains very easily the API Gateway purpose.
However, I would strongly advise against implementing the Orchestration/Business Logic (BL) in the API Gateway, how much tempted you might be. Create a BL layer between the API GW and the different Microservices, in that way you cleanly encapsulate that functionality in a separate module (microservice) and let the GW strictly do GW stuff. It will also make the load balancing, and future maintenance, easier since that functionality resides elsewhere. Clean and neat separation of concerns and responsibilities; future proof solution. Trust me, thank me later.
Keep up the good work 👍🏼👏🏼
i was also thinking the same, by having the api gateway implementing the aggregation logic it will make the system brittle and would require frequent changes at gw, and all in all it will result in resistance for the future of the application
Superb explanation . Worth watching and thanks a lot .
great video. thank you. why not disable the auto focus?
I absolutely loved this video and the simplicity. You created a fan brother!
So do you wrote it reverse, dude ?
Look at this one, I just flip the video when editing :) :)
twitter.com/HoussemDellai/status/1153756042272104448/photo/1
lol, same mind, but answered by himself (channel owner) here...
Excellent video. That's how new solutions should be explained.
A very unique way of presenting. Good work and it was really helpful. The video was going blur in between so you may want to check out to avoid this.
Now got clear understanding of API Gateway.. If you can create another video on security and Api monitoring will help
loved this - very articulate and exhaustive
Please keep your channel active
Nicely explained, thanks
its really nice video regarding API GW
Hello friend. Excellent video, the concepts were very well explained. I have a question. You mentioned, at some time, that API gateway help you to eliminate the circuit break pattern from microservices. But, (maybe is my misunderstanding) circuit breaks were supposed to be applied on client level. Am i right? If so, thus the circuit break pattern was removed from your Web App, rather than microservices themselves.
Thanks for the video! Nice presentation and very useful information..
good explanation Houssem. I wanted to have your suggestions on the API gateway. when it comes to optimising the gateway, normally there are several back and forth request and response transactions that tend to increase latency. instead if we did something like creating a lookup table at the the gateway and tokenised the IPs and stored them in the lookup table, just like how credit card tokenisation works in credit cards in eommcerce applications, that addresses both the security as well as the latency problem. do you think that is an advisable optimisation? and yes, ditch the autofocus next time? lol :):)
is this the same logic for the aws api gateway?
Thanks a lot, awesome content. I would like to recommend you to turn autofocus off on the recording device. I also have a question; what is the lifetime option in API Gateway, I guess it's scoped.
Great video. Btw, you should disable autofocus on your camera.
Great content and novel delivery. The autofocus is really distracting though.
Great Video! For learning and understanding API Gateway, it is very useful to me. Thanks!
Thanks for sharing the knowledge on how API Gateway works at a high level. My question is how the actual implementation of API Gateway happens, between client webapp and API Gateway.? There will be only on url call between client and API Gateway, and APIG will call the different microservices, then how the API gateway will understand to call different MS .? who is responsible to configure it and how the request and response objects will be configured in the API gateway.?
This is an example of "just add another box or layer" without clearly understand or explain why. As other commenter said, it has the same "single point of failure" the mono application, then why do we need this?
What happen if you combine the API Gateway with your Web application? it provides the same benefits, in this case you only expose the IP of your web, why do you need to expose the IPs of your services?
One key element for microservices design is to provide partial operation, meaning if one service down, the app is still running, by your implementation, I see if 1 service down, the whole app down.
It is a different story if you have a mobile application when the app is running on a "external" device. The the API Gateway makes sense, but normally, you can't reuse the same gateway you build for web.
Could we have authentication and authorization also as a microservice rather than repeating code in each micro-service?
Hi Anil :)
Yes that is possible. What is recommended is to implement AuthN in the API Gateway to not replicate code and AuthZ in each microservice to have more granular role management.
@@HoussemDellai
How will each microservice know the roles of an identity ? Isn't it better than the api gateway itself will check authorisation and the microservices can execute without needing to check?
Loved the explanation. Simple and to the point
I still get loss. I wasn’t fast in learning an automobile stick shift either. You just have to learn it. A lot of people grew with it. No experience.
Nice Presentation!!!
👍👍
You have done great job with the presentation. Keep up the good work !
Very helpful.thank you very much.need more videos from you.
I am looking to deploy apim in the standard tier. I don’t want any public access therefore going to put an appgw infront of it for external access. Can I use a private endpoint for apim and then remove all public access? Then connect to the other components e.g dev portal through the PE?
it's such a great content and explanation, could you please post one example on how to build (design, coding) gateway like using (nodeJs)
Great explanation
@ 8:12 - I believe the API Gateway doesn't necessarily have to have a public IP address. Since the API Gateway should ONLY be accessible by the Web app. The Web App since it's public-facing, should have a Public IP, and contact securely using a Private IP to the API Gateway to access all of the microservices and dependencies therein.
you may want to expose your services to third party or open source
Sometimes a service response is dependent on other service e.g. order is dependent over inventory so do u suggest to put all such business logic in gateway or do you advocate svc to svc internal connection as well ....If so authn &authz to delegate at bkend svc as well
Hmmm does the idea of such a service break the SRP? It looks like a service with a massive array of responsibilities and it also looks like it has to know a bunch of stuff about all the other microservices. I'm not sure cos I have no experience with the MSA, I'm just learning about it, but seems like maintenance of this API gateway may well turn into a sheer nightmare.
Also, what if this service breaks, then the whole thing will stop functioning...
Great explanation !!
first of all.. you were awesome for writing backwards
.
Deserve way more views
That's pretty amazing you can write backwards like that.
Such a great video. Crystal clear explanation. Great work buddy.
Great job ! thanks , I like your manier to expose your explain
Thanks Houssem, clear, perfect. Exactly what I needed!
m3allem ! Great explanation
thanks for this awesome and useful video.
Great content sir
You have to plug it in to electric outlets?
Nice explanation and what ever you have explained is sync flow of API so can you please explain Async flow(message broker system) it will be helpful for audience and followers
And one more small request , please explain those authentication and authorization over API ,it's token based authentication over API and TLS between Web GUI and API gateway , finally I'm appreciating your technical knowledge sharing attitude
amazing Hussam, Thank you
Thank you Houssem for the great video. In term of security, would you please explain more why API gateway improves security? To me, if the the single IP address of the gateway is exposed, the hacker can explore all microservices. W/o the Gateway, the hacker has to know the IP addresses of all the microservices to do the same.
Whole point of services is you want to allow them to consume but in a secured fashion.If all these services you want to expose w/o gateway, then you will need them to have public ips and each service will need to implement Auth. With gateways, you just need to implement Auth at gateways level and allow/reject at gateway level based on Auth flow
Excellent video man thanks keep them coming
Thank you, sir, for such a nice video and knowledge.
Thanks) It was very useful.
Thank you for this simple explanation.
I am also an tutor, can you please help to let me know from where you bought this screen, please share the link. I am interested to explain on similar screen.
7:50 Is the microservice from 1 to N lying on the company's internal network?
Please use manual focus option on your camera.
Great explanation. I loved it
greaaaat information :) Thanks Houssem
Kindly make this video with practical session with AWS with EC2 instance using Micro service.
I love the way you explain...
Great explanation, thumbs up
Actual information about API gateway starts at 4:36
Thank you so much! Your explanation was very clear!
Best explanation, thumbs up
Good explanation! Thanks.
Of course I liked it!
Thank you man
graet explanation
Great presentation thank you
great explanation appreciated your effort !
Why do people overlook the WebApp as a "single point of failure"?
Hi. Nice explanation, but the latency in my opinion will not improve with an API Gateway. Even if the gateway will do as in your example multiple calls, you have at least one additional call. The call to the API Gateway. So the network latency will increase. With the rest I can agree.
this is really good
que buena introducción!
Can the single point of failure problem be solved by having multiple API gateways and have traffic redirected through DNS load balancing? This way, if one gateway goes down, you still have other instances.
Yes
Great explanation! Thanks!
thank you. nice explanation.
Very cool. Thanks
thank you - nicely done
Just Brilliant.
Thanks so much for this tutorial.
how does api gateway reduce latency?
Thank you!
In the beginning, why would the backends ever need public IPs? Why wouldn't they be on the same (internal) network as the webapp?
I suppose in this example you're imagining third-party webapps calling your APIs?
@@adityaprasad465 yes
this doesnt help, apparently nothing helps me with this CORS error
Thank you so much
Thanks man
What a great explaination!
Is API Gateway a new name for Reverse Proxy? Why is it called "API" Gateway?
Wonderfull