Starting the year with some back-to-basics hands-on coding using small building blocks in areas that I randomly get interested in. This time using the Netflix DGS GraphQL framework. DGS (Domain Graph Service) is a GraphQL server framework for Spring Boot.
A simple Spring Boot sample to save and retrieve an object from Redis using Spring Data. See README in Github for how to setup a local Redis and run the code.
In the age of Serverless & Container architectures, there is once again chatter about Java being too fat (and dying). While I can understand the “too fat” observation, I will not put my money on the “java is dying/dead” chatter. That obituary has been written multiple times and the language lives on. It is true that Java was not born in the Container/Cloud era. Yes, it was born in a different age and time, but the language and framework ecosystem has evolved. In the Microservices cloud native app world where horizontal scaling and fast startup times are expected, Java may (at times depending on the architecture) not be the fastest horse in town.
Back to a teach-myself-something type of project, with setting up K8s Cluster on Raspberry Pi devices. I had a couple of older Raspberry Pi 3s and a recently purchased Pi 4 available for this. My old Pi3 devices had Docker Swarm (yes that one) from a couple of years back. This time around I want to get k8s on the 3 Pi devices.
The steps are fairly simple but it can be a bit of work. You should find blogs out there with decent enough directions. So here goes me adding to that library of blogs to make it easier for the next person trying to set this up.
This is an upgrade from my previous similar blog installing Docker Swarm on a two node Pi-3 cluster https://blogs.justenougharchitecture.com/running-docker-swarm-raspberry-pi-3/
Once upon a time there lived a monolith application named Mono (creative ah!).
I will begin by saying ” DON’T EVER DO THIS IN THE REAL WORLD”. https://github.com/auchenberg/volkswagen will detect if your build is running inside a CI tool and then force all tests to pass; even if they fail. Now you know why I said “DON’T EVER DO THIS IN THE REAL WORLD”. Hey just having some fun … code quality purists you have been warned not to read further! 🙂
Just came across a nice dev tool to build and deploy Docker’ized applications. A developer may want to independently build/deploy to a local docker container or another Kubernetes cluster vs. waiting for a remote CI/CD process to deploy to a dev environment. This involves some repetitive tasks such as building the binary, packaging into a Docker container, pushing to a Docker registry and all the way to deploying to a running container. If you run this often it can be a time suck for developers. forge.sh takes away those repetitive steps and lets you build/deploy locally or to another cluster.
Have you worked in a high performance engineering (HiPeE) team, how do you know you are in one and why is it so hard to replicate that? Are there factors that make it possible for HiPeE teams to grow and sustain. This was a topic of discussion at a recent chat with a few folks. I speak from my own experiences having seen HiPeE teams and was lucky enough to be part of it couple of times. It came down to a few dimensions for me.
Attended my first AWS re:invent conference. It was definitely a great experience. While the breakout sessions where okay, what I most enjoyed is the energy with 30k AWS enthusiasts in the building. And the re:play party was awesome – especially the performance by Martin Garrix.
Spring Boot and Spring Cloud are relatively newer additions to the Spring portfolio. Boot makes it faster to spin up your project with less configuration (and an opinionated programming model). Spring Cloud brings in techniques and tools to efficiently standup distributed applications. In a previous blog I had noted my ramblings on API/Microservices style. If you take that path and have more than a handful of API’s then you will need some of the capabilities of what Spring Boot and Spring Cloud offer.