The future belongs to unikernels. Linux will soon no longer be used in Internet facing production systems. by Andrew Stuart
- Stripped down OS running a single application
- Startup time only a few milli-seconds
- Many of the current ones are language specific
- The Unikernel Zoo
- MirageOS – Must be written in OCaml
- Rump – Able to run general purpose software, run compiled posix applications, largely unmodified. Can have threading but not forking
- HalVM – Must be coded in Haskell
- Ling – Erlang
- Drawbridge – Microsoft research project
- OSv – More general purpose
- “Something about Unikernels seems to attract the fans of the ‘less common’ languages”
- plus a bunch more..
- Unikernels and security
- Bunch of people point out problems and alternative solutions the unikernel are trying to solve.
An introduction to monitoring and alerting with timeseries at scale, with Prometheus by Jamie Wilkinson
- prometheus.io
- SRE ultimately responsible for the reliability of google.com , less that 50% of time on ops
- History of monitoring, Nagios doesn’t scale, hard to configure
- Black-box monitoring for alerts
- White-box monitoring for charts
- Borgmon at Google, same tool used my many teams at google
- Borgmon not Open Source, but instead we’ll look at Prometheus
- Several alternatives alternatives
- Borgman
- Alert design
- SLI – a measurment
- SLO – a goal
- SLA – economic incentives
- Philosopy
- Every time you get paged you should react with sense of urgency
- Those that are not important shouldn’t be paged on, perhaps just to console
- Instrumentation
- Client exports a interface usually http , prometheus polls /metrics on this server gets plain page with numbers
- Metrics are numbers not strings
- Don’t need timestamps into data
- Tell prometheus where the targets are in the “scrape_configs”
- All sorts of ways to find targets (DNS, etc)
- Variables all have labels, name, things like localtions
- Rule evaluation
- recording rules
- tasks run built in fuctions like sum up data by label (eg all machines with the same region label), find rate of change etc
- Pretty graphs shown in demo
- https://github.com/jaqx0r/blts
- Questions
- Prometheus exporting daemon/proxy
- Language ability to support things like flapping detection/ignore
- Grafana support for Prometheus exists