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

Forming a CI/CD Pipeline and Cloud-First Culture

Forming a CI/CD Pipeline and Cloud-First Culture

A non-technical presentation about shifting cultural practices at the Hesburgh Libraries of Notre Dame.

Jeremy Friesen

June 12, 2019
Tweet

More Decks by Jeremy Friesen

Other Decks in Technology

Transcript

  1. Forming a CI/CD Pipeline and
    Cloud-first Culture
    Jeremy Friesen, Manager Digital Libraries Technology Unit

    View Slide

  2. Who am I?
    JEREMY FRIESEN
    DIGITAL LIBRARY
    TECHNOLOGIES
    UNIT MANAGER
    AT THE
    HESBURGH
    LIBRARIES OF THE
    UNIVERSITY OF
    NOTRE DAME
    INTRODUCTION

    View Slide

  3. INTRODUCTION
    Why am I Here?
    OUTLINE NOTRE DAME'S
    TECHNICAL APPROACH TO A
    MELLON FOUNDATION
    GRANT RECEIVED BY THE
    SNITE MUSEUM OF ART AND
    HESBURGH LIBRARIES.
    I hope those curious about our overall project approach
    will go to our 11am presentation: "P8E: Meeting the
    user needs for cultural heritage."

    View Slide

  4. AGENDA
    What We'll Cover
    - GRANT OVERVIEW
    - GUIDING PRINCIPLES
    - WHERE WE STARTED
    - DEMONSTRATION
    - DOCUMENTATION
    - WHERE WE ARE NOW

    View Slide

  5. Grant Overview

    View Slide

  6. GRANT OVERVIEW
    Mellon Foundation
    Funded…
    UNIFYING DISCOVERY AND
    EXHIBITION OF CULTURAL
    HERITAGE MATERIAL FROM
    ARCHIVES, RARE BOOKS,
    SPECIAL COLLECTIONS, AND
    ART MUSEUM…

    View Slide


  7. THROUGH
    OPEN-SOUR
    CE
    CLOUD-ORIE
    NTED
    TECHNOLO
    GY.
    GRANT OVERVIEW

    View Slide

  8. Guiding Principles

    View Slide

  9. Focus on the Patron
    GUIDING PRINCIPLES

    View Slide

  10. Reduce Iterative Friction
    GUIDING PRINCIPLES

    View Slide

  11. Document, Communicate, Collaborate
    GUIDING PRINCIPLES

    View Slide

  12. Where We Started

    View Slide

  13. WHERE WE STARTED
    DIFFERENT
    DEPARTMENTS ON
    CAMPUS,
    ORGANIZATIONAL
    AMBIGUITY,
    DISPARATE SYSTEMS,
    VARIOUS BOUTIQUE
    SOLUTIONS,
    BOGGED DOWN IN
    EDGE CASES, AND

    View Slide

  14. PAUSING PUPPY PICS

    View Slide

  15. Demonstration-ish

    View Slide

  16. TWO TYPES OF SOURCE REPOSITORIES:
    ● Infrastructure configuration: marble-blueprints
    ● Application code: marble-*
    DEMONSTRATION
    I'll focus on marble-blueprints
    But will talk about the "applications"

    View Slide

  17. Caution:
    Active
    Construction
    Ahead
    DEMONSTRATION
    Photo by Josue Isai Ramos Figueroa on Unsplash

    View Slide

  18. HTTPS://GITHUB.COM/NDLIB/MARBLE-BLUEPRINTS
    DEMONSTRATION

    View Slide

  19. Marble Components
    DEMONSTRATION
    ● SHARED INFRASTRUCTURE
    ● IIIF IMAGE SERVICE
    ● IIIF MANIFEST PIPELINE
    ● WEBSITE
    ● PRIMO PASSTHROUGH
    ● ELASTICSEARCH (WORK IN PROGRESS)

    View Slide

  20. Shared Infrastructure
    DEMONSTRATION
    HTTPS://GITHUB.COM/NDLIB/MARBLE-BLUEPRINTS/BLOB/MASTER/DOCS/SHARED-INFRASTRUCTURE.MD

    View Slide

  21. IIIF Image Service
    AWS CLOUDFORMATION TO DEPLOY DOCKER IMAGE
    OF CANTALOUPE AND A COMPLIMENTARY
    CONTINUOUS DELIVERY PIPELINE.
    DEMONSTRATION
    HTTPS://GITHUB.COM/NDLIB/MARBLE-BLUEPRINTS/BLOB/MASTER/DOCS/IIIF-IMAGE-SERVICE.MD

    View Slide

  22. Continuous Delivery Pipeline
    DEMONSTRATION

    View Slide

  23. Slack Approvals
    S
    DEMONSTRATION

    View Slide

  24. ● SWAPPING OUT PRIMO SEARCH API FOR ELASTICSEARCH
    ● TRANSITIONING FROM A REACTJS SINGLE PAGE APPLICATION TO
    A GATSBYJS STATIC SITE-BUILDER
    Two Experiments Made Easier in AWS
    DEMONSTRATION

    View Slide

  25. Primo Search API
    DEMONSTRATION
    Photo by Shaojie on Unsplash

    View Slide

  26. ElasticSearch
    ● AWS HOSTED OPTION
    ● MANY UI CODE LIBRARIES
    DEMONSTRATION
    Photo by Markus Spiske on Unsplash

    View Slide

  27. DEMONSTRATION
    Photo by Annie Spratt on Unsplash
    ReactJS Single Page Application (SPA)

    View Slide

  28. DEMONSTRATION
    Photo by Jeff Sheldon on Unsplash
    GatsbyJS & ReactJS
    ● ENABLING CREATION OF MULTIPLE
    SITES
    ● REUSING REACTJS COMPONENTS
    FROM OUR SPA

    View Slide

  29. Documentation

    View Slide

  30. OSF.IO/CUSMX - OUR
    PUBLIC FACING
    PROJECT
    DOCUMENTATION:
    - LINK TO GITHUB
    REPOS
    - TECHNICAL
    DIAGRAMS
    - PRESENTATIONS
    DOCUMENTATION

    View Slide

  31. Where We Are
    Now

    View Slide

  32. - MAPPING CONTENT
    TO PATRON
    FRIENDLY FORMAT
    - ITERATING ON
    PATRON FACING UI
    - LEVERAGING
    CI/CD PIPELINE
    - SCRIPTING AND
    TESTING
    WHERE WE ARE NOW

    View Slide

  33. Cloud-First Culture
    BE CURIOUS
    FRAME AS
    "PROTOTYPING"
    REDUCE FRICTION
    HOLD SOLUTIONS
    LIGHTLY
    BUILD A SHARED
    WISION
    WHERE WE ARE NOW

    View Slide

  34. WHERE WE ARE NOW
    We improved
    our ability to
    more nimbly
    explore
    problem
    spaces.

    View Slide

  35. Questions?

    View Slide

  36. Thank you,
    Jeremy,
    Shelby, Coriander "Corrie", Willow, and Owlbear Camus
    CREDITS

    View Slide