Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

[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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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?

Slide 6

Slide 6 text

X H A B I TAT Chef Meetup, Berlin

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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?

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

X THE DEMO Chef Meetup, Berlin

Slide 17

Slide 17 text

X C R AT E D B Chef Meetup, Berlin

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

X THE RISKY DEMO Chef Meetup, Berlin

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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