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 Adams

June 28, 2017



    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
  2. paul.adams@zalando.de @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
  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
  4. X Chef Meetup, Berlin B A G G E R

    S P I O N
  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?
  6. X H A B I TAT Chef Meetup, Berlin

  7. X S O , W H Y D O W

    E N E ED HAB I TAT ? • Build • Deploy • Configure • Run Chef Meetup, Berlin
  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
  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
  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
  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
  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
  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
  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?
  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
  16. X THE DEMO Chef Meetup, Berlin

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

  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
  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
  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
  21. X THE RISKY DEMO Chef Meetup, Berlin

  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
  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