







submitted in partial satisfaction of the requirements for the degree of
Architecture - Continuous Delivery
In the context of enterprise architecture there are typically multiple attributes we are concerned about, for example availability, security, performance, usability and so forth. In continuous delivery, we introduce two new architectural attributes: testability and deployability.
What is good software architecture?
What good architecture looks like, how to improve your skill at building it –and why Architects are not always the answer. Guest post by Matthew Hawthorne, who built large systems at Netflix & Twitter

Whanau | Proceedings of the 7th USENIX conference on Networked systems design and implementation
Pastry is a popular DHT overlay for its capability to facilitate storage and retrieval of data/ file among large number of nodes, efficiently without any centralized server. Performance is one of the major concerns in such networks. This work, frames a ...
The Specification Is Not a Document - The Phoenix Architecture
Imagine joining a software project a few years from now. It is a large, mature system. It has thousands of business rules, years of operational experience,…
Call for Abstracts — NetSci Dresden 2027
Submit your work on any topic in network science as a one-page abstract. Deadline: 1 December 2026.

Information Civics
An exploration of computer-network architectures as civic structures.

Our Networks
Conference about the past, present, and future of building our own network infrastructures.

Our Networks
Conference about the past, present, and future of building our own network infrastructures.


Home | cse223b
CSE 223B is a 4-unit graduate subject with lectures, paper discussions, a midterm, and technical report exercise, and a major term research project culminating in writing a research paper of your own. It will present abstractions and implementation techniques that facilitate the design of distributed systems–including both operating systems and sophisticated Internet servers–that can deal with the demands of real-world workloads. Topics will include efficient operating system primitives, high-performance network servers, load shedding, storage systems, security, and fault tolerance.
A Philosophy of Software Design
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then d...

Why Distributed Systems Are Hard to Develop — and How to Fix It
Here’s what’s missing when developing distributed systems today: Structure. Consistent, codified structure.

Local-first Software
Exploring software architecture that returns data to users and enables collaboration in every tool.

Architecture diagrams should be code - BAM Weblog
For the past few years I’ve been the most senior developer on my teams in Atlassian, in both position (Principal Engineer) and time (almost 9 years) - this means I usually take on the responsibility of managing our software architecture.