Follow 12 factor and you can’t go wrong when rolling out your microservices, here are some practical tips on how to engineer them for real (a more in depth look can be found 12 Factor Apps in Practice).
If you like the go concurrency features of goroutines and would like something similar for high-throughput concurrent applications written in Java, then read on …
To get anything comparable to a
goroutine in Java we look at an alternative OpenJDK called Project Loom that provides 'virtual threads', a new implementation of
Thread that differs in memory footprint and scheduling.
Java does not have anything that is equivalent to a
goroutine, the nearest match is a
Thread, unlike Java threads though, you can run many more goroutines on a typical system, they will have a lower memory footprint, and will perform…
A quick walk-through on how to use Red Hat OpenShift to create and deploy a container image from a git project that contains a simple mood board REST service, deploy a redis container that acts as a backing service, and test.
The source code lives at https://github.com/stehrn/mood-board.
Sign up to OpenShift for free here to get:
(at time of writing version 4.2 was used)
Log in to admin home page:
Click ‘Create Project’ and enter details:
This is a practical look at 12 factor apps and how to engineer them for real.
A simple Java microservice is evolved architecturally, from a single process app, to a multi process Docker containerised app leveraging a redis cache, first running on the container orchestration platform Kubernetes, and then rolled out to Red Hat OpenShift.
It’s hands-on-keyboard, with exercises to work through, technical prerequisites:
Take a bit of time up-front to read the introductions to Docker containers and Kubernetes, whilst lots of links to more…
This blog explores the use of synthetics metrics to help reduce the running costs of application platforms. We’ll discuss the infrastructure management process, which metrics are important and why, and how they can be combined into a synthetic metric to help with decision making.
It covers some of the things an engineer building out and supporting an application needs to be mindful of, including CPU and memory characteristics to look out for when an application is running, and guidance on how to design and implement the synthetic metric.
What do you do with a server that costs a lot of…
This article builds on the Risk Systems — Trade Modelling and Pricing and presents a relational database schema for a trading application, examining what happens when a trade is executed, including how to apply fx conversion of monetary amounts, and handle trade history via bi-temporal chaining.
We look at a few typical trade reporting use cases and associated sql queries, and show a simple way to run and test queries locally using an embedded H2 in-memory database.
This article will give you a flavour of how a risk system works, looking at trading desk concepts including:
A simple trade API is evolved, starting with trade booking and then pricing, examples and pseudo code are provided to help understand concepts, and some of the challenges building out risk systems are discussed.
A trade is:
A software engineer who works hard to create simple solutions.