Posts

Showing posts from 2020

Introducing ds-operator, the ForgeRock Directory Services Operator for Kubernetes

Image
ForgeRock Directory Services 7.0 was a big achievement for the Grenoble Directory team.  It is the only "Kubernetes native" directory where you can add a new replica using kubectl: kubectl scale sts/ds-idrepo --replicas=3 The 7.0 deployment is assembled using standard Kubernetes primitives such as StatefulSets , Persistent Volume Claims, and Services.  This is all built and orchestrated using Skaffold and Kustomize .  An emerging pattern in the Kubernetes world is the use of Custom Resources and Operators .  Broadly speaking, a custom resource is the declaration of the desired system state, and the operator's job is to observe the current state and bring the system into alignment with the declared state: source: https://blog.container-solutions.com/kubernetes-operators-explained The Kubernetes API server (the thing that responds to your kubectl commands) can be extended to handle new custom types.  A custom resource definition (CRD) describes to the API se...

Hot Take: Dart makes a Great Server Side Language

Image
Google promotes  Dart as a client-optimized language for fast apps on any platform .  This makes a ton of sense. Bootstrapping a language ecosystem is an enormous task that requires laser like focus on where the language adds the most value. Right now, that is  Flutter .  Sometimes, when a language finds success in one domain it can cross over to another.  One can argue that NodeJS  would never be a thing had Javascript not been adopted in the browser.  Can Dart cross over to the server? I think it can.   Recently I created a Cloud Run service to perform smoke tests against another REST service. Golang would be the obvious choice here: Container friendly, small native binaries and a great http library out of the box.   Now Go is a fine language, and this is a purely subjective thing, but I find Dart much more enjoyable and productive to work with.  There are of course fewer server side libraries, but the ecosystem is growing ...