Open Source Summit Europe 2017


For three days I enjoyed the Open Source Summit conference in Prague. These are some of the things I learned from attending the presentations and discussing with presenters and fellow attendees.

OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague

Workflow

Focus on workflows, not technology.

because it changes.

Describe how it feels to use the software.

Keystone

Openstack's identify management and service catalogue. Openstack is a Python project.

Python

Python has a constraints file, same as dependency management in Maven. Otherwise, pip will install possibly multiple or wrong versions of transitive dependencies from requirements.txt.

Data dog

Cannot know where you're going if don't measure what you're doing. We all are going to crash sometime, no matter how honest you think your software is.

Containers

Kubernetes

A kubernetes pod is two or more containers that share an IP.

The kernel doesn't define what a container is at all. A container, something that has a pid namespace, needs an init binary. Otherwise there's no way to spawn or reap processes and reassign their children. Pid namespaces are hierarchical.

Rex-ray

Rex-ray container storage.

Fancy files, containers

"People end up just using the same shit everywhere"

Same versions of host and container OSes." Because of breakages in kernel and user land.

Google Reader

We all mourn Google Reader —Novotny

First spontaneous applaus at OSS summit. People are messy.

Bash.

The file command has a magic file in usr share:

/usr/share/misc/magic.mgc

Open API, Swagger

Swagger can generate definition from bare JAX-RS. Has JSON schema as definition format for models.

Server less

Server less is about not caring about servers. For one off, sporadic requests. With java, you should make regular requests to keep the jvm in the lambda container warm.

Lambda

Lambda doesn't have versioning of source code.

Can't access github.com, must upload zip or edit code in online editor.

Chalice

Chalice, easy creation of lambdas. Lets you script uploading lambdas → integrate with your local VC.

Worth a look

OpenWhisk, openfaas

Monitoring

Logs. Good for use known unknowns. New logging platforms like elk and dagadog are only good for known metrics.

Buildroot

Makes new stable release every 3 months.

Licences

spdx, describes licences of source code, possible to automate license compliance. Test cases in python to test if a build image will run at all.

cdla.io, new licences for big data.

Multi licence projects

Fossology. Not even the kernel is 100% one licence. Think of licences like an architectural property. GPL readme, remove "or later". SPDX, tool for automatically check source code.

Internet of Things - IoT

Hacking: Internet of threats. Great presentation. Live hack of toy cars demos.

People

Habits

Form habits with repetition.

Takes 66 days to develop habits → The first two months extremely important for new employees.

Authenticity

No automatic thank you email.

Code of conduct

Assholes don't read code of conduct.

Happiness

It's the intangible world that makes us happy.

Goals

Set several goals, your own. Not only your mentor's. Embrace the fear, laugh at your own mistakes.

Code analysis

perf counts various OS metrics. It found that it's much faster to traverse a bitmap by row instead of by column!

Chromebook

Databases

Semi sync replication. At least one slave gets the write. You don't always want fully synchronous replication.

Alibaba Cloud

Alibaba cloud. SQL injection alarms. Cheap outside of China.

Cloud hosted databases like RDS

Many features are disabled as default. Like thread pools.

Cloud locations

Google cloud SQL has a zone in Taiwan.

DB monitoring

Percona has an open source monitoring tool. Can connect to RDS.

MariaDB instead of RDS

Many people run mariadb in ec2 instead of RDS.

Auto tune database

Ottertune. Auto configure a database.

Cloud

Amazon pricing varies between regions.

File systems

GlusterFS, mounted, but not working. Manually remounting to get data. High CPU. Fuse driver has a limit on the number of small operations. Dependency injection in apps put stress on fs. Negative caching beneficial on anything dynamic.

MooseFS

MooseFS looks very promising. Reliable multi master, meta data and chunk servers, nice gui, flexible replication per directory.

BeeGFS

BeeGFS traded performance over consistency.

OrangeFS

OrangeFS very easy to break, no built-in redundancy, adding more nodes must stop the whole cluster.

NFS

NFS, very important to cache both hits and misses. Important to tune network card kernel settings. As well as IPv4.

Live patching the kernel

Noop markers replaced. Call redirection. cat /proc/cmdline. Per thread migration of new kernel. Lazy migration inside methods whose code never exit for the runtime of the kernel. Atomic replace. Revert preceding, stacked patches.

KeyCloak

Talked to RedHat about KeyCloak and the request for adding SCIM support.

Open source development

Siemens focus on upstream development both for internal and external developers. It's otherwise too hard to maintain the systems, because you in effect have a fork of the software.

Testing

Testing is the only way to catch all bugs. —Linus. (as opposed to reading code ).

Start coding early

If you were ten or eleven when you started programming, you are probably a good programmer. It takes a decade to be good at something. Anything.

Kafka

The streaming platform. Real time hadoop, real time analysis of data.

exit 0


Licensed under CC BY Creative Commons License ~ ✉ torstein.k.johansen @ gmail ~ 🐘 @skybert@emacs.ch ~ 🐦 @torsteinkrause