Yegge on SOA Doug Woos Logistics notes Lab 3a due Wednesday - - - PowerPoint PPT Presentation

yegge on soa
SMART_READER_LITE
LIVE PREVIEW

Yegge on SOA Doug Woos Logistics notes Lab 3a due Wednesday - - - PowerPoint PPT Presentation

Yegge on SOA Doug Woos Logistics notes Lab 3a due Wednesday - Other lab deadlines pushed back two days Next few lectures all have associated readings Today Yegge essay - Summary - Small-group discussion - Whole-class discussion (Will this


slide-1
SLIDE 1

Yegge on SOA

Doug Woos

slide-2
SLIDE 2

Logistics notes

Lab 3a due Wednesday

  • Other lab deadlines pushed back two days

Next few lectures all have associated readings

slide-3
SLIDE 3

Today

Yegge essay

  • Summary
  • Small-group discussion
  • Whole-class discussion (Will this work? We’ll see!)

Brief intro to the next few papers

slide-4
SLIDE 4

Yegge

Google (other large software companies) should use SOA as a software architecture and engineering discipline.

slide-5
SLIDE 5

SOA at Amazon: Bezos’s rules

All teams must expose data/functionality through service interfaces Teams communicate through these interfaces No other communication (e.g. direct linking, shared FS, etc.) allowed—only calls over network Service interfaces must be externalizable—designed to be exposed to the outside world

slide-6
SLIDE 6

SOA at Amazon: Implementation

Decompose website into 1000s of primitive services Each team runs its service as a standalone product

  • Including ops!

Each service provides a service level agreement to its clients (i.e. other teams’ services)

slide-7
SLIDE 7

Service level agreements

Guarantee provided to clients re: service response time and availability

  • ex: Availability = 5 9s (99.999% uptime)
  • ex: Response time = 3ms @ 90th percentile
  • SLA is also a guarantee from the client, e.g., won’t

send more than X reqs/s

slide-8
SLIDE 8

Meanwhile, at Google*

Fewer services Culture encourages reuse via linking

  • Monolithic codebase
  • Libraries carefully maintained

Operations separate from development Capacity centrally planned

  • clients assumed to be well-behaved

* then! maybe!

slide-9
SLIDE 9

Why SOA?

Internal reasons

  • Resilient to buggy components
  • Forces excellent monitoring
  • Can scale services independently

Big external reason

  • Companies need to build platforms
  • Platforms require good external APIs
  • Separate external/internal interfaces = bad APIs
  • Need to eat your own dog food!
slide-10
SLIDE 10

SOA lessons

Pager escalation The core problem might not be the responsibility of the team whose on-call members get woken up in the middle of the night! Need automated service registry Every client is potential source of DoS Including amplification attacks! Only way to tell if a service is functioning is to use it Testing = monitoring Cross-service debugging—need universal sandbox

slide-11
SLIDE 11

Why Yegge was worried

In order to be usable (/accessible), applications need to be platforms Must design for SOA from scratch

  • Can’t bolt it on
slide-12
SLIDE 12

What about upgrades?

SOA makes it harder to make backwards-incompatible changes

  • Both an advantage and a disadvantage!
  • At Google: monolithic codebase, change

everyone’s API usage Formalize API versioning, deprecation

  • Some teams will upgrade early, others late
slide-13
SLIDE 13

Discussion

In your experience, is SOA helpful? Are there challenges in implementing SOA that Yegge didn’t address?

slide-14
SLIDE 14

Piazza discussion

Security vs. Usability/Accessibility Platform capitalism Why did Google+ fail?

  • Yegge was trying to make his post private…

How have things changed? Do we sometimes want to colocate services?

slide-15
SLIDE 15

Next few papers

Three real-world systems from Google GFS: storage for bulk data BigTable: storage for structured data Chubby: coordination service All highly influential, have open-source clones GFS -> HDFS BigTable -> HBase, Cassandra, other NoSQL stores Chubby -> Zookeeper, etcd

slide-16
SLIDE 16