Tag:Architecture
All posts tagged with Architecture
- Applications, Microservice Mistakes and Getting Things Done
006 Applications, Microservice Mistakes and Getting Things Done
- Hexagonal Architecture with Rust & AWS Lambda
Hexagonal Architecture with Rust & AWS Lambda
- Learning Software Architecture; Start With Why!
Many courses in software architecture and software in general focus on specific languages, technologies and services. This is great in the short term, but does not build the fundamental skills required to move in an industry as fast-paced as software. When learning a new technical domain, always start with why, move to the how before finally diving into the what. These foundational skills, coupled with a growth mindset, set up a long term career in technology.
- Art, Production and Domain Driven Design
My weekly newsletter from 2023-09-06. In this weeks issue, you will learn about how art and the creative act applies to the software industry, building production grade software and how to use domain driven design in the real world.
- Business Logic First, Implementation Details Second
Your business logic is what makes your application stand out. NoSQL vs SQL? Serverless vs containers? Neither of these decisions matter if your business logic doesn't work. Good design focuses on the business logic first.
- Clean Architecture in .NET Core
Clean Architecture is a way of designing and building software first proposed by Uncle Bob Martin in his book of the same name. In this post, we take a look at applying clean architecture principles in .NET Core.
- Debugging Cleaning Testing
Why architects should debug issues, 'cleaning' up your architecture and testing event driven systems.
- Elevators, Modules & Microservices
My weekly newsletter from 2023-09-06. In this weeks issue, you will learn about how to ride the architects elevator, the importance of modularizing your software and what Netflix learnt from building microservices.
- Essentialism in Software
In this blog post, I discusses the concept of Essentialism, which involves focusing all of your energy on one thing and doing it well. I explain how many of us tend to spread ourselves thin across multiple tasks, leading to a dissipation of our energy in different directions. I then make the case for how this concept can be applied to software development. They mention that in Domain Driven Design, Eric Evans discusses the idea of core, generic, and supporting subdomains, which can be leveraged to streamline and simplify software development. By applying the principles of Essentialism, developers and the software they build can prioritize what's truly important and avoid getting bogged down in unnecessary complexity.
- Event Modeling By Example
A look at the process of event modeling when designing software through the lens of a restaurant management application.
- On Choosing Your Complexity
Software is complex, but you can choose your complexity. This post explores the things you do have control over, and the things you don't.
- On The Dimensions of Modern Compute
Pulling together my thoughts on modern compute platforms, and the decisions and trade-offs you need to consider when choosing serverless, bare metal servers or anything in between.
- On Patterns of Modern App Development
What makes up a modern application? What components do you need to think about and how do you architect them together?
- Serverless Redefined
A look at serverless applications, and how this stretches beyond simple functions running in the cloud.
- The Simplest Way to Deploy Containerized Apps on Azure in 2025
This blog post covers how to deploy containerized application in a serverless way to Azure in 2025 using Azure Container Apps.
- The Essential Art of Sustainable Software Architecture
Sustainability; a word we all hear an awful lot and one that means different things to different people. What does it mean to be sustainable? The definition above sums it up for me, fulfil the needs of the present without compromising the future. Let's explore what makes up the art of sustainable software architecture, balanced across the environmental, economic and social pillars?
- Thinking Changing Scaling
Thinking; something you spend an awful lot of time doing. Whether that be about what you’re working on now, something new you need to build in the future or a particularly gnarly issue, you can’t get your head round. So surely, having a set of tools you can use to aid your thinking is useful? Right? One of my favourite frameworks for thinking about problems is using First Principles.
- Thinking in Patterns; The Importance of Language in Software Architecture
Language is the foundation upon which all communication is built. It's how we share our thoughts, feelings and ideas with one another. And in the world of software, language is just as critical. How we talk about and describe the structures and patterns we use to build software can have a significant impact on the success of our projects.