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

[O'Reilly Software Architecture London 17] Smart, Scalable Content Distribution

[O'Reilly Software Architecture London 17] Smart, Scalable Content Distribution

Separating data from functionality is one of the tricks to speedier applications, since it allows accessing the right content at the right time. Partitioning data cleverly presents several challenges and requires a unique combination of architecture, DevOps, development, and testing skills. Unless you have such a Swiss Army knife on your team (and are not afraid of the bus factor), you’ll want to learn how Tekkie does it.

I share a solution to content snapshotting, distribution, and caching in a silo-based architecture involving tens of machines, walking you through the problems encountered and solutions I came up with. You’ll leave knowing how to automate content distribution on individual nodes and warm-up caches, all while keeping your website permanently online.

Georgiana Gligor

October 17, 2017
Tweet

More Decks by Georgiana Gligor

Other Decks in Technology

Transcript

  1. TNBSU- TDBMBCMF
    DPOUFOU EJTUSJCVUJPO
    Georgiana Gligor
    Tekkie Consulting
    @gbtekkie

    View Slide

  2. 2
    ✤ CMS comparison criteria
    ✤ CMS team roles
    ✤ content modeling

    View Slide

  3. 3
    ✤ CMS comparison criteria
    ✤ CMS team roles
    ✤ content modeling
    Not Today

    View Slide

  4. 4
    OPU BEESFTTJOH UPEBZ
    CMS comparison criteria
    CMS team roles
    content delivery networks

    View Slide

  5. 5
    WF WJMM BJN GPS
    automate content distribution
    coherent content strategy
    high availability

    View Slide

  6. 6
    Georgiana Gligor
    ✤ Geek. Mother. Do-er.
    ✤ Crafting Large-Scale
    Application Architectures
    ✤ PhD Student in Systems
    Engineering
    @gbtekkie
    [email protected]

    View Slide

  7. 7
    awareness
    interest
    decision
    action
    NBSLFUJOH GVOOFM

    View Slide

  8. 8
    BHFOEB
    content
    complexity
    content
    distribution
    high
    availability

    View Slide

  9. DPOUFOU
    DPNQMFYJUZ

    View Slide

  10. 10
    What business are you in?
    ✤ Collaboration
    ✤ Transactional
    ✤ Media property
    ✤ SaaS application

    View Slide

  11. 11
    pen & paper
    structured
    data
    non-structured
    digital documents
    data
    versioning
    DBQUVSJOH DPOUFOU

    View Slide

  12. FYQPTJOH DPOUFOU
    scaling
    consistency
    structured
    structured
    APIs
    non-structured
    internal UI
    public-facing UI
    security
    12
    PCI/PII
    compliance

    View Slide

  13. 13
    UZQJDBM NPEFSO OFFET
    collaboration UI
    transactional UI
    internal UI
    APIs
    digital files
    content pen & paper
    internal UI
    your
    control
    media UI
    SaaS services
    APIs
    3rd

    party
    content

    View Slide

  14. 14
    UZQJDBM NPEFSO OFFET
    collaboration UI
    transactional UI
    digital files
    content pen & paper
    media UI

    View Slide

  15. 15
    QVU DPOUFOU GJSTU
    transactional UI collaboration UI
    digital files
    content pen & paper
    media UI

    View Slide

  16. 16
    Tpguxbsf jnevtusz
    jt cvjmu bspvne
    bnujdjqbujnh dibnhf/

    View Slide

  17. 17
    USBOTBDUJPOBM DPOUFOU
    pricing
    technicalities
    availability
    media
    very rarely
    rarely
    infrequently
    frequently

    View Slide

  18. 18
    DPMMBCPSBUJPO DPOUFOU
    Q & A
    reviews
    customer
    content
    demand spikes
    demand spikes
    demand spikes

    View Slide

  19. DPOUFOU
    EJTUSJCVUJPO

    View Slide

  20. 20
    CMS UI
    content
    customer-facing
    CMS codebase
    DMBTTJDBM NJTUBLF

    View Slide

  21. 21
    ?
    customer-facing
    content
    CMS codebase
    CMS UI
    DNT UP DBQUVSF DPOUFOU

    View Slide

  22. 22
    CMS UI
    content
    CMS codebase
    ?
    customer-facing
    DNT UP DBQUVSF DPOUFOU

    View Slide

  23. 23
    DPOUFOU OPSNBMJTBUJPO

    View Slide

  24. 24
    import
    import
    DPOUFOU OPSNBMJTBUJPO

    View Slide

  25. 25
    import
    import
    DPOUFOU OPSNBMJTBUJPO
    different
    data structure

    View Slide

  26. 26
    content
    import
    APIs
    mix & match
    import
    mix & match
    3rd party
    4SE QBSUZ DPOUFOU

    View Slide

  27. 27
    content
    import
    APIs
    mix & match
    import
    mix & match
    CMS UI
    resolve
    data
    conflicts
    3rd party
    DPOUFOU OPSNBMJTBUJPO

    View Slide

  28. 28
    content
    rarely frequently
    QBSUJUJPOJOH

    View Slide

  29. 29
    content
    DPOUFOU BT DPEF
    rarely frequently

    View Slide

  30. 30
    content
    DPOUFOU BT DPEF
    rarely frequently

    View Slide

  31. 31
    PWFSBMM BSDIJUFDUVSF
    CMS
    customer
    facing

    View Slide

  32. 32
    PWFSBMM BSDIJUFDUVSF
    CMS
    customer
    facing

    View Slide

  33. 33
    PWFSBMM BSDIJUFDUVSF
    CMS
    customer
    facing

    View Slide

  34. 34
    DPOUFOU EJTUSJCVUJPO
    CMS
    customer
    facing

    View Slide

  35. IJHI
    BWBJMBCJMJUZ

    View Slide

  36. 36
    2
    3
    eventual
    consistency
    15
    5

    View Slide

  37. 37
    EJTUJODU DPOTJTUFODZ NPEFMT

    View Slide

  38. 38
    EJTUJODU DPOTJTUFODZ NPEFMT

    View Slide

  39. TJMPT

    View Slide

  40. 40
    TJMP
    CMS
    customer
    facing
    end-to-end
    functionality

    View Slide

  41. 41
    TJMPT
    variation
    2
    variation
    1

    View Slide

  42. 42
    DIBOHF POF UIJOH BU B UJNF

    View Slide

  43. 43
    NVMUJ.DMPVE
    private
    cloud
    AWS

    View Slide

  44. 44
    Nfn ibwf cfdpnf
    uif uppmt pg uifjs
    uppmt/
    - Henry David Thoreau

    View Slide

  45. ‹#›
    RVFTUJPOT@
    }
    Efficient architecture.
    Performance oriented.
    Enhanced with AI.
    [email protected]

    View Slide