"Architecture is about the important stuff. Whatever that is."
| Week | Week Starting | Topics | Link |
|---|---|---|---|
| 1 | Feb 23 |
Software Architecture Architectural Views Layered Architecture |
Content |
| 2 | Mar 2 |
Security Principles Architecture Decision Records Pipeline Architecture |
Content |
| 3 | Mar 9 |
Containers Microkernel Architecture |
Content |
| 4 | Mar 16 |
Infrastructure as Code Service-based Architecture |
Content |
| 5 | Mar 23 |
Distributed Systems I Event-driven Architecture |
Content |
| 6 | Mar 30 |
Distributed Systems I (cont.) Microservices Architecture Message Queues |
Content |
| Mid-Semester Break | |||
| 7 | Apr 13 |
Distributed Systems II Microservices Architecture (cont.) |
Content |
| 8 | Apr 20 |
Distributed Systems II (cont.) Serverless Architecture |
Content |
| 9 | Apr 27 |
Distributed Systems III Monitoring & Logging |
Content |
| 10 | May 4 | Labour Day | Content |
| 11 | May 11 |
Distributed Systems III (cont.) Technical Documentation |
Content |
| 12 | May 18 |
Deployment Strategies Decomposing Monoliths Soft Skills for Architects Software Engineering Research |
Content |
| 13 | May 25 | Architecture Presentations | Content |
| Assessment | Release | Due by | Weighting |
|---|---|---|---|
Cloud Infrastructure Assignment
|
March 6th |
March 27th @ 3pm (Week 5) April 13th @ 3pm (Week 7) May 1st @ 3pm (Week 9) |
40% |
| Architecture Presentation | April 13th | Week 13 | 30% |
| Capstone Project | April 13th | June 8th @ 3pm (Exam Block) | 30% |
This is a recent book (2020) which begins in part one by introducing the responsibilities of a software architecture, followed by some guiding principles for architectures. In part two, the book enumerates many of the architectures introduced in this course with good descriptions for later reference. Finally the book returns to the soft skills required for a career in software architecting.
In this course we have used this book to guide our discussion of important architectures.
This book is a staple of the field. Most courses on software architecture follow this book as a reference. The book is quite terse and academic which will require a strong will to complete. Rather than focusing on specific architecture patterns as in Richards & Ford, this book provides tactics to achieve each quality attribute which can be used to design new architectures
In this course we have used this book as a key reference for concepts and as one approach to categorising architectural views.
The focus of this book is on three quality attributes; reliability, scalability, and maintainability. Taking a modern and pragmatic approach, this book dives head first into techniques of managing the most difficult systems to scale, data-intensive systems.
Our lecture mini-series on distributed computing is heavily centred around the contents of this book.
