Software architecture for 5G networks

The 5G mobile network specification introduces network function virtualization [NFV] which enables mobile network operators (carriers henceforth) to expose network resources to business applications as PaaS solution building blocks [SBB]. Naturally, this moves 5G into the focus of software architecture. Unsurprisingly, the NFV specs detail services from the carrier's  point of view, so they are … Continue reading Software architecture for 5G networks

Cloud-specific software architecture patterns

This post is about software application architecture patterns that simplify application design by leveraging cloud features. New: Download the cloud pattern cheat sheet   Packaged configuration Packaged configuration cue cardWhatConfiguration is packaged with deployment artefactsMotivationSimplify system, increase resilience by removing runtime dependency on configuration serviceHowConfiguration is managed in configuration repository, CI/CD combines generic application artefact … Continue reading Cloud-specific software architecture patterns

Scalability through client-driven workflows

This post discusses a way to increase a service architecture's scalability by removing any communication paths between services and instead burdening clients with that communication. Bureaucracy in real life is a trade-off between ease of work for the applicant vs. ease of work for officers  In "Les 12 travaux d'Astérix" [1], Asterix and Obelix are … Continue reading Scalability through client-driven workflows

Defensive software architecture

In this, hopefully, last post on this blog of the year I will try to gather my scattered thoughts on software architecture and specifically the need for defensive software architecture, and substantiate it with anecdotal evidence from my own project work. I will first talk about my definition of architecture and that of an architect … Continue reading Defensive software architecture