The 2023 Cambridge Dictionary Word of the Year was ‘hallucinate’, chosen because of a new meaning (repurposing) in the field of Artificial Intelligence (AI)[1].
Continue readingExperimenting with NiFi
Apache NiFi (see Introduction to NiFi) is a free open-source tool for managing the flow of data between systems.
In this second post, we build a working NiFi demo, with a couple of simplified use cases, allowing us to see it in action and learn by experimenting. The demo runs in a Docker container and comes with batch and real time event DataFlows and basic test data.
Continue readingIntroduction to NiFi
Apache NiFi facilitates the movement of data between systems. This free open-source software can ingest, manipulate and send/store data for batch and real-time use cases.
Continue readingBuild an ELK Stack
When I had a need to visualise telemetry data from a home project, the ELK stack was my go-to solution. The ELK stack (Elasticsearch, Logstash, Kibana) is an open-source-ish[i] tool for ingesting, searching, and visualising data.
Continue readingOther Uses for PlantUML
I like PlantUML and the whole diagrams-as-code ethos, where diagrams auto-generate from source code in the same repo.
Sure, the way PlantUML lays out objects and lines in free-form diagrams is arcane – try drawing anything beyond a few components, and you’ll end up in a pitched battle with the layout engine, resulting in a mediocre diagram in a state where you’re afraid to make changes, lest the lines and placement go all wonky (again).
Thankfully, things are better when using PlantUML to produce opinionated diagram types, where the layout rules are predetermined, such as sequence diagrams, mind maps etc.
I got to thinking – could I use PlantUML in the workplace, outside traditional architecture/code documentation, to help visualise other things? Only one thing for it – give it a go…
Continue readingDiagrams with C4 Model
This post is for everyone who draws computer pictures for a living…
The genesis for this post came from a comment on the diagrams-as-code post (via LinkedIn) that called out the C4 Model[1]:
I hadn’t heard of C4 Model before so I decided to check it out. A first look at the C4 Model web site piqued my interest – Continue reading
IT Architecture – A Discussion on Coupling
In the world of IT architecture, coupling is a much talked about concept. But what is coupling, why is it important and what techniques/patterns can we use to optimise it?
That’s a lot to unpack, so let’s start with an example outside IT. Consider this trendy all-in-one desk lamp:
It looks lovely, but what happens if the bulb fails, or you want to change the light colour? It is tightly coupled because the bulb component cannot be replaced separately, so the whole lamp must be replaced in these circumstances. Continue reading
Beware the Perils of Audit-Driven Design
When you work in IT, security audits are par for the course. Like dental check-ups, they’re generally a good idea, but can still be painful (and expensive). They help uncover issues that need fixing, and raise senior exec visibility.
There is however a dark underbelly to security audits – they can drive counterproductive behaviours leading to unintended and undesirable outcomes.
Wouldn’t it be ironic if remediating a security audit item made your organisation less secure…? Continue reading
Diagrams as Code (PlantUML)
Is a picture really worth a thousand words? What if that picture was a diagram?
A colleague recently introduced me to Diagrams as Code, using PlantUML, and in this post we explore the concept of diagrams-as-code, and how to use PlantUML.
Diagram Methods
Let’s start with some background. Diagrams should engage their audience, informing them and encouraging collaboration. Understanding the knowledge and needs of your audience is critical to creating a successful diagram.
We adjust the diagram to suit the audience, using different views of people / process / technology to inform and engage them. Often, we will draw multiple views of the same system to suit the needs of different audiences, as per Figure 1.
Figure 1 – Example of Multiple Views of the Same System to Suit Different Audiences
What is a Network Traffic Flow? (Part 3)
Network traffic flows (flows) are useful for building a coarse-grained understanding of traffic on a computer network.
Following on from What is a Network Traffic Flow? and What is a Network Traffic Flow? (Part 2), this third post investigates flow metadata, how it adds value to flow analysis, and how to record and transport it. This is the good stuff, where flows become useful…
Figure 1 – What this blog post covers