+ All Categories
Home > Internet > Minimum Viable Architecture For Web Apps

Minimum Viable Architecture For Web Apps

Date post: 23-Aug-2014
Category:
Upload: john-barton
View: 325 times
Download: 3 times
Share this document with a friend
Description:
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.
Popular Tags:
36
99designs Minimum Viable Architecture for Web Apps
Transcript
Page 1: Minimum Viable Architecture For Web Apps

99designsMinimum Viable Architecture for Web Apps

Page 2: Minimum Viable Architecture For Web Apps

Hi, I'm @johnbarton, Director of Engineering at 99designs

Page 3: Minimum Viable Architecture For Web Apps

Why You 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 jetlaggedA Lightly Structured Series of Rants

Your Web Application Should Look Like This

Security #protips Recommended Reading (Do Kids Still Read Today?)

Page 4: Minimum Viable Architecture For Web Apps

There are reasonsWhy You Should Listen To Me™

Page 5: Minimum Viable Architecture For Web Apps

Because I am an "industry speaker", clearly.

Page 6: Minimum Viable Architecture For Web Apps
Page 7: Minimum Viable Architecture For Web Apps

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

Page 8: Minimum Viable Architecture For Web Apps

Based on Actual ArchitectureHow I think About Architecture.

Page 9: Minimum Viable Architecture For Web Apps
Page 10: Minimum Viable Architecture For Web Apps
Page 11: Minimum Viable Architecture For Web Apps
Page 12: Minimum Viable Architecture For Web Apps

"organisations which design systems ... are constrained to produce designs which are copies of the communication

structures of these organisations" - M. Conway

Page 13: Minimum Viable Architecture For Web Apps

Specifically in Smaller, Fast Growing CompaniesHow Do I Architect?

Page 14: Minimum Viable Architecture For Web Apps

Typically the systems I see are either woefully over or under architected.

The balance is hard to get right, and harder to keep right.

Page 15: Minimum Viable Architecture For Web Apps

YAGNI and Responding to Change

Page 16: Minimum Viable Architecture For Web Apps

“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

Page 17: Minimum Viable Architecture For Web Apps

No Exceptions.Your Web Application Should Look Like This

Page 18: Minimum Viable Architecture For Web Apps

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)

Page 19: Minimum Viable Architecture For Web Apps

The Single Responsibility Principle +

Zero, one, and many.

Page 20: Minimum Viable Architecture For Web Apps

Inflection Point: ~15 Developers or ~100M Weekly Page Impressions

Page 21: Minimum Viable Architecture For Web Apps

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

Page 22: Minimum Viable Architecture For Web Apps

Security #protips

Page 23: Minimum Viable Architecture For Web Apps
Page 24: Minimum Viable Architecture For Web Apps

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 dumbSecurity 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

Page 25: Minimum Viable Architecture For Web Apps

Here are some books I like. Also, some things that are not books.Recommended Reading

Page 26: Minimum Viable Architecture For Web Apps

"hominem unius libri timeo"

Page 27: Minimum Viable Architecture For Web Apps
Page 28: Minimum Viable Architecture For Web Apps
Page 29: Minimum Viable Architecture For Web Apps
Page 30: Minimum Viable Architecture For Web Apps
Page 31: Minimum Viable Architecture For Web Apps
Page 32: Minimum Viable Architecture For Web Apps
Page 33: Minimum Viable Architecture For Web Apps
Page 34: Minimum Viable Architecture For Web Apps
Page 35: Minimum Viable Architecture For Web Apps

http://highscalability.com/ http://www.kitchensoap.com/ http://yowconference.com.au/ http://martinfowler.com/bliki/

Page 36: Minimum Viable Architecture For Web Apps

I have no idea why our company slide-theme has one with clouds on itThanks for listening!

http://99designs.com


Recommended