A guest lecture I gave at the RMIT Systems Architecture course.
A bit of a grab bag of things I thought I wish I knew back when I was at uni with regards to architecting web apps.
3. WhyYou Should Listen
To Me™
How I think About
Architecture. Based on
Actual Architecture
How Do I Architect?
Specifically in Smaller,
Fast Growing Companies
Apologies for undercookedness, I am still jetlagged
A Lightly Structured Series of Rants
Your Web Application
Should Look Like This
Security #protips Recommended Reading
(Do Kids Still Read
Today?)
7. MyCareer: ASP.NET + MSSQL
Envato: Ruby on Rails + MySQL
Goodfilms: Ruby on Rails + PostgreSQL
99designs: PHP, Ruby on Rails, Go + MySQL
+ lots of random consulting
12. "organisations which design systems ... are constrained to
produce designs which are copies of the communication
structures of these organisations"
- M. Conway
16. “If you want to build a ship, don’t drum up the men to
gather wood, divide the work, and give orders. Instead,
teach them to yearn for the vast and endless sea.”
- Antoine de Saint-Exupéry
18. Put these things into "the cloud" and put your code in there
1 x Load Balancer
2 x Web Server
1 x Database Master + 1 x Read Replica
1 x Async Queue Processor
Firewall the lot at the outside, and iptables each box too
Share nothing except database (and maybe session store)
21. Upgrade to SOA at the same time you split teams
Have clear lines of ownership from teams to systems
Do not create a service without a dedicated team or n > 1
clients
24. Don't build a bitcoin
exchange or wallet
"Outsource" the security
design: use a secure by
default framework
AUDIT TRAIL
AUDIT TRAIL
AUDIT TRAIL
You are more likely to get audited than get hacked unless you are dumb
Security Protips
Apply the Mickens
"Mossad/Not Mossad"
Threat Model
Keep your mouth shut
around 4chan and other
angry intelligent people
For The Love of God
Don't Leave a Laptop on
a Train or in the Pub
25. Here are some books I like. Also, some things that are not books.
Recommended Reading