How would you measure the Risk of a pull request?
Hi Folks,
As I'm writing this, I have been working hard for the Platformatic v1.0.0 launch on Tuesday, the 26th of September (tomorrow as you are reading this). Register to be part of the excitement!
I wrote a (research) paper!
After almost 10 years of defending my Ph.D., I would have never imagined that. I got back to writing a research paper as part of my startup. As part of our business research in Platformatic, Luca Maraschi and I identified a critical problem every adopter of a microservice system had: catch a breaking change in one microservice before it could cause downtime in others. We knew we had to build something new, and we identified an algorithm and an architecture to map the complete network of microservices in a system and calculate a percentage of risk.
Evaluating the Risk of Changes in a Microservices Architecture
In a microservices-based system, reliability and availability are key components to guarantee the best-in-class experience for the consumers. One of the key advantages of microservices architecture is the ability to independently deploy services, providing maximum change flexibility. However, this introduces an extra complexity in managing the risk associated with every change: any mutation of a service might cause the whole system to fail. In this research, we would propose an algorithm to enable development teams to determine the risk associated with each change to any of the microservices in the system.
Download the full paper on Arxiv.
Releases
- fastify-html v0.2.0 adds skipOnHeader option to skip layout when using htmx.
- fastify-static v6.11.1 fixes the route config deprecation warnings; small performance improvements. fastify-static v6.11.2 adds back support for Fastify < 4.22.
- fastify-swagger v8.10.1 fixes a race condition if swagger() was called before ready().
- fastify-tsconfig v2.0.0 change the target to ES2022. This configuration sets "module" and "moduleResolution" to NodeNext. This means that TypeScript will read the nearest package.json file in the scope and search for the "type" field or the absence of it.
- fastify-sensible v5.3.0 adds a shared error schema.
- @fastify/view v8.2.0 adds the ability to parse a raw template in view.
- @fastify/cookie v9.1.0 improves the performance and allows the import using named exports.
- @fastify/cors v8.4.0 docs, perf, and bundle size reduction.
- undici v5.25.0 adds WebSocket to the Node.js bundle, fixes HTTP/2 support, fixes a crash if Node is built without SSL; v5.25.1 publishes the types too; v5.25.2 fixes loading websockets when node is built w/ --without-ssl.
- fast-content-type-parse v1.1.0 regex updates.
Links
- Unlocking the power of Node.js - a few months back I delivered a Node.js masterclass to teach developers a few of the fundamentals concept that are behind writing robust Node.js applications. Here they are.
- Are big projects ditching TypeScript? - "So, no. Big projects are not ditching TypeScript".
- Have you ever written in the Prolog language? I did a lot of Prolog in my AI courses. I missed that there is TauProlog, a Prolog interpreter written in JavaScript. One day, I will likely use this for something.
- CVE-2020-19909 is everything that is wrong with CVEs | daniel.haxx.se
- GraphQL Fusion is a new upcoming specification about composing multiple GraphQL services into one. They use an API-first approach that allows developers to resolve conflicts and avoid naming collisions.
- Have you ever tried using Consul to manage state? It's amazing and it never breaks. However, setting up is complicated as you need at least 3 nodes for reliability reasons: it's a CP system. Corrosion instead is a AP system, that will eventually reach consistency: it's