HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Avoiding Microservice Megadisasters - Jimmy Bogard

NDC Conferences · Youtube · 7 HN points · 3 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention NDC Conferences's video "Avoiding Microservice Megadisasters - Jimmy Bogard".
Youtube Summary
You've spent months re-architecting your monolith into the new microservices vision. Everyone gathers around to flip the switch. You navigate to the first page...and nothing happens. Refresh...still nothing. The site is so slow, it won't respond for minutes. What happened?
In this session, I'll walk through a post-mortem of a real-life microservice disaster. I'll show the modeling, development and production problems we found, and how we slowly morphed the new distributed monolith into our final picture of sanity. While we can't prevent project failures, we can at least identify problems early on in our design so that our final product results in a clean, robust distributed system.



NDC Conferences
https://ndc-london.com
https://ndcconferences.com
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
May 15, 2020 · 3 points, 0 comments · submitted by tcbasche
As your average developer who's heard architects mention these micro-frontends, I would have liked the article to start off by listing the use cases and trade-offs instead of jumping right on the hype train at full speed.

Since the article mentions Piral, I thought I would peruse that project's documentation (0), but am none the wiser on basic questions like: how do components get assembled into the main application, is network traffic overhead is going to be a problem, etc.

Delving further into the Piral docs, I came across a link to a sample micro-frontend (1) that seems to be importing every micro-frontend into the index, so network traffic overhead seems like it could be an issue.

Does anyone here have experience with these in a production environment and know how to avoid (in my mind) basic pitfalls like these? As it stands, this article seems to be setting people up for scenarios like the Bell micro-services disaster (2)

[0] https://github.com/smapiot/piral/blob/develop/docs

[1] https://github.com/benjamminj/micro-frontends-examples/tree/...

[2] https://www.youtube.com/watch?v=gfh-VCTwMw8

FlorianRappl
Thanks for addressing these. I'll try to answer most of them:

> I would have liked the article to start off by listing the use cases and trade-offs instead of jumping right on the hype train at full speed.

Well, the use cases are pretty much large scale applications that are developed by multiple teams. We had clients like that in the past and we currently have 2 clients that have such a set up.

Point being if you just want to transport a single functionality or if the whole frontend just serves a single purpose then don't think about microfrontends.

What should I have mentioned here? Can you give an example? Happy to improve to post here!

> how do components get assembled into the main application, is network traffic overhead is going to be a problem, etc.

Maybe we should have the architecture diagram on the main page of the documentation, but maybe this contains what you are after: https://docs.piral.io/reference/documentation/reference

Otherwise have a look at: https://dev.to/florianrappl/microfrontends-based-on-react-4o...

Network traffic should not be much of a problem: If you render everything client-side you may (!) have more requests than usual (may, since you will / should use bundle splitting anyway), however, if that is a problem you can already fuse your app server-side.

We would love to improve the documentation and make it more accessible. Can you tell me what you've been looking for specifically? Any input appreciated!

> this article seems to be setting people up for scenarios like the Bell micro-services disaster

Sorry, actually it was meant for the opposite, i.e., if you don't have any of these reasons then don't do it.

Just to be clear: The beauty of a solution like Piral is that you can just start development of a new feature without touching the rest of application. You also deploy independently.

How it works is as follows: Each pilet (= a microfrontend in Piral) is produced as a kind of library that is self-contained and exports a function which is called later at runtime (here assumed client-side, but works the same on server-side).

The only question is now: How is the web app knowing what libraries to load? This is where the crucial component - the "feed service" is coming into play. This is the missing piece of infrastructure. This service exposes an endpoint to be queried for obtaining what libraries to load for the current user.

Hope that helps!

Nov 26, 2018 · 4 points, 1 comments · submitted by kureikain
tony-allan
https://youtu.be/gfh-VCTwMw8?t=2378 (39:00)

Conway's law: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

Jimmy's law: A broken, dysfunctional organization driven by meeting unhealthy goals and metrics will produce broken, dysfunctional systems.

Inverse Conway Maneuver: Design the organization you want, the architecture will follow, kicking and screaming.

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.