StaticInfrastructureStatus withJekyllandGitHubPages Carsten Thiel - - PowerPoint PPT Presentation

staticinfrastructurestatus withjekyllandgithubpages
SMART_READER_LITE
LIVE PREVIEW

StaticInfrastructureStatus withJekyllandGitHubPages Carsten Thiel - - PowerPoint PPT Presentation

StaticInfrastructureStatus withJekyllandGitHubPages Carsten Thiel 731081 DESIR FOSDEM 2018 About me @schildwaechter IT infrastructure at SUB Gttingen DARIAH-DE Research Infrastructure for Digital Humanities ~40 servers with Puppet


slide-1
SLIDE 1

StaticInfrastructureStatus withJekyllandGitHubPages

Carsten Thiel

731081 “DESIR” FOSDEM 2018

slide-2
SLIDE 2

About me

@schildwaechter

IT infrastructure at SUB Göttingen DARIAH-DE Research Infrastructure for Digital Humanities ~40 servers with Puppet

slide-3
SLIDE 3

The Problem

1

▶ Large distributed infrastructure ▶ Lots of difgerent services ▶ Services depend on infrastructure components ▶ They fail (sometimes) ▶ Users want & need to be informed quickly!

slide-4
SLIDE 4

Monitoring

2

▶ Automated checks and notifications ▶ Missing context – is someone working on it?

slide-5
SLIDE 5

Requirements

3

▶ Manually added notifications ▶ Independent from our infrastructure ▶ Easily accessible in case of an emergency ▶ Low maintenance

slide-6
SLIDE 6

GitHub Pages with Jekyll

4

▶ Simple syntax ▶ Completely independent ▶ Availability of credentials not a problem ▶ Static pages are low risk

slide-7
SLIDE 7

All is well …

5

slide-8
SLIDE 8

When disaster strikes …

6

Problem

What is actually afgected by an outage of X?

Jekyll Collections

Infrastructure inventory with dependencies

slide-9
SLIDE 9

When disaster strikes …

6

Problem

What is actually afgected by an outage of X?

Jekyll Collections

Infrastructure inventory with dependencies

slide-10
SLIDE 10

Under the hood

7

▶ Standard GitHub Pages without custom plugins ▶ Infrastructure inventory as Jekyll Collections ▶ Outages and Announcements as Jekyll Data ▶ Dependency resolution with recursive liquid templates

slide-11
SLIDE 11

Beyond git push

8

▶ GitHub Pages builds the pages ▶ That breaks on dependency errors ▶ Travis-CI runs more checks, e.g. is graph up to date? ▶ Data is rendered to yaml for inclusion in static history i.e.

no dynamic dependency resolution

slide-12
SLIDE 12

So when the storage breaks …

9

slide-13
SLIDE 13

And sometimes things happen …

10

slide-14
SLIDE 14

Future work

11

▶ Add full infrastructure ▶ Use an export from (planned) CMDB ▶ Generic solution?

slide-15
SLIDE 15

Thanks!

12

https://dariah-de.github.io/status