my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Optimising Docker Image Sizes: “Self-extracting” Node.js Applications

As a follow-up on last week's article on tools for inspecting Docker images, and Docker image sizes in particular, today I'd like to introduce another - more custom - approach for reducing the size of Docker images for production deployments. As a means of shaving off an additional 50 MB from the packaged application in question I came up with an idea somewhat reminiscent of the self-extracting archives of yore (of the WinRAR and 7-Zip flavours, for instance) for reducing the size ... Read more

Tools for Inspecting Docker Images

Recently, I needed to inspect a Docker image in order to optimize its size for distribution and deployment on an ARM-based industrial microcontroller with rather tight bandwidth constraints. Once deployed at customer sites, these controllers typically don't have an Internet connection but still need to be updated occasionally, via the local network in that case. Since there's no guaranteed minimum network speed in this type of environment, yet software updates still have to complete within a relatively short period of time, optimizing ... Read more

Revisiting More Popular Posts: Angular Development Environments & Analysing the Complexity of Angular Apps

Just a few weeks ago, I revisited two of the most popular posts on this blog. Continuing my blog housekeeping efforts, this time around I'd like to point you to two more blog posts that have been quite popular in recent years. If you're working on at least moderately complex Angular applications, these articles might be of interest to you: Running A Local Angular Development Environment Behind A Spring Cloud Gateway Service Analysing the Complexity of Angular Apps Read more

Cloud Design Patterns

In the past few months, I've been working a lot with distributed applications and more complex cloud architectures, both in terms of Stratospheric - From Zero to Production with Spring Boot and AWS (the eBook I'm currently writing together with Tom Hombergs and Philip Riecks) and client work. Microsoft's library of Cloud Design Patterns (as previously mentioned in this blog post) is a collection of cloud-related software and infrastructure design patterns that can help you with weighing up the merits of common ... Read more

Monoliths Aren’t Inherently Bad

Self-professed minimalist developer Kelsey Hightower a few months ago wrote about monoliths being the future. The microservice design pattern has been trending in software development for quite some now. Unfortunately, more often than not it's been indiscriminately treated as a panacea to every software architecture and design problem out there. Microservices can help with one aspect specifically: Reducing deployment risk. If you have a large monolith and frequently need to make changes to a specific part or feature provided by that monolith the whole ... Read more

Running A Local Angular Development Environment Behind A Spring Cloud Gateway Service

Having multiple microservices running behind a reverse proxy / API gateway in lieu of a single monolithic back-end application is a common pattern these days. With such an architecture it often comes in handy to have an Angular application that serves as a front-end for such a modularised back-end be served from behind a reverse proxy running locally as well in order to treat it is if it were running on the same host and port as the back-end. Not only will ... Read more

Cloud Design Pattern Library by Microsoft

Microsoft maintains an extensive library of cloud design patterns. Whether you create applications that run on AWS, Microsoft Azure or Google Cloud Platform, use platforms such as Heroku or you develop enterprise applications which run on on-premise cloud networks within a corporate intranet, cloud computing becomes ever more crucial to providing business value through software. Hence, it's not only expedient to know about the classic relatively low-level GoF design patterns or Martin Fowler's Patterns of Enterprise Application Architecture but about design patterns for ... Read more

A Quick Reminder About the Relevance of Latency in Computer Systems

This Gist by Jonas Bonér gives a quick overview of the different latency values for accessing different kinds of data storage and memory systems and the order of magnitude by which they differ: Latency Numbers Every Programmer Should Know Putting this in perspective is particularly important in the context of service-based architectures like RESTful web services, Microservices and similar approaches. All-out service-based architectures might be the right the solution to some scalability and deployment problems in complex software systems but it's vital to keep ... Read more
Next Page »