🔥 Tech Blips #22.5
Every month I try to summarise some techniques, tools, languages and frameworks or platforms on the cloud and web horizon that are worth taking a look at.
TL;DR in this technology newsletter:
- Techniques: Four Key Metrics (Trial)
- Tools: ArgoCD (Adopt)
- Language and Frameworks: Testcontainers (Adopt)
- Platforms: GraalVM (Trial)
Over six years of research, the DevOps Research and Assessment (DORA) team has identified four key metrics to measure software delivery performance:
- Deployment frequency: How often an organization successfully releases to production
- Lead Time for Changes: The amount of time it takes a commit to get into production
- Change Failure Rate: The percentage of deployments causing a failure in production
- Time to Restore Service: How long it takes an organization to recover from a failure in production
Researchers found that only these four key metrics makes a difference between low, medium and high performers.
Argo CD is a declarative GitOps continuous delivery tool for Kubernetes that reads your environment configuration (either as Helm Chart, kustomize files, jsonnet or plain yaml files) from your Git repository and applies it to your Kubernetes namespaces.
Testcontainers is a (Java, Go, .NET, Node, Python and Rust) library that supports unit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
GraalVM is a Java VM and JDK based on HotSpot/OpenJDK, implemented in Java. It supports additional programming languages and execution modes, such as ahead-of-time compilation of Java applications for fast startup and low memory footprint.
The use of GraalVM offers the following added values:
High Performance
GraalVM's powerful JIT compiler produces optimised native machine code that runs faster, produces less garbage, and consumes less CPU thanks to a set of advanced compiler optimisations and aggressive and sophisticated inlining techniques. The result is applications that run faster and consume fewer resources - lowering cloud and infrastructure costs.
AOT Native Image Compilation
Ahead-of-time compiled applications have a small footprint and launch in milliseconds, so they deliver peak performance without a warm-up period.
Pologlot Programming
GraalVM allows users to write polyglot applications that seamlessly pass values from one language to another using the Truffle language implementation framework.