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

Automating CrateDB with Habitat

Automating CrateDB with Habitat

This session will take you through the journey of learning how we write, build and run packages for Habitat, before exploring the packaging of CrateDB. CrateDB, of course, is not just another database and special consideration must be given to packaging CrateDB in a CrateDB-friendly manner. In this session we will explore the the endocode/cratedb package that is available for download through Habitat and future improvements to this package.

Paul Finlayson Adams

June 28, 2017
Tweet

More Decks by Paul Finlayson Adams

Other Decks in Technology

Transcript

  1. EASI NG T HE PA IN OF
    D E P L O Y M E N T A N D
    C O N F I G U R AT I O N
    A U TO M AT I N G
    C R AT E D B W I T H
    H A B I TAT
    0 6 - 2 0 1 7
    D R . PA U L J A M E S A D A M S

    View Slide

  2. [email protected]
    @therealpadams
    baggerspion.net
    D R . PA U L J A M E S A D A M S
    Search & Personalisation
    Engineering Lead
    0 6 - 2 0 1 7

    View Slide

  3. X
    • Engineering Lead
    • Zalando: Search & Personalisation
    • Crate.io
    • KDAB
    • Kolab Systems…
    • Free Software Lifer
    • Zope / Plone / KDE / Kolab / CrateDB /
    Habitat
    • FSFE / KDE eV / OpenForum Academy
    Chef Meetup, Berlin
    A L I T T L E A B O U T M E

    View Slide

  4. X Chef Meetup, Berlin
    B A G G E R S P I O N

    View Slide

  5. X
    TA B LE OF 

    C O N T E N T S
    Chef Meetup, Berlin
    • Intro (You Are Here)
    • Habitat
    • Why? How?
    • CrateDB
    • Why? How?

    View Slide

  6. X
    H A B I TAT
    Chef Meetup, Berlin

    View Slide

  7. X
    S O , W H Y D O W E N E ED HAB I TAT ?
    • Build
    • Deploy
    • Configure
    • Run
    Chef Meetup, Berlin

    View Slide

  8. X
    So you know what I mean when I’m talking
    about:
    • Application Artefacts
    • Habitat Studio
    • Habitat Supervisor
    • Depot
    • Builder
    Chef Meetup, Berlin
    S O ME K E Y C ON C EP TS

    View Slide

  9. X
    A P P L I C AT I O N A R T E FA C T S
    • The binary
    • Or the code and an interpreter
    • Libraries
    • The configuration
    • The application
    • The environment
    • Dependencies
    • Signed!
    Chef Meetup, Berlin

    View Slide

  10. X
    H A B I TAT S T U D I O
    • Clean environment for building your
    application artefact
    • “But it built for me!”
    • Platforms
    • Linux - chroot
    • OSX/Windows - Docker
    Chef Meetup, Berlin

    View Slide

  11. X
    H A B I TAT S U P E RV I S O R
    • Application manager service which supports
    application artefacts
    • Can be multi-tenant
    • Communicates with other supervisors
    • e.g. configuration sharing
    Chef Meetup, Berlin

    View Slide

  12. X
    D E P O T
    • A repository of Application Artefacts and their
    dependencies
    • Public (Willem)
    • Private
    • Support for:
    • Origins
    • Channels
    Chef Meetup, Berlin

    View Slide

  13. X
    B U I L D E R
    • Service for building your artefacts
    • Public
    • Private
    • Will upload to the specific depot
    • Can also trigger Docker Hubs builds, too!
    Chef Meetup, Berlin

    View Slide

  14. X
    • Nothing!
    • Habitat will export application artefacts to
    Docker images!
    • But… what’s on the inside?
    • `from: ubuntu:latest`
    • `from: alpine:latest`
    • Habitat gives you exactly what your
    application needs. Nothing more.
    Chef Meetup, Berlin
    OK, SO WHAT’S WRONG WITH DOCKER?

    View Slide

  15. X Chef Meetup, Berlin
    A R T E FA C T D E F I N I T I O N : T H E S H O W D O W N

    View Slide

  16. X
    THE DEMO
    Chef Meetup, Berlin

    View Slide

  17. X
    C R AT E D B
    Chef Meetup, Berlin

    View Slide

  18. X
    S O , W H Y D O W E N E ED CRAT ED B ?
    • Distributed SQL database
    • Horizontal scaling
    • Shared-nothing
    • Somewhat leaderless
    • Crate SQL
    • 100% standard-compliant
    • …but not 100% of the standard
    • ALL THE JOINZ!
    Chef Meetup, Berlin

    View Slide

  19. X
    C O N F I G U R I N G C R AT E D B ( I )
    • A feast of configurability!
    • Based upon completely sane defaults
    • Nice set of node names
    • Discovery
    • Every node is electable
    • Every node performs all tasks
    • A gazillion other options that nobody ever
    touches
    Chef Meetup, Berlin

    View Slide

  20. X
    C O N F I G U R I N G C R AT E D B ( I I )
    • In the real world there is some configuration
    we really need to provide:
    • List of IPs to connect to (technically one is
    enough)
    • Am I the lead?
    • Cluster size (we’ll get back to this one)
    Chef Meetup, Berlin

    View Slide

  21. X
    THE RISKY DEMO
    Chef Meetup, Berlin

    View Slide

  22. X
    H A B I TAT C O M M U N I T Y
    Chef Meetup, Berlin
    • Slack
    • http://slack.habitat.sh
    • Tutorial
    • https://www.habitat.sh/tutorials
    • Public Depot
    • https://bldr.habitat.sh
    • GitHub
    • https://github.com/habitat-sh
    • Blog
    • https://www.habitat.sh/blog

    View Slide

  23. X
    C R AT E D B C O M M U N I T Y
    Chef Meetup, Berlin
    • Slack
    • https://crate.io/docs/support/slackin
    • Documentation
    • https://crate.io/docs
    • GitHub
    • https://github.com/crate
    • Blog
    • https://crate.io/blog

    View Slide