RSSAmplifier

Blog

straypaper

Thoughts on enterprise architecture, computers and information systems

straypaper.comRSS feed ↗15 posts

Latest posts

Practical Taxonomy of Software Design

Understanding the differences between software architecture, architectural design, styles, patterns, design approaches, and principles is crucial for making thoughtful decisions. Unfortunately, these terms are often mixed up or used as if they mean the same thing. This article explains what each term means, where it fits in the design hierarchy,

Hexagonal Architecture

By clearly defining boundaries between various system components, the main aim is to separate the application's essential business logic from its external concerns.

Containers: Technology Landscape

This post looks at the history of containerization and shows the technology landscape that makes it possible.

Kestrel and the chain of trust

Presenting a public key certificate issued by an intermediate certificate authority, using Kestrel, only presents the leaf certificate and does not include the intermediate certificate.

Elastic Agent: unexpected EOF

Elastic Agent fails to connect to Elasticsearch with unexpected EOF error message.

ASP.NET Core API Versioning

There are several versioning strategies that can be used to version ASP.NET Core APIs. In this post we will have a look at the various versioning strategies, how to implement them, and configure Swagger.

Observability in ASP.NET Core with Elasticsearch and Serilog

In this post we'll look at what observability is and how it can be done with the Elasticsearch Platform and Serilog for ASP.NET Core applications.

Setting up the Elasticsearch keystore for a containerized environment

The Elasticsearch keystore is a vital component in the Elasticsearch security architecture. But, how do we create the keystore file before starting Elasticsearch in a containerized environment?

Blue-Green Deployments with Containers and Traefik

Minimising downtime when deploying a new version of your application is not an easy feat. In this post we will explore the blue-green deployment strategy.

eBPF

Initially, the Berkeley Packet Filter (BPF) was created to filter out or discard unwanted network packets in the kernel space instead of user space for performance reasons. eBPF (enhanced Berkeley Packet Filter) on the other hand, extends the original BPF functionality to run sandboxed programs in a privileged context. In

OAuth 2.0 Demystified: Client Types

OAuth 2.0 defines two types of client applications, viz., a confidential client and a public client.

OAuth 2.0 Demystified: Tokens

The OAuth 2.0 Authorization Framework defines two token types viz., an Access Token and a Refresh Token.

OAuth 2.0 Demystified: Four Authorization Grant Types

The OAuth 2.0 Authorization Framework specifies four grant types: authorization code, implicit, resource owner password, and client credentials. This post describes the four flows at a high level.

OAuth 2.0 Demystified: Swagger UI as a Client

In this post I will show you to configure Swagger-UI so that you can authenticate and authorize access to the secured endpoints in your API.

OAuth 2.0 Demystified: Understanding the Four Roles

The OAuth 2.0 Authorisation Framework or, OAuth 2.0, is defined in RFC6749 . It is an authorisation specification. By authorisation we specifically mean to grant someone access to something you own such as your banking transactions. Let's assume that I have created the best alternative banking mobile