build
continous integration - automated build, test and packaging for of code to its deployable package.
2023
![Software Qualities](/assets/img/blog/thumbnails/quality.png)
Software Qualities
Software Architecture lives in quality, the hidden part which delights the customer
Continue reading Software Qualities![Self-Service](/assets/img/blog/thumbnails/architecture2.png)
Self-Service
With distributed software delivery teams, the key to scaling, is empowerment.
Continue reading Self-Service![Platform](/assets/img/blog/thumbnails/architecture3.png)
Platform
You platform is more than just using AWS or Azure, its your application and integration architecture realised.
Continue reading Platform![Architecture Decision Records](/assets/img/blog/thumbnails/architecture3.png)
Architecture Decision Records
No more, i have no idea why we use this, lets understand really why we made that decision.
Continue reading Architecture Decision Records2022
![Squads](/assets/img/blog/thumbnails/people.png)
Squads
Agile architecture is not just software and technology its how we work too
Continue reading Squads2020
![Self-Cert Rotation with Istio](/assets/img/blog/thumbnails/service-mesh.png)
Self-Cert Rotation with Istio
notes to setup Certs for a dev server (becuase i will forget this)
Continue reading Self-Cert Rotation with Istio![Remove the Prefix from an Route in Istio](/assets/img/blog/thumbnails/service-mesh.png)
Remove the Prefix from an Route in Istio
this is common where the Istio will have some part of the route to identify which service, and will want to remove the identifier.
Continue reading Remove the Prefix from an Route in Istio![Istio Gateway in a different namspace to the VirtualService](/assets/img/blog/thumbnails/service-mesh.png)
Istio Gateway in a different namspace to the VirtualService
our services will be deployed in a number of seperate namespaces, this is how you can do the routing
Continue reading Istio Gateway in a different namspace to the VirtualService![enabling Isio Secure Ingress on Rancher](/assets/img/blog/thumbnails/service-mesh.png)
enabling Isio Secure Ingress on Rancher
simple extra config answer which is required
Continue reading enabling Isio Secure Ingress on Rancher![RabbitMQ - retries and deadletters](/assets/img/blog/thumbnails/messaging.png)
RabbitMQ - retries and deadletters
Ensuring messages are sent and handling errors is tricky
Continue reading RabbitMQ - retries and deadletters2019
![EFK with .NET Core](/assets/img/blog/thumbnails/cloud-native.png)
EFK with .NET Core
.net core 3 - K8s with the EFK Stack
Continue reading EFK with .NET Core![tech radar](/assets/img/blog/thumbnails/tech-radar.png)
tech radar
tech radars show how we can manage our technical platforms by mapping items in use against items of interest
Continue reading tech radar![.net core 3 - the new host.](/assets/img/blog/thumbnails/code.png)
.net core 3 - the new host.
.net core 3 - host now supports the port and adapter concept
Continue reading .net core 3 - the new host.![what a vue](/assets/img/blog/thumbnails/typescript.png)
what a vue
an initial look at vue
Continue reading what a vue![TDD an IoC container - part 5 - Retrospective](/assets/img/blog/thumbnails/test.png)
TDD an IoC container - part 5 - Retrospective
using TDD to develop a simple IoC container.
Continue reading TDD an IoC container - part 5 - Retrospective![TDD an IoC container - part 4 - Tools](/assets/img/blog/thumbnails/test.png)
TDD an IoC container - part 4 - Tools
using TDD to develop a simple IoC container.
Continue reading TDD an IoC container - part 4 - Tools![TDD an IoC container - part 3 - Performance Refactor](/assets/img/blog/thumbnails/test.png)
TDD an IoC container - part 3 - Performance Refactor
using TDD to develop a simple IoC container.
Continue reading TDD an IoC container - part 3 - Performance Refactor2018
![TDD an IoC container - part 2 - initial slice](/assets/img/blog/thumbnails/test.png)
TDD an IoC container - part 2 - initial slice
using TDD to develop a simple IoC container.
Continue reading TDD an IoC container - part 2 - initial slice![TDD an IoC container - part 1 - primer](/assets/img/blog/thumbnails/test.png)
TDD an IoC container - part 1 - primer
using TDD to develop a simple IoC container.
Continue reading TDD an IoC container - part 1 - primer2017
![Poco, Pojo means no Mojo.](/assets/img/blog/thumbnails/code.png)
Poco, Pojo means no Mojo.
what does Pojo and Poco mean to you?
Continue reading Poco, Pojo means no Mojo.![Middleware - is the new AOP?](/assets/img/blog/thumbnails/code.png)
Middleware - is the new AOP?
a popular way to provide extensions in todays frameworks, is middleware
Continue reading Middleware - is the new AOP?2016
![use your own interface](/assets/img/blog/thumbnails/code.png)
use your own interface
coupling is something which impacts maintainability, interfaces are used to decouple, but they bring their own complexity.
Continue reading use your own interface![dotnet three project setup](/assets/img/blog/thumbnails/code.png)
dotnet three project setup
dotnet services structure across multiple services for consistency
Continue reading dotnet three project setup![Microservices - part 3 - Service Location and Load Balancing](/assets/img/blog/thumbnails/architecture.png)
Microservices - part 3 - Service Location and Load Balancing
How do we route traffic to running instances of services?
Continue reading Microservices - part 3 - Service Location and Load Balancing2015
![.Net and Docker](/assets/img/blog/thumbnails/cloud-native.png)
.Net and Docker
hosting dotnet in docker is really easy, lets look how.
Continue reading .Net and Docker![Microservices - part 2 - Api Gateway](/assets/img/blog/thumbnails/architecture.png)
Microservices - part 2 - Api Gateway
Api Gateways, are great technology and technique to expose API’s of a platform, and encapsulate the complexity of the internal services
Continue reading Microservices - part 2 - Api Gateway![Microservices - part 1 - the boundary](/assets/img/blog/thumbnails/architecture.png)
Microservices - part 1 - the boundary
We say services, what is the scope, how do they communicate?
Continue reading Microservices - part 1 - the boundary2014
![Selenium and phantom](/assets/img/blog/thumbnails/test.png)
Selenium and phantom
running selenium server locally in a way that should complement using
Continue reading Selenium and phantom![Deployment - lets do a little CI and CD](/assets/img/blog/thumbnails/devops.png)
Deployment - lets do a little CI and CD
source -> continous integration -> continous deployment
Continue reading Deployment - lets do a little CI and CD2013
![embedded views](/assets/img/blog/thumbnails/code.png)
embedded views
we look at the core power of Nancy, and its MVC support
Continue reading embedded views![embedded views](/assets/img/blog/thumbnails/code.png)
embedded views
enbedded views, a step to modules
Continue reading embedded views![Hosting Nancy with Topshelf](/assets/img/blog/thumbnails/code.png)
Hosting Nancy with Topshelf
hello world using Nancy and topshelf
Continue reading Hosting Nancy with Topshelf![under the hood](/assets/img/blog/thumbnails/code.png)
under the hood
how can we see what is happening under the hood
Continue reading under the hood