Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Programming in the Large ASWEC

Programming in the Large ASWEC

Good architecture frees us to choose the right tools and techniques, allowing us to adapt easily and concentrate on solving real problems rather than our made up ones. In this talk we will run through some stereotypical projects looking at the properties of good architectures and how these play into our ability to adopt better tools and techniques. We will attempt to ground the discussion with real examples of my past projects where things have gone well and probably of more interest where they really have not.

Mark Hibberd

April 07, 2014
Tweet

More Decks by Mark Hibberd

Other Decks in Programming

Transcript

  1. Any organization that designs a system will produce a design

    whose structure is a copy of the organization's communication structure Conway’s Law
  2. Code search as Systems INDEXING SEARCH Scala Embedded Server OS

    for logging Bourne Shell Exuberant CTAGS Deploy as git hook OS for logging OS for services
  3. now vs later priorities shift over time, can't let early

    traction sacrifice long term speed An Aside
  4. Thinking ahead is not about avoiding change Thinking ahead is

    about letting us change at different rates for different problems
  5. Rates of change domain macro micro Freedom to choose tools

    and technology by succeeding at domain and protocols
  6. CMSs hold customer data hostage CONTENT ANALYSIS & DATA MINING

    PROJECT Free data Analyse data Derive data CMSs tied to horrible platforms Goals Constraints
  7. Signs of failure Systems are not autonomous Systems share a

    domain model Systems need to be evolved in step Systems need to be built by single team Systems share a data base
  8. Systems as the unit of work If you can’t add

    a person to your project then you are failing worse than you think again
  9. The Big App Protobufs Thrift HTTP Establishing Rules & Autonomy

    sbt-assembly OS package Containers IDENTITY Protocols Deployment
  10. References + More Info Stefan Tilkov's Breaking the Monolith slides

    video Coda Hale and Ryan Kennedy on "Streamie" notification service at yammer Slide Deck v2 v1 v3