Yes to case-by-case, and in this case, Hacker News being a somewhat representative demographic of the Tech sector, it is rather unfortunate that it lacks the noted diversity.
It's not ok to suggest that the Tech sector, being one of the most important industries for gaining financial independence and making an impact on the world, must remain the white male bastion that it is.
Motivation for writing this tool will hopefully be made clear by the following abstract:
--------
Service discovery has been made too complex by combining it with orchestration. There are too many beasts-of-a-tool out there that do too much, and yet can't do versioned microservice deployments.
This talk will walk you through 100 lines of Node.js code with no dependencies other than redis, and implement a discovery service with the following features:
1. Semantic versioning of services:
Services depend on specific versions of other services, so v1.2.3 & v1.3.0 can both be live, and you kill off old services that have no users.
2. Live health checks with inversion of responsibility:
Don't ping a service under high load with status & health checks, instead let it ping back when it can. If it can't ping back because it's near-capacity, then don't route any more traffic to it!
3. Mocking services during testing & development:
Should not have to bring up the entire microservices stack to develop one of them.
4. Randomized scheduling:
So you don't starve any one service, instead pick one at random from the ones available & healthy.
5. No highly-available service discovery service:
Solving the chicken & egg requirement of a highly available service discovery service, in order to enable other highly available services. Only the service discovery database (redis) needs to be distributed.
A surprising number of tools out there simply fail to provide these set of features together, and yet pack in too many other things they want to do. This talk does the above in easy-to-understand 100 lines of Node.js code that you can use & modify with confidence!
Because Express isn't enough. It lacks structure and conventions.
Apper provides:
- Much needed structure to server-side code with strong conventions
- Reliable directory hierarchy for code based on REST end-points
- Design for real-time right off the bat
- Transparent minification & bundling for single page apps
Apper lets you create bigger apps by using smaller independent chunks as subapps. Simply place individual subapps anywhere in the directory hierarchy, and they get exposed under a relative base URL.
Nested subapps are totally cool and highly encouraged. In fact, simply by moving a subapp directory to another directory updates the exposed relative URL of that subapp. No frills.
PS:
Posting to Hacker News for the first time, always been an anonymous reader. Would love some constructive comments about where to take this framework thing forward :)
The game rules are actual math, and the puzzles turned out to be fun for kids as well as mathematicians (from my friend circle)!