The next video is here: kzbin.info/www/bejne/bJDTgoV-btyMqrc All about context maps, and the different patterns and how to think about them
@M1stFinkะาฏะฝ ะฑาฑััะฝ
This is an interesting one. For an hexagonal arch I would assume quite a few business cases defined in my domain usecases/services and quite some aggregate invariants defined as well. Those will likely (hopefully) rely on repository abstractions that are reused and combined for each usecase. That's already a lot stuff to unit test. And we haven't talked about message versioning and anti corruption layer implementation. So a multiple of the system parts. The integration tests (e.g. lambda -> dynamo, lambda -> s3, talking adapters ofc) have the happy and failure paths from the adapters integration. I think there is a point where you will either end up with more unit tests than int tests (rather quick) or test business cases in integration tests. And in prefer the fast local feedback. In the simple example cases it's often the other way around, but that's not reality.
@Thimo-o8h3 ะบาฏะฝ ะฑาฑััะฝ
Nice overview of important concepts in just 4 minutes!๐ฎ Thanks for your great content! ๐ at some point I'll definitely take your course๐
@theburningmonk3 ะบาฏะฝ ะฑาฑััะฝ
Thank you! Glad you liked it ๐
@caeduob4 ะบาฏะฝ ะฑาฑััะฝ
Thanks for your great explanation. I would also recommend the red book by Vaughn Vernon it goes thorugh all concepts with great examples.
@theburningmonk3 ะบาฏะฝ ะฑาฑััะฝ
Thank you. And yes, the red book is also great as well, a good companion to the blue book. For those not familiar with the reference, the book is call "Implementing Domain-Driven Design", it introduces some patterns for applying DDD in practice and helps solidify the ideas of DDD by framing them with concrete examples.
@mahdi57964 ะบาฏะฝ ะฑาฑััะฝ
Thank you. I'm wondering, how useful and practical is DDD for existing systems? When should it be used and when not? Because it seems to me that DDD should be done early on in the project.
@theburningmonk4 ะบาฏะฝ ะฑาฑััะฝ
DDD is a tried-and-tested approach to modelling your business model and understanding how different systems and people interact in this system. It comes with years of adoption experience in the field and a huge community of existing expertise and shared understanding. You can't really build any system without some level of understanding of what you're doing. And as the system, its complexity or the organization grows, it becomes more important to understand what you're doing and make the implicits (e.g. team dybamics) explicit. So I'd argue it's less a case of "when" to use DDD, but how important it is. The bigger, or more complex the system, and the bigger the organization that builds the system, the more important DDD is.
@mahdi57964 ะบาฏะฝ ะฑาฑััะฝ
@theburningmonk thanks but this is not answer to my question. I've worked on complex systems without DDD. Does it make sense to start to use DDD on existing complex systems?
@theburningmonk4 ะบาฏะฝ ะฑาฑััะฝ
@@mahdi5796 Yes, of course. It's never too late to foster a better understanding of your business, organization and identify problems with alignments and dependencies. And it's not something you do once and then forget about it. Just like any good habits, it's something you should do continuously - neither your system, nor your team is static, and DDD gives you the tools to map out the changes, identify new risks, and strategize.
@RodmanStuhlmuller5 ะบาฏะฝ ะฑาฑััะฝ
How do you handle deployment to all of the lambda regions? Is it possible to also check and make sure you are running the correct lambda code?
@theburningmonk5 ะบาฏะฝ ะฑาฑััะฝ
You don't want to deploy to all regions simultaneously, if there's an unforseen problem, it'd affect everyone right away if you do. Typically, one would deploy to one region at a time, make sure things are fine, then proceed to another region. And it's also a good idea to use feature toggling so you can enable the new code paths for people in the newly deployed region, and then eventually, when you have good confidence things are fine, then open up to everyone.
@RDarrylR7 ะบาฏะฝ ะฑาฑััะฝ
Really interesting discussion! Thanks guys. I think i have to go through a few examples myself to understand the flow and syntax fully.
@theburningmonk6 ะบาฏะฝ ะฑาฑััะฝ
Thanks, glad you liked it! Sorry about the audio quality on my mic. But yeah, I was really impressed with Restate, and once I understood it better, the model is much simpler than I thought as well!
@KelvinMeeks8 ะบาฏะฝ ะฑาฑััะฝ
Great points. Wisdom from a guru.
@theburningmonk6 ะบาฏะฝ ะฑาฑััะฝ
Thank you!
@soflass129314 ะบาฏะฝ ะฑาฑััะฝ
This was InCognito for me until now, thanks for the explanation
@mahdi579616 ะบาฏะฝ ะฑาฑััะฝ
Great content. Thanks. May I ask, did you ever publish the next promised-video about Anti Corruption Layer? Because I cant find it. If so, can you please share the link.
@theburningmonk12 ะบาฏะฝ ะฑาฑััะฝ
It was included as part of my course but I haven't published it on KZbin yet, but I will!
@CarlosBueno-nd9hc17 ะบาฏะฝ ะฑาฑััะฝ
I missed the part on how he could improve api gateway costs, Could you please gimme some link or a brief explain?
@theburningmonk12 ะบาฏะฝ ะฑาฑััะฝ
One thing he did was to eliminate the need for CORS, which accounted for a big part (relatively speaking, of course) of what he was paying for API Gateway.
@RDarrylR26 ะบาฏะฝ ะฑาฑััะฝ
Excellent advice from Yan as always!
@theburningmonk25 ะบาฏะฝ ะฑาฑััะฝ
Thank you!
@CyrilCommandoะะน ะฑาฑััะฝ
The tech industry seems to disagree with me that if it's functionally the same, it's the same. Yes, there are architectural and conceptual differences, perhaps you could argue they function differently simply because of where the consumer is placed in the design, but I can either have a global function callable in an event, perform the function directly in the event handler, or call a command from an event handler. If we aren't talking about command line programs, commands will be invoked by an event on the user interface. & if it is a decent design the user interface will need to react. There is no ultimate difference in function whether it's a command, event handler method call, or inline procedure in the event handler. Although from my experience in WPF, commands make it much harder for the control to properly react.
@SeanUC-lx6ttะะน ะฑาฑััะฝ
All these KZbinrs โtesting in productionโ are rather shallow. Nobody talks about how to test the code changes involving data schema changes.
@ted2101977854ะะน ะฑาฑััะฝ
This is a very nice video. Seems like identity pool are similar to OAuth mechanism
@rakeshbhat455ะะน ะฑาฑััะฝ
Great details with diagram and pros, cons. Thank you. Also follows WAR Framework
This one's a banger! Can't wait to utilise/re-factor coding styles for this precisely :D
@ernest6713ะะน ะฑาฑััะฝ
Please I want to buy a tracker with API access
@me-vn9wkะะน ะฑาฑััะฝ
Without using identity pool, it is possible to use the token provided by userpool to access aws resources for ex : app gw. How this works and what is the rationale behind this?
@Thimo-o8h2 ะฐะน ะฑาฑััะฝ
Really great course - thanks a lot! Will definitely try it with websockets
@theburningmonk5 ะบาฏะฝ ะฑาฑััะฝ
Thank you! Glad you liked it
@patrickdesroches32962 ะฐะน ะฑาฑััะฝ
Hi, great video, but let's say I have a website + IOS app + Android APP all using the same user pool. Google want you to create 1 client ID per platform, so here 3. Cognito only allow 1 link to google ( 1 client ID ) ... In the Cognito doc it say to use a identity pool where all 3 client ID are setup. At this point I have no clue how to setup this
@anonymous_anonymity2 ะฐะน ะฑาฑััะฝ
7:24 The separation can be done in REST too.
@RDarrylR2 ะฐะน ะฑาฑััะฝ
Another grear discussion. Thanks guys!
@theburningmonk2 ะฐะน ะฑาฑััะฝ
Thank you, glad you enjoyed it!
@VincentFulco2 ะฐะน ะฑาฑััะฝ
Great example!
@theburningmonk2 ะฐะน ะฑาฑััะฝ
Thank you :-)
@ankushjain3582 ะฐะน ะฑาฑััะฝ
Better than many AWS talks videos
@theburningmonk2 ะฐะน ะฑาฑััะฝ
Thank you!
@brandons28422 ะฐะน ะฑาฑััะฝ
Alof of people getting AWS certifications and Azure certifications are simply cheating...
@EdchelStephenNini3 ะฐะน ะฑาฑััะฝ
Thank you!
@s.vortex3 ะฐะน ะฑาฑััะฝ
I recently switched from Node to Go and noticed huge improvements in cold start time. However, once I need to access other services, say DynamoDB, through SSL/TLS the few milliseconds saved from moving from Go to Rust seems negligible. The initial SSL/TLS handshake in my case take at least 500-600ms. Do you have any practical tips to speed up this handshake process in Lambda functions? Not like adding AWS secret keys to environment configuration. Thanks!
@s.vortex3 ะฐะน ะฑาฑััะฝ
Of course I know I can increase the memory size. Is there other option?
@Loige3 ะฐะน ะฑาฑััะฝ
A couple of ideas: 1. use RustTLS (rather than OpenSSL) when possible (AFAIK it's enabled by default in the AWS SDK, but if you do HTTP requests to other services using a client like Reqwest you'll need to explicitly enable RusTLS) 2. Make sure your clients are initialized in the `main` function and not in the handler. This way you'll establish the connection only once at cold start rather than for every single event being processed. I hope this helps, but let me know if you discover other optimizations
@alexpollan61973 ะฐะน ะฑาฑััะฝ
It depends on your software architecture, the teams characteristics/culture, the product. In some cases the test pyramid is more adequate (even the inverted pyramid). But I totally agree on the ultimate lesson here: write tests that provide value, no more, no less
@rohitbaisane85073 ะฐะน ะฑาฑััะฝ
your course is really expensive for Indian peoles.
@MikeYinger4 ะฐะน ะฑาฑััะฝ
As always, great content. @ 36 mins in, there is a discussion around Amplify (I'd given up on Amplify years ago) and you mentioned Gen2 making Amplify more accessible. Have you found time to see if Gen2 is flexible, like baseline?
@TheJohnnySilver4 ะฐะน ะฑาฑััะฝ
The most unexpected thing with CDK is that you are not always getting what you have described in code. For instance, an extra lambda function when you set a retention period.
@SocketsGuru4 ะฐะน ะฑาฑััะฝ
you explained this topic better than aws docs
@theburningmonk4 ะฐะน ะฑาฑััะฝ
haha, thank you!
@mdmoniruzzaman7034 ะฐะน ะฑาฑััะฝ
What if i have a aws timestream database ingested externally? how can i subscribe any new data inserted to the database?
@theburningmonk4 ะฐะน ะฑาฑััะฝ
AFAIK timestream doesn't give you a data change stream that you can subscribe to, so you'd have to create your own. How are you getting the data that you write to Tiemstream? Do you get them as a S3 file?
@mdmoniruzzaman7034 ะฐะน ะฑาฑััะฝ
@@theburningmonk i have aws iot topic captured by a kinesis data stream. The kinesis data stream trigger a lambda function which is responsible for dumping data into timestream database.
@UberEverywhereSKRT4 ะฐะน ะฑาฑััะฝ
anything is better than amplify. It sucks and i hate it. love ur vids
@theburningmonk4 ะฐะน ะฑาฑััะฝ
Thanks! I've been stung by Amplify CLI too, but I heard gen 2 is much better. I haven't tried it out myself yet, so I will reserve my opinions for now. What would you say were the biggest problems with Amplify CLI?
@michaelmenard86144 ะฐะน ะฑาฑััะฝ
a great watch. I am definitely interested in checking this thing out
@theburningmonk4 ะฐะน ะฑาฑััะฝ
Thanks, glad you liked it!
@josherney98204 ะฐะน ะฑาฑััะฝ
Excellent video, thanks for sharing
@theburningmonk4 ะฐะน ะฑาฑััะฝ
Thank you, glad you liked it!
@Kirtjep5 ะฐะน ะฑาฑััะฝ
Hi is there a chance to get only Step Function testing module from your course?
@MarokoJula-wf6lz5 ะฐะน ะฑาฑััะฝ
cheers
@suchethkumar89985 ะฐะน ะฑาฑััะฝ
Are Devops engineers going to loose jobs to AI ? Please let me know
@william35886 ะฐะน ะฑาฑััะฝ
this is great! thanks
@theburningmonk5 ะฐะน ะฑาฑััะฝ
Glad you like it!
@ChrisEbertGP6 ะฐะน ะฑาฑััะฝ
Farrah rocks!
@theburningmonk4 ะฐะน ะฑาฑััะฝ
Agree :-)
@eduponzoni6 ะฐะน ะฑาฑััะฝ
Nice one, Yan! Succinct, simple language, and straight to the point. Very good. Thanks for recording and sharing!